|
@@ -0,0 +1,479 @@
|
|
|
|
|
+# Правила и рекомендации
|
|
|
|
|
+
|
|
|
|
|
+### Содержание
|
|
|
|
|
+================================================================================
|
|
|
|
|
+[1. Общие положения и соображения](#1-общие-положения-и-соображения)
|
|
|
|
|
+[2. Создание репозитория и оригинал издания]
|
|
|
|
|
+(#2-создание-репозитория-и-оригинал-издания)
|
|
|
|
|
+ [2.1. Именование репозитория](#21-именование-репозитория)
|
|
|
|
|
+ [2.2. Описание репозитория](#22-описание-репозитория)
|
|
|
|
|
+ [2.3. Файловая структура репозитория]
|
|
|
|
|
+(#23-файловая-структура-репозитория)
|
|
|
|
|
+ [2.3.1. Файл README.md](#231-файл-readmemd)
|
|
|
|
|
+ [2.3.2. Основной файл проекта](#232-основной-файл-проекта)
|
|
|
|
|
+ [2.3.3. Файл definitions.tex](#233-файл-definitionstex)
|
|
|
|
|
+ [2.3.4. Сценарий сборки](#234-сценарий-сборки)
|
|
|
|
|
+[3. Перенабор издания](#3-перенабор-издания)
|
|
|
|
|
+ [3.1. Набор текста](#31-набор-текста)
|
|
|
|
|
+ [3.2. Структура](#32-структура)
|
|
|
|
|
+ [3.3. Набор таблиц](#33-набор-таблиц)
|
|
|
|
|
+ [3.4. Набор формул](#34-набор-формул)
|
|
|
|
|
+ [3.5. Включение иллюстраций](#35-включение-иллюстраций)
|
|
|
|
|
+ [3.6. Ссылки](#36-ссылки)
|
|
|
|
|
+ [3.7. Предметный указатель](#37-предметный-указатель)
|
|
|
|
|
+ [3.8. Технические страницы](#38-технические-страницы)
|
|
|
|
|
+[4. Рекомендации](#4-рекомендации)
|
|
|
|
|
+ [4.1. Принцип DRY и метод переиспользования кода]
|
|
|
|
|
+(#41-принцип-dry-и-метод-переиспользования-кода)
|
|
|
|
|
+ [4.2. Предметный указатель](#42-предметный-указатель)
|
|
|
|
|
+ [4.3. Программа для редактирования исходного кода TeX]
|
|
|
|
|
+(#43-программа-для-редактирования-исходного-кода-tex)
|
|
|
|
|
+ [4.4. Программа для отрисовки векторных изображений]
|
|
|
|
|
+(#44-программа-для-отрисовки-векторных-изображений)
|
|
|
|
|
+ [4.5. Программа для измерения иллюстраций и элементов оформления]
|
|
|
|
|
+(#45-программа-для-измерения-иллюстраций-и-элементов-оформления)
|
|
|
|
|
+
|
|
|
|
|
+================================================================================
|
|
|
|
|
+
|
|
|
|
|
+### 1. Общие положения и соображения
|
|
|
|
|
+
|
|
|
|
|
+Перенабор книг производится исходя из принципа *разделения представления и
|
|
|
|
|
+содержания*, но при этом необходимо сохранить фрагменты оформления
|
|
|
|
|
+оригинального издания, влияющие на смысл.
|
|
|
|
|
+
|
|
|
|
|
+Предполагается, что перенаборщик как минимум прочитал книгу, которую
|
|
|
|
|
+перенабирает, а лучше не только прочитал, но и понял её содержание. Это
|
|
|
|
|
+позволяет, во-первых, находить опечатки и ошибки в тексте оригинального
|
|
|
|
|
+издания; во-вторых, сохранять форматирование и оформление несущее смысловую
|
|
|
|
|
+нагрузку в оригинальном издании, так как не все издания изначально
|
|
|
|
|
+придерживались принципа *разделения представления и содержания*.
|
|
|
|
|
+
|
|
|
|
|
+Предполагается, что перенаборщик знаком с системы типографской верстки
|
|
|
|
|
+[TeX/LaTeX](https://tug.org/) как минимум настолько, чтобы набрать документ,
|
|
|
|
|
+содержащий текст, таблицы, иллюстрации.
|
|
|
|
|
+
|
|
|
|
|
+Толкование правил в спорных ситуациях исключительная прерогатива администрации
|
|
|
|
|
+ресурса.
|
|
|
|
|
+
|
|
|
|
|
+### 2. Создание репозитория и оригинал издания
|
|
|
|
|
+
|
|
|
|
|
+Только привилегированные пользователи могут создавать репозитории, поэтому для
|
|
|
|
|
+создания репозитория отправьте письмо по адресу электронной почты
|
|
|
|
|
+[create@retype.r4in.tk](mailto:create@retype.r4in.tk) с темой письма
|
|
|
|
|
+`[create repository]`, в теле письма в первой строке укажите ed2k- или
|
|
|
|
|
+torrent-ссылку на оригинальное издание, во второй строке укажите ваше имя
|
|
|
|
|
+пользователя. Будет создан соответствующий репозиторий, к которому вам будет
|
|
|
|
|
+предоставлен доступ. **В перенаборе отдельных публикаций в рамках данного
|
|
|
|
|
+проекта может быть отказано.**
|
|
|
|
|
+
|
|
|
|
|
+Оригинальное издание должно находиться в открытом доступе в пиринговых сетях,
|
|
|
|
|
+если его там нет, опубликуйте его в torrent или ed2k сети. Если оригинальное
|
|
|
|
|
+издание в нескольких файлах, то файлы объединяются в один ZIP-архив. Если
|
|
|
|
|
+оригинального издания нет в открытом доступе, но печатное издание находится в
|
|
|
|
|
+вашем владении, то отсканируйте его, включая обложку, форзацы, и все страницы,
|
|
|
|
|
+в том числе страницы с технической информацией об издании.
|
|
|
|
|
+
|
|
|
|
|
+Если вы не можете обеспечить доступность оригинального издания в пиринговых
|
|
|
|
|
+сетях, отправьте файл с оригинальным изданием или ссылку на него по адресу
|
|
|
|
|
+электронной почты [orig@retype.r4in.tk](mailto:orig@retype.r4in.tk) с темой
|
|
|
|
|
+письма `[original publishing]`, если оригинальное издание ещё не использовалось
|
|
|
|
|
+для перенабора, то вам будут высланы ссылки ed2k и magnet на оригинальное
|
|
|
|
|
+издание, а также издание будет добавлено в список изданий запланированных к
|
|
|
|
|
+перенабору.
|
|
|
|
|
+
|
|
|
|
|
+#### 2.1. Именование репозитория
|
|
|
|
|
+
|
|
|
|
|
+Репозитории именуются как
|
|
|
|
|
+
|
|
|
|
|
+<code>
|
|
|
|
|
+rt-g0_<i>hhhhhhhh</i>-<i>краткое_наименование_книги</i>-<i>язык</i>
|
|
|
|
|
+</code>
|
|
|
|
|
+
|
|
|
|
|
+где
|
|
|
|
|
+* *hhhhhhhh* - последние 4 байта хэша SHA3-256 от файла оригинального издания
|
|
|
|
|
+в шестнадцатеричном представлении. Буквы набраны строчными. Если оригинальное
|
|
|
|
|
+издание в нескольких файлах, то все файлы объединяются в один ZIP-архив.
|
|
|
|
|
+Получить хэш SHA3-256 от файла оригинального издания можно командой
|
|
|
|
|
+
|
|
|
|
|
+ `rhash --sha3-256 имя_файла_оригинального_издания`
|
|
|
|
|
+
|
|
|
|
|
+* *краткое_наименование_книги* - набирается строго латинницей и представляет
|
|
|
|
|
+короткую последовательность, позволяющую идентифицировать книгу. Все пробелы
|
|
|
|
|
+заменяются знаками подчёркивания "`_`". Набор русских слов осуществляется в
|
|
|
|
|
+соответствии с правилами транслитерации любым, но только одним вариантом.
|
|
|
|
|
+
|
|
|
|
|
+```plaintext
|
|
|
|
|
+Правила транслитерации (прочерк - буква опускается):
|
|
|
|
|
+|русская буква: |а|б|в|г|д|е |ё |ж |з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х |ц |ч |ш |щ |ъ|ы|ь|э|ю |я |
|
|
|
|
|
+|английский вариант:|a|b|v|g|d|e |yo|zh |z|i|y|k|l|m|n|o|p|r|s|t|u|f|h |ts|ch |sh |shch |-|y|-|e|yu|ya|
|
|
|
|
|
+|немецкий вариант: |a|b|w|g|d|je|jo|sch|s|i|j|k|l|m|n|o|p|r|s|t|u|f|ch|z |tsch|sch|schtsch|-|y|-|e|ju|ja|
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+* *язык* - основной язык книги на английском (russian - русский).
|
|
|
|
|
+
|
|
|
|
|
+#### 2.2. Описание репозитория
|
|
|
|
|
+Описание репозиториев набирается по шаблону:
|
|
|
|
|
+
|
|
|
|
|
+```plaintext
|
|
|
|
|
+Фамилия И. О., Фамилия И. О. [автор(ы)]
|
|
|
|
|
+--
|
|
|
|
|
+"Название книги" [в двойных кавычках]
|
|
|
|
|
+Дополнительные сведения об издании, номер редакции [если есть]
|
|
|
|
|
+--
|
|
|
|
|
+[если книга переведена, то указываются переводчики в следующем виде]
|
|
|
|
|
+перевод с языка [наименование языка] Фамилия И. О., Фамилия И. О.
|
|
|
|
|
+[если важна редактура, то указываются научные редакторы в следующем виде]
|
|
|
|
|
+под редакцией Фамилия И. О., Фамилия И. О.
|
|
|
|
|
+--
|
|
|
|
|
+nnnn год [nnnn - год издания]
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+Пояснения в квадратных скобках не набираются.
|
|
|
|
|
+
|
|
|
|
|
+#### 2.3. Файловая структура репозитория
|
|
|
|
|
+##### 2.3.1. Файл README.md
|
|
|
|
|
+
|
|
|
|
|
+Файл `README.md` набирается по шаблону:
|
|
|
|
|
+```Markdown
|
|
|
|
|
+*Фамилия И. О.* [первый автор]
|
|
|
|
|
+
|
|
|
|
|
+*Фамилия И. О.* [второй автор, и далее указываются все авторы]
|
|
|
|
|
+
|
|
|
|
|
+**Название книги**
|
|
|
|
|
+
|
|
|
|
|
+Дополнительные сведения об издании, номер редакции [если есть]
|
|
|
|
|
+
|
|
|
|
|
+[если книга является переводом,
|
|
|
|
|
+ указать с какого языка и Фамилии И. О. переводчиков,
|
|
|
|
|
+ в ином случае следующая строка не набирается]
|
|
|
|
|
+*перевод с наименование языка Фамилия И. О., Фамилия И. О.*
|
|
|
|
|
+
|
|
|
|
|
+[если важна редактура,
|
|
|
|
|
+ то указываются Фамилии И. О. научных редакторов,
|
|
|
|
|
+ в ином случае следующая строка не набирается]
|
|
|
|
|
+*под редакцией Фамилия И. О., Фамилия И. О.*
|
|
|
|
|
+
|
|
|
|
|
+nnnn год [nnnn - год оригинального издания, указать все 4 цифры]
|
|
|
|
|
+
|
|
|
|
|
+#### Оригинал
|
|
|
|
|
+
|
|
|
|
|
+<a href="magnet:?dn=имя_файла_с_оригиналом_издания&xt=urn:ed2k:хэш_ed2k_данного_файла&xt=urn:ed2khash:хэш_ed2k_данного_файла&xl=размер_данного_файла_в_байтах">ed2k</a>
|
|
|
|
|
+
|
|
|
|
|
+<a href="magnet:?xt=urn:btih:torrent_хэш_файла_с_оригиналом_издания">torrent</a>
|
|
|
|
|
+
|
|
|
|
|
+#### Замечания по сборке
|
|
|
|
|
+
|
|
|
|
|
+1. Сборка осуществляется скриптом `build_script`, который использует
|
|
|
|
|
+`xelatex`. Результат сохраняется в подкаталоге `build`.
|
|
|
|
|
+
|
|
|
|
|
+2. Перед сборкой убедитесь в наличии всех пакетов, включаемых в файле
|
|
|
|
|
+`definitions.tex` инструкциями `\usepackage` и `\RequirePackage`.
|
|
|
|
|
+
|
|
|
|
|
+3. Перед сборкой убедитесь в наличии всех используемых шрифтов, перечисленных
|
|
|
|
|
+в файле `definitions.tex` в параметрах инструкций `\set*font` и
|
|
|
|
|
+`\newfontfamily`.
|
|
|
|
|
+
|
|
|
|
|
+4. ... [иные замечания по сборке]
|
|
|
|
|
+
|
|
|
|
|
+#### Замечания по соответствию оригиналу
|
|
|
|
|
+
|
|
|
|
|
+1. Исправлены замеченные опечатки и ошибки. Эти изменения относительно
|
|
|
|
|
+оригинала отмечены в исходном коде комментариями под абзацами, в которых
|
|
|
|
|
+произведены изменения.
|
|
|
|
|
+
|
|
|
|
|
+2. ... [иные отличия от оригинала]
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+Пояснения в квадратных скобках не набираются. Вставка HTML со ссылками
|
|
|
|
|
+обусловлена тем, что некоторые markdown-парсеры ломают magnet-ссылки.
|
|
|
|
|
+
|
|
|
|
|
+Не обязательно вручную добавлять *имя_файла_с_оригиналом_издания*,
|
|
|
|
|
+*размер_данного_файла_в_байтах*, *хэш_ed2k_данного_файла*,
|
|
|
|
|
+*torrent_хэш_файла_с_оригиналом_издания*. magnet-ссылки можно целиком получить
|
|
|
|
|
+из ed2k-клиента и torrent-клиента. Если что-то из этого вы сделать не сможете,
|
|
|
|
|
+воспользуйтесь предложением из раздела
|
|
|
|
|
+"[2. Создание репозитория и оригинал издания]
|
|
|
|
|
+(#2-создание-репозитория-и-оригинал-издания)".
|
|
|
|
|
+
|
|
|
|
|
+##### 2.3.2. Основной файл проекта
|
|
|
|
|
+
|
|
|
|
|
+Основной файл проекта это tex-файл, названный по следующему шаблону:
|
|
|
|
|
+
|
|
|
|
|
+<code>
|
|
|
|
|
+<i>Familiya_I.O.</i>,<i>Familiya_I.O.</i>-<i>Nazvaniye_knigi</i>[<i>E</i>th_ed][<i>NNNN</i>y]-<i>language</i>.tex
|
|
|
|
|
+</code>
|
|
|
|
|
+
|
|
|
|
|
+где
|
|
|
|
|
+* *Familiya_I.O.* - фамилия и инициалы автора(ов) набранные латинницей в
|
|
|
|
|
+соответствии с правилами транслитерации из раздела
|
|
|
|
|
+"[2.1. Именование репозитория](#21-именование-репозитория)", все пробелы
|
|
|
|
|
+заменены на знак подчеркивания "`_`";
|
|
|
|
|
+* *Nazvaniye_knigi* - название книги набранное латинницей в соответствии с
|
|
|
|
|
+правилами транслитерации из раздела
|
|
|
|
|
+"[2.1. Именование репозитория](#21-именование-репозитория)", все пробелы
|
|
|
|
|
+заменены на знак подчеркивания "`_`";
|
|
|
|
|
+* *E* - номер редакции при налиции такового, в ином случае этот блок, включая
|
|
|
|
|
+квадратне скобки пропускается;
|
|
|
|
|
+* *NNNN* - год издания оригинального издания с указание всех четырёх цифр;
|
|
|
|
|
+* *language* - английское именование основного языка оригинального издания
|
|
|
|
|
+(русский - russian).
|
|
|
|
|
+
|
|
|
|
|
+##### 2.3.3. Файл definitions.tex
|
|
|
|
|
+
|
|
|
|
|
+Файл `definitions.tex` содержит все включения
|
|
|
|
|
+(`\usepackage`,`\RequirePackage`), настройки (геометрические, языковые,
|
|
|
|
|
+форматирования) и определения, используемые в документе. Исключение составляют
|
|
|
|
|
+только пакеты, включение которых необходимо строго до определения класса
|
|
|
|
|
+документа.
|
|
|
|
|
+
|
|
|
|
|
+Файл `definitions.tex` включается директивой `\input{definitions.tex}` в
|
|
|
|
|
+основной файл проекта сразу после определения класса документа следующим
|
|
|
|
|
+образом:
|
|
|
|
|
+```TeX
|
|
|
|
|
+\documentclass{класс_документа}
|
|
|
|
|
+\input{definitions.tex}
|
|
|
|
|
+```
|
|
|
|
|
+Таким образом обеспечивается единое местоположение всех настроек документа и
|
|
|
|
|
+определений окружений оформления.
|
|
|
|
|
+
|
|
|
|
|
+##### 2.3.4. Сценарий сборки
|
|
|
|
|
+
|
|
|
|
|
+Сценарий сборки представляет собой sh/bash-сценарий, с именем `build_script`,
|
|
|
|
|
+который, будучи запущенным, осуществляет окончательную сборку проекта в
|
|
|
|
|
+подкаталоге `build`. При написании сценария сборки полезно помнить, что для
|
|
|
|
|
+обновления ссылок и оглавления (toc) необходимо дважды запустить сборку, а для
|
|
|
|
|
+формирования предметного указателя и сопутствующих файлов - трижды.
|
|
|
|
|
+
|
|
|
|
|
+### 3. Перенабор издания
|
|
|
|
|
+
|
|
|
|
|
+#### 3.1. Набор текста
|
|
|
|
|
+
|
|
|
|
|
+Текст набирается исходя из того, что сборка будет осуществляться программами
|
|
|
|
|
+[XeTeX/XeLaTeX](http://xetex.sourceforge.net/) с использованием пакетов
|
|
|
|
|
+[polyglossia](https://ctan.org/pkg/polyglossia) и
|
|
|
|
|
+[xltxtra](https://ctan.org/pkg/xltxtra). Программа XeTeX и сопутствующие
|
|
|
|
|
+пакеты поставляются в составе дистрибутива
|
|
|
|
|
+[TeX Live](https://www.tug.org/texlive/). При необходимости допускается
|
|
|
|
|
+включение [Lua](http://www.lua.org/)-скриптов для сборки проекта системой
|
|
|
|
|
+[LuaTeX](http://www.luatex.org/), однако необходимость этого должна быть
|
|
|
|
|
+убедительно обоснована в первом комментарии в основном файле проекта.
|
|
|
|
|
+
|
|
|
|
|
+Текст набирается в исходном файле с расчётом на ширину терминала 80 символов
|
|
|
|
|
+за исключением случаев, когда синтаксис не допускает переноса. Перенос по
|
|
|
|
|
+границе 80 символов осуществляется строго вместо пробела простого текста или в
|
|
|
|
|
+окружениях допускающих такой перенос.
|
|
|
|
|
+
|
|
|
|
|
+Форматирование оригинального текста, а именно отступы, относительные размеры
|
|
|
|
|
+шрифтов, семейства шрифтов по возможности сохраняются, так как могут нести
|
|
|
|
|
+смысловую нагрузку. Отступы yказываются в долях от значений `\paperwidth` и
|
|
|
|
|
+`\paperheight`
|
|
|
|
|
+
|
|
|
|
|
+#### 3.2. Структура
|
|
|
|
|
+
|
|
|
|
|
+Структура документа полностью восстанавливается в строгом соответствии с
|
|
|
|
|
+оригинальным изданием. Если структура оригинального издания не соответствует
|
|
|
|
|
+типовой структуре книги, то соответствующие изменения должны быть внесены в
|
|
|
|
|
+cls-файл, описывающий класс документа. Базовым классом, на основании которого
|
|
|
|
|
+строится новый cls-файл, является `extbook`. Любой структурный элемент книги
|
|
|
|
|
+должен иметь метку `\label` для возможности сослаться на него.
|
|
|
|
|
+
|
|
|
|
|
+#### 3.3. Набор таблиц
|
|
|
|
|
+
|
|
|
|
|
+Короткие по высоте таблицы выполняются в окружении `tabular`. Длинные по
|
|
|
|
|
+высоте таблицы выполняются в окружении `longtable` пакета
|
|
|
|
|
+[longtable](https://www.ctan.org/pkg/longtable). Набор таблиц осуществляется с
|
|
|
|
|
+указанием строго относительных размеров столбцов к переменной `\linewidth`
|
|
|
|
|
+или, при необходимости, `\textwidth`. Для расчёта размеров столбцов
|
|
|
|
|
+использовать пакет [calc](https://www.ctan.org/pkg/calc) и значение
|
|
|
|
|
+`\tabcolsep`. Использование иных пакетов и окружений для оформления таблиц
|
|
|
|
|
+должно быть строго необходимым и необходимость объяснена в комментарии перед
|
|
|
|
|
+такой таблицей, так как другие пакеты иногда приводят к нежелательным
|
|
|
|
|
+артефактам в сборке.
|
|
|
|
|
+
|
|
|
|
|
+#### 3.4. Набор формул
|
|
|
|
|
+
|
|
|
|
|
+Формулы в строке набираются в окружении `$формула$`. Многострочные и отдельные
|
|
|
|
|
+формулы набраются в окружениях `equation`. Использование иных окружений для
|
|
|
|
|
+набора формул должно быть строго необходимым и необходимость объяснена в
|
|
|
|
|
+комментарии перед такой формулой, для избежания артефактов в сборке. Обращайте
|
|
|
|
|
+внимание на наличие в математических шрифтах используемых символов, так как
|
|
|
|
|
+часть символов может быть не описана в шрифте.
|
|
|
|
|
+
|
|
|
|
|
+Сложные формулы-диаграммы набираются в синтаксисе пакета
|
|
|
|
|
+[Xy-pic](http://tug.org/applications/Xy-pic/Xy-pic.html).
|
|
|
|
|
+
|
|
|
|
|
+#### 3.5. Включение иллюстраций
|
|
|
|
|
+
|
|
|
|
|
+Иллюстрации оригинального издания включаются в перепечатку издания по
|
|
|
|
|
+следующим правилам:
|
|
|
|
|
+
|
|
|
|
|
+1. Иллюстрация должна пропорционально соответствовать оригинальному в разумных
|
|
|
|
|
+пределах. Разумные пределы - один пиксел.
|
|
|
|
|
+
|
|
|
|
|
+2. Если иллюстрацию можно без значительных затрат времени описать в виде
|
|
|
|
|
+таблицы, тогда иллюстрация оформляется в окружении `tabular`.
|
|
|
|
|
+
|
|
|
|
|
+3. Если иллюстрацию можно без значительных затрат времени описать в синтаксисе
|
|
|
|
|
+пакета [Xy-pic](http://tug.org/applications/Xy-pic/Xy-pic.html), тогда
|
|
|
|
|
+иллюстрация оформляется в синтаксисе пакета Xy-pic.
|
|
|
|
|
+
|
|
|
|
|
+4. Если иллюстрация по смыслу использования в оригинале не представляет собой
|
|
|
|
|
+растровое изображение, а является схемой или диаграммой или графиком, в таком
|
|
|
|
|
+случае иллюстрация включается в формате `eps`. При этом в репозиторий также
|
|
|
|
|
+добавляется черновик иллюстрации, который может представлять собой:
|
|
|
|
|
+
|
|
|
|
|
+ (а) векторное изображение в формате `svg`, при переносе оригинальной
|
|
|
|
|
+ иллюстрации в формат `svg` желательно использовать масштабирование
|
|
|
|
|
+ `1 пиксел = 1 миллиметр`, при измерении оригинального изображения в
|
|
|
|
|
+ масштабе 1, в ином случае в первом комментарии svg-файла укажите масштаб и
|
|
|
|
|
+ условия измерений оригинальной иллюстрации;
|
|
|
|
|
+
|
|
|
|
|
+ (б) исходный код программы для математического пакета, который строит
|
|
|
|
|
+ требуемый график, в таком случае первым комментарием исходного кода должен
|
|
|
|
|
+ быть указан математический пакет и его точная версия вплоть до минорной.
|
|
|
|
|
+
|
|
|
|
|
+5. Если иллюстрация в контексте оригинала является растровым изображением, то
|
|
|
|
|
+использовать его оригинал со сжатием без потерь в формате
|
|
|
|
|
+[png](http://www.libpng.org/pub/png/). При недоступности оригинала -
|
|
|
|
|
+использовать лучшую доступную копию.
|
|
|
|
|
+
|
|
|
|
|
+Такие требования к иллюстрациям обусловлены тем, что даже в оригинальных
|
|
|
|
|
+электронных книгах издательств можно обнаружить растровые изображения, которые
|
|
|
|
|
+в контексте избыточны, не масштабируются свободно и при определенных условиях
|
|
|
|
|
+приводят к некорректному отображению страницы. Исходя из *принципа разделения
|
|
|
|
|
+представления и содержания*, иллюстрация должна корректно масштабироваться в
|
|
|
|
|
+широком (условно бесконечном) интервале множителей и корректно отображаться
|
|
|
|
|
+при любых настройках представления, например:
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#### 3.6. Ссылки
|
|
|
|
|
+
|
|
|
|
|
+Все внутренние ссылки должны быть соответственно оформлены и работать, включая
|
|
|
|
|
+ссылки на библиографию внутри издания. Все внешние сылки должны быть
|
|
|
|
|
+соответственно оформлены и ссылаться на URL из оригинала издания, даже если он
|
|
|
|
|
+на момент набора не ведет на существующий или релевантный ресурс.
|
|
|
|
|
+
|
|
|
|
|
+#### 3.7. Предметный указатель
|
|
|
|
|
+
|
|
|
|
|
+Предметный указатель формируется пакетом [xindy](http://www.xindy.org/).
|
|
|
|
|
+Ключевые слова инструкцией `\index`отмечаются либо прямо перед ключевым словом
|
|
|
|
|
+внутри абзаца, либо перед абзацем без разделения инструкцией `\par` или двумя
|
|
|
|
|
+символами новой строки, так как в ином случае при сборке координата ключевого
|
|
|
|
|
+слова и сам абзац могут оказаться на разных страницах. Оформление и порядок
|
|
|
|
|
+сортировки описываются в отдельном xdy-файле, в соответствии с таковыми в
|
|
|
|
|
+оригинале.
|
|
|
|
|
+
|
|
|
|
|
+#### 3.8. Технические страницы
|
|
|
|
|
+
|
|
|
|
|
+Технические страницы оригинального издания перенабираются строго в
|
|
|
|
|
+соответствии с оригиналом, даже если перенабор не соответствует заявленной
|
|
|
|
|
+информации. Технические страницы могут отсутствовать, только если оригинал
|
|
|
|
|
+доступен только в копии без технических страниц. Кроме того, при перенаборе
|
|
|
|
|
+добавляется последняя страница набранная моноширинным шрифтом в соответствии с
|
|
|
|
|
+шаблоном:
|
|
|
|
|
+
|
|
|
|
|
+```TeX
|
|
|
|
|
+%%=============================================================================
|
|
|
|
|
+\newpage\pagestyle{empty}
|
|
|
|
|
+\begingroup\newpage
|
|
|
|
|
+\setlength{\parindent}{0cm}
|
|
|
|
|
+\footnotesize\ttfamily
|
|
|
|
|
+\textit{Фамилия И. О.}\par% первый автор
|
|
|
|
|
+\textit{Фамилия И. О.} % второй автор, и далее указываются все авторы
|
|
|
|
|
+\smallskip\par
|
|
|
|
|
+{\normalsize Название книги}\smallskip\par
|
|
|
|
|
+Дополнительные сведения об издании, номер редакции % при наличии таких сведений
|
|
|
|
|
+\smallskip\par
|
|
|
|
|
+% если книга является переводом,
|
|
|
|
|
+% указать с какого языка и Фамилии И. О. переводчиков,
|
|
|
|
|
+% в ином случае следующая строка не набирается
|
|
|
|
|
+\textit{перевод с наименование языка Фамилия И. О., Фамилия И. О.}\par
|
|
|
|
|
+% если важна редактура, то указываются Фамилии И. О. научных редакторов,
|
|
|
|
|
+% в ином случае следующая строка не набирается
|
|
|
|
|
+\textit{под редакцией Фамилия И. О., Фамилия И. О.}\par
|
|
|
|
|
+nnnn год% nnnn - год оригинального издания, указать все 4 цифры
|
|
|
|
|
+\bigskip\par
|
|
|
|
|
+Перенабор книги выполнен в рамках проекта ReType
|
|
|
|
|
+(\href{https://retype.r4in.tk}{https://retype.r4in.tk})\par
|
|
|
|
|
+Исходный код для индивидуальной сборки или типографской вёрстки может быть
|
|
|
|
|
+получен по адресу:\par
|
|
|
|
|
+\href{адрес_репозитория_с_исходным_кодом}{адрес_репозитория_с_исходным_кодом}
|
|
|
|
|
+\bigskip\par
|
|
|
|
|
+{\normalsize Оригинал}\smallskip\par
|
|
|
|
|
+ed2k -- \href{ed2k://|file|имя_файла_с_оригиналом_издания|размер_данного_файла_в_байтах|хэш_ed2k_данного_файла|}
|
|
|
|
|
+{ed2k://|file|имя_файла_с_оригиналом_издания|размер_данного_файла_в_байтах|хэш_ed2k_данного_файла|}\smallskip\par
|
|
|
|
|
+torrent -- \href{magnet:?xt=urn:btih:хэш_torrent_файла_с_оригиналом_издания}
|
|
|
|
|
+{magnet:?xt=urn:btih:хэш_torrent_файла_с_оригиналом_издания}\bigskip\par
|
|
|
|
|
+{\normalsize Замечания по соответствию оригиналу}\smallskip\par
|
|
|
|
|
+\begin{enumerate}
|
|
|
|
|
+ \item Исправлены замеченные опечатки и ошибки. Эти изменения относительно
|
|
|
|
|
+ оригинала отмечены в исходном коде комментариями под абзацами, в которых
|
|
|
|
|
+ произведены изменения.
|
|
|
|
|
+ \item ... % иные отличия от оригинала
|
|
|
|
|
+\end{enumerate}
|
|
|
|
|
+\newpage
|
|
|
|
|
+\endgroup
|
|
|
|
|
+```
|
|
|
|
|
+При этом учитывайте, что
|
|
|
|
|
+* второй аргумент инструкции \href это текст, где при наборе надо использовать
|
|
|
|
|
+экранирование ряда символов, используемых в TeX'е;
|
|
|
|
|
+* после завершения перенабора репозиторий будет перенесен в группу, и
|
|
|
|
|
+*адрес_репозитория_с_исходным_кодом* будет содержать другой каталог.
|
|
|
|
|
+
|
|
|
|
|
+Не обязательно вручную добавлять *имя_файла_с_оригиналом_издания*,
|
|
|
|
|
+*размер_данного_файла_в_байтах*, *хэш_ed2k_данного_файла*,
|
|
|
|
|
+*хэш_torrent_файла_с_оригиналом_издания*. edk2k-ссылку можно целиком получить
|
|
|
|
|
+из ed2k-клиента, а magnet-ссылку на торрент можно получить в torrent-клиенте.
|
|
|
|
|
+Если что-то из этого вы сделать не сможете, воспользуйтесь предложением из
|
|
|
|
|
+раздела
|
|
|
|
|
+"[2. Создание репозитория и оригинал издания]
|
|
|
|
|
+(#2-создание-репозитория-и-оригинал-издания)".
|
|
|
|
|
+
|
|
|
|
|
+### 4. Рекомендации
|
|
|
|
|
+
|
|
|
|
|
+#### 4.1. Принцип DRY и метод переиспользования кода
|
|
|
|
|
+
|
|
|
|
|
+Следование принципу DRY (Don’t repeat yourself) приводит к тому, что имеет
|
|
|
|
|
+смысл перед перенабором пролистать издание и выделить повторяющееся одинаковое
|
|
|
|
|
+форматирование и оформление, после чего создать для такого оформления
|
|
|
|
|
+отдельное окружение, которое потом и использовать. Это снизит вероятность
|
|
|
|
|
+возникновения ошибки.
|
|
|
|
|
+
|
|
|
|
|
+Использование метода переиспользования кода приводит к тому, что имеет смысл
|
|
|
|
|
+не только выделить повторяющееся одинаковое оформление, но и однотипные
|
|
|
|
|
+оформления, отличающиеся лишь некоторыми параметрами (обычно одним). Так,
|
|
|
|
|
+например, если в тексте оригинального издания часто встречаются таблицы из
|
|
|
|
|
+двух столбцов, прижатые вправо и отличающиеся только шириной столбцов, то есть
|
|
|
|
|
+смысл создать единое окружение для таких таблиц, в аргументах которого
|
|
|
|
|
+указывать ширину столбцов. Следует, однако, избегать переусложнённых окружений
|
|
|
|
|
+с множеством параметров на все случаи жизни, такое окружение уже есть и
|
|
|
|
|
+называется TeX.
|
|
|
|
|
+
|
|
|
|
|
+#### 4.2. Предметный указатель
|
|
|
|
|
+
|
|
|
|
|
+Если оригинальное издание содержит предметный указатель, то лучше сначала
|
|
|
|
|
+отсортировать ключевые слова указателя по номерам страниц и добавлять их в
|
|
|
|
|
+ходе перенабора, так как восстановление предметного указателя по ключевым
|
|
|
|
|
+словам в перенабранном тексте довольно трудоёмко.
|
|
|
|
|
+
|
|
|
|
|
+Несколько снизить трудность перенабора предметного указателя позволяют
|
|
|
|
|
+комментарии в исходном коде, разбивающие исходный код на блоки в соответствии с
|
|
|
|
|
+нумерацией страниц оригинала, например такие:
|
|
|
|
|
+```TeX
|
|
|
|
|
+%% ======================= Страница 235 =======================
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+#### 4.3. Программа для редактирования исходного кода TeX
|
|
|
|
|
+
|
|
|
|
|
+Для редактирования исходного кода TeX довольно удобно использовать
|
|
|
|
|
+[Kile](https://kile.sourceforge.io)
|
|
|
|
|
+
|
|
|
|
|
+#### 4.4. Программа для отрисовки векторных изображений
|
|
|
|
|
+
|
|
|
|
|
+Для отрисовки векторных изображений рекомендуется использовать
|
|
|
|
|
+[Inkscape](https://inkscape.org).
|
|
|
|
|
+
|
|
|
|
|
+#### 4.5. Программа для измерения иллюстраций и элементов оформления
|
|
|
|
|
+
|
|
|
|
|
+Для измерения иллюстраций и элементов оформления рекомендуется использовать
|
|
|
|
|
+[KRuler](https://kde.org/applications/graphics/org.kde.kruler)
|