Первые копии |
Пара слов о технической стороне. В процессе подготовки макета я здорово освежил мои знания LaTeX. В дистрибутиве TeX Live есть три TeX-процессора: pdfTeX, LuaTeX, XeTeX, которые совместимы с латехом, и загадочная штука под названием ConTeXt (пакет TeX-макросов вроде LaTeX, ориентированный на типографику). Опробовав эти варианты, я решил остановиться на XeLaTeX, о чём и не пожалел. Во-первых, исходник набирается в UTF-8, что позволяет напрямую загружать «чистый» ввод с правильными кавычками, тире и многоточиями. Очень удобно, если текст необходимо править на лету и/или повторно использовать после. Во-вторых, XeTeX работает с truetype/opentype-шрифтами. Наконец, так любимая Кибероном висячая пунктуация (ради которой я и связался с латехом) поддерживается и в XeTeX.
Прозу и поэзию с одной стороны проще верстать, чем, скажем, научную литературу. С другой стороны есть и свои приколы. К примеру, неудачные переносы окончаний в конце строк с прямой речью способны сильно испортить общий вид страницы. Работа осложняется ещё больше, если следовать стандартам отечественной типографики (приводка, запрет висячих строк и т. д.), но к счастью нерешаемых проблем тут нет. Верстать в латехе очень просто, однако есть несколько моментов, которые я предпочёл бы знать прежде, чем начинать:
- TeX Live лучше ставить не из дистрибутивных пакетов, а родным инсталлером. Скачивать придётся много и долго, но установку можно в любой момент прервать и продолжить, когда захочется. Поддерживается установка в режиме portable.
- Класс memoir — мощный и гибкий стилевой пакет с длинным руководством, которое я очень рекомендую к прочтению.
- Нужно иметь ввиду, что при высоких \clubpenalty и \widowpenalty в сочетании с \flushbottom, латех будет растягивать межабзацный отступ (\parskip), что устраняет висячие строки, но нарушает совмещение строк на просвет. Установка \parskip в нерастяжимое значение приводит к большому количеству пустых строк внизу страниц и миллиону ошибок в логе. Впрочем, если не лениться, их можно вручную поправить вгонкой и выгонкой строк на предшествующей полосе.
- Вгонка и выгонка строк в LaTeX (XeLaTeX) легко делается (бажной) командой \addfontfeatures из пакета fontspec. Например: \addfontfeatures{WordSpace={0.95,1,1}}. Сбрасывать WordSpace после проблемного участка текста приходится вручную, группировка фрагмента в фигурные скобки не срабатывает. Вообще, для хранения этих параметров очень пригодился бы внутренний стек.
- Длинные тире в XeTeX по умолчанию переносятся в начало следующей строки и вообще ведут себя нечестно. Для нормальной их расстановки можно воспользоваться параметром babelshorthands при загрузке polyglossia, но результат не особенно радует — в документе на выходе длинные тире заменяются двумя короткими с небольшим наложением, которые копируются в буфер как «--». Более правильным решением мне кажется определение тире как активного символа или окружение его в исходнике двумя активными символами с присвоенными командами \allowbreak (\nobreak) и \thinspace.
- Висячие предлоги (а также стоящее в начале предложений «Я» и т. п.) перестают быть висячими, если вставить после них неразрывный пробел (~) при помощи простейшего регулярного выражения.
- Регулярные выражения — совершенно незаменимый инструмент на любой стадии обработки текста.
отлично прекрасно, а также ништяк
ОтветитьУдалитьспасибо! :)
ОтветитьУдалитьТема до боли знакомая - верстаю книжку по синфигу в pdf. Только проблема в том,что она в латех генерится из mediawiki. ^_^ Процессор использую pdfTeX, надо бы попробовать Xetex, уж больно меня шрифты смущают...
ОтветитьУдалитьВ будущем я планирую-таки попробовать ConTeXt, поскольку латех, к сожалению, не слишком умён чтобы "забыть о типографике" навсегда, а что касается движка - то XeTeX стопудово вне конкуренции.
ОтветитьУдалить@artfwo скачал, начал Серость читать. Интересно.
ОтветитьУдалитьXeTex можно его использовать в таком софте как Lyx? http://www.lyx.org/
Судя по тому, что пишут в вики LyX - можно. Сам никогда не пробовал. Мне кажется, LyX здесь только помешает.
Удалить