LINUX.ORG.RU

LaTeX - компьютерная типография


0

0

По согласованию с редакцией Linux Format выложил "Вёрстка I" или шестую часть из цикла "LaTeX - компьютерная типография" в открытый доступ.

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

В случае проблем, вопросов, замечаний и пожеланий обращаться непосредственно автору, то есть ко мне (e-mail есть в тексте).

>>> Подробности

★★★★★

Проверено: svu ()

К сожалению, средства, которые в TeX'е как раз наличествуют для улучшения качества плотного набора (микротипографика, см. microtype.sty), а также выдержки (для сравнения) из требований к набору (столько-то переносов подряд, межсловный пробел не менее/не более) остались за кадром.

Еще одно. Зверь microtype упорно не скрещивается с XeTeX. А можно ли?

shimon ★★★★★
()

Отличная статья. Про новые стили не знал, спасибо. Пять лет назад корячил свой, чтобы диплом написать.

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

Есть неплохой набор стилей disser. Только там что-то слишком умного с pdfLaTeX'ом автор намудрил, сложно было отключать.

Так сказать, сила OpenSource в действии --- непонравился стиль слегка, вспомнил молодость (лет пять назад, будучи безденежным аспирантом + м.н.с. на пол ставки, деньги версткой в LaTeX зарабатывал) и переточил под себя.

Вот только устал я несколько уже от изобретений многастотыш осемнадцатого велисапеда о шышнадцати многоугольно-звездчатых колесах... блин, неужто нельзя на уровне ВАК'а сделать стиль по LaTeX + шаблон под Word для оформления диссертаций. Точнее, набор стилей и шаблонов, ибо по разным специальностям стили могут слегка отличаться. Столько времени ушло на подгонку макета под ВАК'овские требования:(

P.S. Как оно (стилевой пакет disser) "привязывается" к MikTeX'у (под MS Windows) --- это просто песня! Под тот же самый TeX Live! (которым IMHO и стоит пользоваться) "привязывается" совершенно беспроблемно.

pell
()

2 Evgueni

Большое спасибо. Полезная статья --- много информации, которую зачастую очень долго искать по Гуссенсу, Миттельбаху, Самарину приходится.

P.S. Пример внизу 12-й страницы про печать в два интервала точно правильный? Точно помню, что интерлиньяж в LaTeX и по ГОСТ'ам вычисляется совсем по разному. Грубо говоря, 2-й интервал в зависимости от размера шрифта будет примерно от 1.4 до 1.7 в единицах (могу по памяти неправильно вспомнить, заранее извиняюсь) \baselinestretch. То, что у Вас в конце 12-й страницы в рамочке нарисовано, больше похоже на примерно тройной с половиной интервал.

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

> К сожалению, средства, которые в TeX'е как раз наличествуют для улучшения качества плотного набора (микротипографика, см. microtype.sty), а также выдержки (для сравнения) из требований к набору (столько-то переносов подряд, межсловный пробел не менее/не более) остались за кадром.

Эээ, ну что сказать - век живи, век учись - дураком помрёшь :) Видимо, это придётся описывать в главе Вёрстка II :)

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

P.S. Пример внизу 12-й страницы про печать в два интервала точно правильный? Точно помню, что интерлиньяж в LaTeX и по ГОСТ'ам вычисляется совсем по разному. Грубо говоря, 2-й интервал в зависимости от размера шрифта будет примерно от 1.4 до 1.7 в единицах (могу по памяти неправильно вспомнить, заранее извиняюсь) \baselinestretch. То, что у Вас в конце 12-й страницы в рамочке нарисовано, больше похоже на примерно тройной с половиной интервал.

Да, похоже тройной с половиной - надо будет поразбираться

Скорее всего Вы абсолютно правы - образовываться мне надо в смысле ГОСТов :(

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

Да, по поводу \baselinestretch - в l2tabuen.pdf сказано, чтобы ни в коем случае не трогали его - там рекомендуется пакет setspace.

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

> Про новые стили не знал, спасибо. Пять лет назад корячил свой, чтобы диплом написать.

Обзор классов будет в следующей статья :) По поводу диплома - disser уже упоминали. Если не разбираться особо, то вполне пойдёт.

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

> неужто нельзя на уровне ВАК'а сделать стиль по LaTeX

Единственный способ - это заслать туда своего человека :) У них совсем другие проблемы и ценности.

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

> Еще одно. Зверь microtype упорно не скрещивается с XeTeX. А можно ли?

Цикл статей закончился - до XeTeX так и не добрался :( Придётся новую серию начинать :)

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

> Чтоб наш ВАК, да сделал что-то разумное и доброе? Не те это люди, ох не те...

Может быть и так. Более того, так и должно быть. Инициатива, спускаемая сверху... дальше продолжать?:D Спасибо, что обратили внимание на не очень разумные мысли.

Иницитива, по-хорошему, должна снизу идти. Сделал же AFAIR украинец (поправьте меня, если я неправ, под рукой нет ничего, окромя почти голого ноутбука) стилевой пакет. Так никто не мешает в диссертационных советах на местах слегка (если необходимо) его допилить и рекомендовать соискателям. IMHO --- вполне хорошая идея, если под нее суметь выбить финансирование (хотя бы символическое, как оно и принято в наших деревнях).

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

Я вот юзаю команду xelatex.

Скрещивается, там пару слов в преамбулу сказать надо, ну и исходник в юникоде, само собой, быть должен.

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

Большая просьба, если найдете чего-нибудь, то как-нибудь просигнализируете? Я не слишком много прошу, надеюсь?

Я как-то дня два убил на Google и иже с ними, пытаясь найти формулу, по которой я могу вычислить межстрочный интервал, имея только метрики шрифта + требование "печать в X.Y интервал". Не получилось:( Видимо, неправльно искал (и, как водится, чтобы искать правильно, необходимо знать правильный ответ... как меня поддостала уже эта Google'овская идея про то, что информацию надо искать и иже с ними).

Когда работал верстальщиком во время оно, мне просто все размеры (спуки полос, интервалы и т.д. и т.п.) технический редактор просто выдавал готовые. Самый аллес капут --- размер полосы, в нашей типографской традиции размер полосы считается в, условно говоря, французких дюймах, кегль --- в английских дюймах, поля и спуски --- в миллиметрах. Крышу срывает напрочь:(

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

> Я вот юзаю команду xelatex. Скрещивается, там пару слов в преамбулу сказать надо, ну и исходник в юникоде, само собой, быть должен.

А unicode что-нибудь упрощает? Гемороя при переходе много было?

Спрашиваю не для прикола, а в целях проверки температуры прежде чем попробовать окунуться :)

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

> Большая просьба, если найдете чего-нибудь, то как-нибудь просигнализируете? Я не слишком много прошу, надеюсь?

:) боюсь только Вы раньше меня найдёте. Ну и контакты нужны, соответственно.

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

Кстати, а про "технического редактора" --- это идея! Раз Internet не помогает, нужно идти к живому человеку.

У Вас в институте же должны какие-нибудь труды института и/или другие сборники и/или журналы издаваться. А ну как сходить до живого тех. редактора и спросить? Попробую, ежели такая возможность представится, здесь то же учудить (хотя, честно говоря, у меня прямых выходов ни на какие издательства сейчас нет, ибо ушел из науки в коммерцию...)

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

> блин, неужто нельзя на уровне ВАК'а сделать стиль по LaTeX

Думаю, вряд ли это в ближайшее время сделают. Слишком уж много у нас вордофилов и мало ТеХников...

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

> Я вот юзаю команду xelatex.
> Скрещивается, там пару слов в преамбулу сказать надо, ну и исходник в юникоде, само собой, быть должен.

Что за пара слов?
Насколько я помню (давненько ковырял xetex), проблемы возникали с латеховскими командами с русскими параметрами, например \section{что-то}. Исходник в utf-8.

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

> У Вас в институте же должны какие-нибудь труды института и/или другие сборники и/или журналы издаваться. А ну как сходить до живого тех. редактора и спросить?

Кстати да. Есть у нас одна дама, которая этим занимается (надо будет поприставать) - как-то пересекался, но боюсь никакими ГОСТами в наших препринтах и не пахнет - мы сами себе стандарт :)

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

> Слишком уж много у нас вордофилов и мало ТеХников...

Ну, математики, вроде, в основном таки TeXники, ну и если хочется выложить на xxx.lanl.gov, то по неволе сам TeXником станешь :)

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

Для меня лично юникод упрощает все, потому что локаль у меня юникодная. А учитывая то, что подчас тексты на нескольких европейских вперемежку с кириллицей языках -- и подавно.

Релевантный кусок преамбулы:

\usepackage{fontspec,xltxtra,xunicode,color,graphicx}
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}

\usepackage[ukrainian]{babel} % или какой там для переносов нужен основной

\setromanfont{Century Schoolbook L}
\setsansfont{Arial}
\setmonofont{Lucida Console}

В XeTeX manual есть много еще всякого, но я "ниасилил", когда накропать документ шибко надо было.

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

То есть.

inputenc.sty вообще юзать не надо, равно как и ucs.sty.

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

> а посмотрите в eskdx - там должны быть правильные межстрочные расстояния

O'k - воспринял.

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

> А можно ли?

microtype.sty -- это LaTeX-обертка над микротипографскими расширениями, которые присутствуют только в pdfTeX (\pdfprotrudechars, \rpcode, \lpcode ...), а т.к. XeTeX -- это другой движок, то и прикрутить нельзя.

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

Мне казалось, оно в другом, возможно, виде, присутствует в XeTeX. Надо будет автора попинать, ежели чего. Или пусть сделает возможность расстояние между буквами делать в виде клея (с plus и minus компонентами), а то именно этого TeX'у не хватает для получения фактически идеально набранных полос.

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

Я где-то читал объяснение Кнута, почему это жуткий сакс. Хотя для узких полос это IMHO неизбежное зло.

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

Hi! Некто Лэсли Лэмпорт говорил, что не возражает, если LaTeX кто-нибудь будет произносить как [латэкс]. Я лично произношу как [латэК].

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

Это потому, что Кнут знает русский, а ты нет

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

> Некто Лэсли Лэмпорт говорил, что не возражает, если LaTeX кто-нибудь будет произносить как [латэкс]. Я лично произношу как [латэК].

Может он таки говорил про [лайтех]

Из TeX FAQ http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexpronounce

Lamport never recommended how one should pronounce LaTeX, but a lot of people pronounce it ‘Lay TeX’ or perhaps ‘Lah TeX’ (with TeX pronounced as the program itself; see the rules for TeX). It is definitely not to be pronounced in the same way as the rubber-tree gum.

Обращаем внимание на последнее предложение.

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

> К сожалению, средства, которые в TeX'е как раз наличествуют для улучшения качества плотного набора (микротипографика, см. microtype.sty)

А, что в microtype.sty T2A добавили?

Loh ★★
()

Вопрос не совсем по статье, но к спецу по LaTeX ;) Есть задача, при формировании таблицы с точно указанными высотой строк и шириной колонок (к примеру Спецификации ЕСКД, ЕСПД), если текст в ячейке не влезает в ячейку, то "переносить" часть текста в соседнюю ячейку (по-вертикали или горизонтали). Насколько в LaTeX такое можно сделать? 10х заранее ЗЫ. в инете ответа не нашел.

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

> А, что в microtype.sty T2A добавили?

сто лет как, и utf8 как inputenc, и protrusion прямо для юникодных символов можно задавать

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

А что значит переносить? В смысле: 

+----------------+
|текст начался   |
|----------------|
|текст закончился|
+----------------+

То есть между строками в абзаце должны быть разделительные линии?

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

Да хотел добавить, что с такой задачей я не встречался. Я не TeXсперт - я пользователь :) TeXспертов можно иногда найти в списке рассылки CyrTeX-ru на vsu.ru

Или в англоязычной ньюз группе comp.text.tex

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

Иначе говоря, написал ли кто-нибудь ли protrusion для кириллики?

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

>+----------------+ >|текст начался | >|----------------| >|текст закончился| >+----------------+ > >То есть между строками в абзаце должны быть разделительные линии?

именно так. Если текст не помещается в ячейке, то переносить часть в следующую и далее рекурсивно :)

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

> именно так. Если текст не помещается в ячейке, то переносить часть в следующую и далее рекурсивно :)

Первое, что приходит в голову, это наложение линовки поверх текста.

Самое простое - печать на уже готовой прографке.

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