В общем, не верю я, что книги набирают в TeX. Или сколько-нибудь приличное количество документации/текстовой информации вообще.
Плюсы TeX'а:
— автоматическая "верстка" для печати
— удобный способ вставлять ссылки на главы/разделы/текст/рисунки/таблицы, находящиеся в любом месте документа — номер и страница подставляются автоматически (команды \label, \ref, \pageref)
— удобно разделять большой документ на несколько маленьких поддокументов и сводить их в один с помощью команды \include
— потенциальная возможность изменить все и вся (общий вид документа, текста, страницы и т.п.)
Минусы TeX'а:
— есть два уровня знания TeX'а.
-- Уровень 1. Not So Short Guide to LaTeX, после которого все, что можешь делать, — это
пособия для математики в школе
-- Уровень 2. Гуру TeX'а, который может делать
вот такое, но никогда не признается, как
Между этими двумя уровнями ничего нет. Ты или уровень 1 или сразу умеешь делать что-то вроде:
\makeatletter
\newlength{\numberheight}
\newlength{\barlength}
\makechapterstyle{veelo}{%
\setlength{\beforechapskip}{10pt}
\setlength{\midchapskip}{15pt}
\setlength{\afterchapskip}{10pt}
\renewcommand{\chapnamefont}{\normalfont\LARGE\flushright}
\renewcommand{\chapnumfont}{\normalfont\HUGE}
\renewcommand{\chaptitlefont}{\normalfont\HUGE\bfseries\flushright}
\renewcommand{\printchaptername}{%
\chapnamefont\MakeUppercase{\@chapapp}}
\renewcommand{\chapternamenum}{}
\setlength{\numberheight}{18mm}
\setlength{\barlength}{\paperwidth}
\addtolength{\barlength}{-\textwidth}
\addtolength{\barlength}{-\spinemargin}
\renewcommand{\printchapternum}{%
\makebox[0pt][l]{%
\hspace{.8em}%
\resizebox{!}{\numberheight}{\chapnumfont \thechapter}%
\hspace{.8em}%
\raisebox{25pt}{\resizebox{\barlength}{\numberheight-20pt}{\colorbox{nicered}{}}}}}%
% \rule{\barlength}{\numberheight}}
%}
\makeoddfoot{plain}{}{}{\thepage}
}
\makeatother
Причем по отдельности это все более-менее понятно, а вместе —
Как перейти от первого уровня о второму — тайна сия великая есть
— таблицы — это мрак. Они хуже только таблиц в HTML'е, а я думал, что хуже ни ничего нет. И они еще не умеют автоматом переходить на другую страницу! Вот это страница в два ряда и три колонки:
\begin{tabular}
{| l | l | l | l |}
\hline SNGL & DBL & TRPL & SNGL + 1 CHLD 0-6 \\
\hline 10 & 20 & 30 & 10 \\
\hline
\end{tabular}
мрак
— можно оформить документ так, как ты хочешь. агащазблин. Доступно два с половиной стиля документов (document class), каждый похож на другой в 90% случаев и абсолютно несовместимый ни с одним на оставшиеся 10%. То есть в article нет setchapterstyle, а в memoir есть, а большая часть команд есть и в том и в другом
Для того, чтобы что-то изменить, надо быть гуру второго уровня. Все остальное все равно выливается в пособие по математике. Если сильно постараться, и если тебе повезет, можно нарваться на класс memoir и
примеры изменения стиля параграфов. При определенной сноровке и везении некоторые из тих стилей заработают без ошибок. Пока вы не начали писать на русском
— о, русский язык. Если бы не
TexLive, я бы давно на все плюнул, но в нем есть нужны пакеты. Многоязыковая поддержка? Забудьте. Каждый отдельный язык надо включать/подключать отдельно. Несмотря на UTF-8 и прочие прелести современной цивилизации. Вот эта чудная, удивительно интуитивная команда позволит использовать русский:
\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc} % more recent versions (at least>=2004-17-10)
\usepackage{ucs}
\usepackage[english,russian]{babel}
Использовать, но не везде. Например, из-за babel я не смог использовать один чудный стиль для memoir, потому что там конфликт настроек пакетов.
И в математических формулах русский нельзя использовать, ошибка
И в листинга кода нельзя. А как комментарии писать? Просто:
\lstset{inputencoding=utf8x, extendedchars=\true}
При этом не факт, что заработает. Например, умляуты (как, вы хотите писать по-немецки???) в таком случае будут смещены на один символ влево. А без той команды будут вызывать ошибки
— ссылки на таблицы и рисунки. Если label в таблице/рисунке стоит
до собственно таблицы/рисунка, то \ref будет указывать не на таблицу/рисунок, а на секцию документа, в котором это находится. Чтобы label правильно сработал, обязательно надо ставить label сразу за собственно таблицей/рисунком
— а эти чудесные правила размещения floats! floats — это таблицы и рисунки. Если ты ставишь опцию h (here), и места на странице для рисунка достаточно, то очень вероятно, что рисунок все равно окажется на следующей странице. И если он на той странице будет один, то он будет посередине страницы, даже если у него высота 2 сантиметра и у него стоит опция t (top)
— при разделении на мелкие поддокументы нет никакой возможности просмотреть, как будет (примерно) выгдядеть именно этот поддокумент. Логика понятна (из-за ссылок ссылками в \ref), но не всегда удобно
Вы не поверите, но TeX'ом я сейчас пользуюсь. Довольно удобно писать ТЗ — сразу тебе и сожержание и кросс-ссылки. Но в целом — это, конечно, мрак. Для набора технических текстов на английском языке — самое то. Но не более