LINUX.ORG.RU

Как сделать приложения на latex с кириллической нумерацией по центру?

 


2

4

Требуется сделать в latex-документе приложения такого вида: https://i.stack.imgur.com/2tLJA.png

Буксую уже на стадии кириллической нумерации:

\makeatletter
\renewcommand\appendix{\par
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \gdef\thesection{\@Asbuk\c@section}}
\makeatother
не даёт никакого результата и постоянно выводит pdfTeX warning (ext4): destination with the same identifier (name{section.1}) has been already used, duplicate ignored. Использование вместо \@Asbuk других наборов символов работает (правда, формируются неправильные ссылки).

Может, есть какие-то готовые рецепты? Если нет, то подскажите мне, пожалуйста, что нужно сделать.



Последнее исправление: byulent (всего исправлений: 1)

А оно разве не автоматом после подгрузки русского в babel и стиля misccorr (есть во всех современных дистрибутивах не старше 10+ лет заведомо из коробки) появляется?

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от anonymous

По причине, указанной выше: chapter'ов в используемом мной классе просто нет.

byulent
() автор топика
Ответ на: комментарий от byulent

Не привильно сказал. Не стиль, а пакет misccorr, конечно. Его в случае русскоязычных текстов нужно загружать обязательно, как и indentfirst.

P.S. И да, стили типа article и тому подобное, лучше не использовать. Я рекомендую стили из набора KOMA-script Приложение — это chapter, соответственно нужен стиль scrbook.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

Подключил я этот ваш misccorr. Получил Missing number, treated as zero.

Мне как бы chapter'ы не нужны вообще, поэтому я и использовал extarticle. Мне кажется, если я поставлю другой стиль, то поломаю вообще всё в документе. Нет никаких вариантов сделать это с текущим стилем?

byulent
() автор топика
Ответ на: комментарий от Evgueni

Его в случае русскоязычных текстов нужно загружать обязательно, как и indentfirst.

Что за чушь? indentfirst тоже по-уродски смотрится, когда заголовок отбит влево, а абзац с красной строки начинается!

стили типа article и тому подобное, лучше не использовать

опять чушь.

anonymous
()
Ответ на: комментарий от byulent

Он в той же мере мой, как и ваш. А по поводу «Missing number, treated as zero» у меня большие сомнения, что причиной этого является misccorr, если вы в потроха как-то хитро не лазили (лично я ничего подобного за этим пакетом не замечал). Лично я всегда избегаю кодить на TeX и использую готовые решения. Угадать что вам нужно без полного кода весьма сложно и не особо интересно.

Если очень хочется приключений, то посмотрите как это сделано в том же misccorr — я не зря ссылку дал. Но лучше использовать подходящий стиль и следовать общепринятым правилам, что приложение имеет уровень chapter.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от anonymous

indentfirst тоже по-уродски смотрится

Это правила русской типографики. Так уж повелось.

опять чушь

article имеет массу костылей и подпорок, которые не меняются вот уже 20+ лет, так как он используется в качестве основы для некоторых других классов. Безусловно можно пользоваться и им, но для удобства лучше отказаться от него в пользу более современных и подходящих классов.

Evgueni ★★★★★
()
Ответ на: комментарий от anonymous

Можно и так, но если цель результат при минимуме затрат, то лучше использовать чужие велосипеды, нежели изобретать ещё один свой, хоть и с прикольными овальными колёсами.

P.S. Я не в коем случае не отговариваю от кодирования, просто не всем это интересно.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от anonymous

Если что, вот как можно переопределять:

\def\@makechapterhead#1{%
    {\normalfont
\bfseries\begin{center}\lowercase{\@chapapp}\space
    \thechapter\end{center}\par\nobreak
   \begin{center}\lowercase{#1}\end{center}\par\nobreak\vskip 10\p@}}

anonymous
()
Ответ на: комментарий от Evgueni

Ну, в моем случае было перепробовано несколько пакетов, предназначенных для параллельной верстки на двух языках. Ни один не подошел (везде какие-то баги были), потому пришлось велосипедить.

article имеет массу костылей и подпорок

Дык, не сам article, а extarticle — чтобы 13-14 шрифт можно было.

anonymous
()
Ответ на: комментарий от anonymous

Я не спорю, что по всякому бывает. В моей практике кодить мне приходилось крайне мало, так как почти всегда находилось подходящее решение. Я сторонник использования книг-рецептов, хотя я понимаю, что для этого должна быть обширная кодовая база, что в случае LaTeX это уже приключилось для 98% задач.

P.S. И да, по-моему есть несколько пакетов, которые специально предназначены для параллельной вёрстки, например, пакеты parallel, paracol или parcolumns из пакета sauerj.

Evgueni ★★★★★
()
Ответ на: комментарий от anonymous

Кроме размера есть ещё некоторое количество удобств (и прекрасная документация!), которые есть в том же scrartcl, но нет в extarticle.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

parallel, paracol

Эти и еще какой-то использовал. Не взлетело. У меня несколько сот кусочков, которые надо верстать параллельно. Сначала думал при помощи latex3e точки синхронизации расставить, но на большом объеме текста и он запнулся. Пришлось каждый кусочек пихать в отдельный файл и подгружать своей обвязкой.

есть ещё некоторое количество удобств

Мне проще самому нужное набросать, чем ковыряться в документации. Крупные пакеты использую лишь если это целесообразно (т.е. самому будет дольше делать и/или не так хорошо).

anonymous
()
Ответ на: комментарий от anonymous

К чему это я: Эдик консолидируй свои наработки и _выложи_ их на CTAN, а я их опишу в своём сборнике рецептов. И тебе будет проще со своим пакетом возиться и мир станет лучше :) Вон бери пример с Роженко.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 3)
Ответ на: комментарий от Evgueni

консолидируй свои наработки

Они у меня в вечно развивающемся виде. Проще уж на гитхаб выложить...

Хотя, скажем, пакет для «электронных таблиц» и внутритекстовых вычислений вполне работает...

anonymous
()
Ответ на: комментарий от anonymous

Одно другому не мешает. Выкладывание на CTAN необходимо, чтобы попасть в срез TeX Live. Вопрос 10 минут — заполнить форму. Другое дело, чтобы пустить что-то в дело, нужно правильно пакет оформить и по идее хорошая документация крайне приветствуется: https://www.ctan.org/help/upload-pkg

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

Можно оформлять не задача — отдельный пакет, а просто набор рецептов своего имени (например, пакет oberdiek), только описать каждый из стилей и классов нужно.

Evgueni ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.