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

Наверное, самое простое -- воспользоваться одним из многочисленных print-on-demand сервисов в интернете. Я опробовал lulu.com. Сервис определяет доступные размеры книги и тип обложки.

Зная размер страницы, принимаемся за работу. Нужно изготовить PDF с внутренностями книги.

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

Запишу на память, как я его подкрутил под свои нужды.
\documentclass[pdftex,11pt,letterpaper,openany]{book} % размер страницы неважен, мы его переопределяем в следующей строчке
\usepackage[
  papersize={6.25in,9.25in},
  twoside,
  body={4in,7.5in},
  innermargin=1.325in,
  footskip=0.4in % расстояние от текста до нижнего колонтитула
]{geometry}
\usepackage{type1ec} % очень важно -- хорошие киллирический шрифты
\usepackage[utf8]{inputenc}
\usepackage[english,german,russian]{babel} % перечислить все используемые языки, "главный" должен быть последним
\usepackage{fancyhdr}
\usepackage{indentfirst} % В русской типографике первый абзац всегда отбивается отступом
\usepackage{needspace}
\usepackage{graphicx} % Если нужно вставлять картинки
\usepackage{tocloft} % Если нужно кастомизировать содержание
\usepackage{wallpaper} % Для фоновых картинок
\usepackage{ifthen}
\usepackage[shortcuts]{extdash}
\usepackage[11pt]{moresize}
\usepackage[overlay]{textpos} % Если нужно позиционировать текст в абсолютных/относительных координатах
\usepackage{lettrine} % Буквицы

\widowpenalty=1000 % Эти числа приходится подбирать экспериментально
\clubpenalty=1000
%\raggedbottom
\setcounter{secnumdepth}{-2} % Подавить автоматическую нумерацию глав и разделов

С русским тире всегда больше возни, чем с английским. Как минимум, оно должно быть широким (m-dash), отбиваться пробелами с обеих сторон, и первый из них должен быть неразрывным: "~--- ". На этом минимальном варианте я в результате и остановился. Ещё один вариант -- воспользоваться пакетом extdash, может быть даже с опцией cyremdash (тогда тире набирается как "\---", и пробелы не нужны). Поскольку я никак не мог принять окончательного решения, то заменил тире по всей книге на саморучно определённую команду, которую время от времени переопределял и смотрел, что получится.

Кавычки в русской типографике угловые: «вот так» (или, по-ТеХовски, <<вот так>>). Диапазоны лет по традиционным правилам задают тире без пробелов: 1917---1991, или, по новомодным веяниям, коротким тире: 1917--1991. По правилам, на строчки их разбивать нельзя: \mbox{1917--1991}

Многоточие -- естественно, \ldots, надо только иметь в виду, что эта команда съедает последующий пробел, и его нужно задать в явном виде: "а\ldots\ a\ldots".

Если нужно задать правила переноса какого-то конкретного русского слова по всему тексту, то это делается следующим (магическим, на мой непосвещённый взгляд) образом:
\begingroup
\lccode `\==`\-
\hyphenation{Бос-тон}
\endgroup

Если предложение начинается со слова, состоящего из одной буквы (А, О, В, С, У, Я), она не должна оставаться на строке в одиночку. Как это сделать автоматически, я не знаю, так что просто заменил по всему тексту "A " на "A~" и так далее.

Если нужно переопределить слово "Оглавление" в заголовке оглавления, то это делается так: \renewcommand{\contentsname}{Содержание}. Если нужно переопределить стиль этого заголовка, то тогда так:
  \makeatletter
  \renewcommand{\tableofcontents}{\chapter*{\contentsname}\@starttoc{toc}}
  \makeatother

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

Я для начала окружаю его фигурными скобками и разрешаю висячие строки без ограничений (\widowpenalty=0\clubpenalty=0) -- они всяко лучше, чем пустые страницы. Если этого не достаточно, то можно либо увеличить размер страницы (\enlargethispage{.7\baselineskip}), либо чуть-чуть сократить интервал между строками (\renewcommand{\baselinestretch}{0.97}).

Все вышеперечисленные пакеты входят в поставку ЛаТеХа в современных линуксах. (Туда ещё много чего ценного входит, вплоть до эльфийских шрифтов). А для редактироваания исходников меня вполне устраивает емакс. Приятная фича -- он делает spell check с умом, только для собственно текста, игнорируя ТеХовскую разметку.

* * *

Если в книге есть картинки, которые должны доходить строго до края страницы (full bleed), надо сделать страницу несколько больше номинального объёма, что при её обрезании гарантированно не осталось белых полос. Конкретно в Лулу надо увеличить ширину и высоту страницы на одну восьмую дюйма.

Теперь осталась обложка. Обложка состоит из первой и последней страницы и корешка, и их можно верстать-закачивать одним файлом. Это оказалось надёжнее делать в гимпе, чем в ТеХе (все шрифтовые элементы я, естественно, сгенерировал в ТехЕ, а потом через pdf перегнал в гимп).

Вот, вроде бы, и всё.
Tags:
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

June 2025

S M T W T F S
123456 7
891011121314
15161718192021
22232425262728
2930     

Expand Cut Tags

No cut tags

Style Credit