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

Наверное, самое простое -- воспользоваться одним из многочисленных 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:

December 2025

S M T W T F S
 12345 6
7 8910111213
14151617181920
21222324252627
28293031   

Expand Cut Tags

No cut tags

Style Credit