Перейти к содержимому
Topos Uranos

Краткое содержание

Этот урок учит доводить готовый документ до места назначения: научного журнала, репозитория или архива. В нём объясняется, почему журналы распространяют собственные классы, какие из них уже входят в TeX Live и как приспособить к ним свой исходный текст, сохранив содержание и осмысленные команды и отказавшись от собственного оформления; показываются конфликты, которые такая адаптация обнаруживает в журнале компиляции, с движком и с библиографией; даётся контрольный список для подготовки отправки; описывается, как arXiv сам компилирует исходный текст, какие движки он предлагает, что делать, если документ набран в LuaLaTeX, когда достаточно файла .bib и когда загружается .bbl; представляется формат PDF/A для долговременного архивного хранения, с интерфейсом \DocumentMetadata и с пакетом pdfx; описывается нынешнее состояние размеченного (тегированного) PDF и альтернативного текста для рисунков; в конце рассматриваются лицензии Creative Commons, позволяющие делиться документом и его исходным текстом.

Цели обучения

  1. Объяснять, что определяет класс журнала, и приспосабливать к нему свой исходный текст, различая то, что сохраняется, то, от чего отказываются, и то, что нужно изменить.
  2. Истолковывать по журналу компиляции конфликты шаблона с собственным исходным текстом, с движком или с системой библиографии.
  3. Готовить папку для отправки, которая компилируется самостоятельно, без лишних файлов и с библиографией в том виде, какого требует место назначения.
  4. Решать, как отправить в arXiv документ, набранный в LuaLaTeX, исходя из того, что его документация говорит о движках и о библиографии.
  5. Получать PDF/A с помощью \DocumentMetadata или пакета pdfx и устранять предупреждение о версии, которое выдаёт первый способ.
  6. Включать разметку PDF, задавать альтернативный текст для рисунков, указывать язык и данные документа, понимая, что разметка пока остаётся незавершённой работой.

Классы журналов

На уроке о классах документов и параметрах страницы было показано, что класс определяет общую форму документа: полосу набора, заголовки, титульную страницу, аннотацию. Журнал хочет, чтобы все его статьи имели одну и ту же форму и чтобы она не зависела от вкуса каждого автора. Отсюда следует самая распространённая практика в дисциплинах, где пишут в LaTeX: журнал или издательство распространяет собственный класс, а автор передаёт только содержание. Журнал выигрывает в единообразии и в меньшем объёме редакционной работы; автор избавлен от необходимости вручную подражать чужому оформлению.

Уже установленные классы

Многие из этих классов входят в TeX Live. Чтобы узнать, установлен ли класс, достаточно спросить, где лежит его файл, с помощью kpsewhich, команды, которой дистрибутив ищет свои собственные файлы: если она отвечает путём, класс есть; если не отвечает ничего, его нет, и он устанавливается так, как объяснялось на уроке о рабочей среде.

Терминал
$ kpsewhich elsarticle.cls   # журналы издательства Elsevier$ kpsewhich revtex4-2.cls    # журналы American Physical Society$ kpsewhich IEEEtran.cls     # издания Institute of Electrical and Electronics Engineers$ kpsewhich amsart.cls       # статьи American Mathematical Society$ kpsewhich llncs.cls        # Lecture Notes in Computer Science издательства Springer

В полной установке TeX Live 2025 все пять отвечают путём, и все пять компилируют в LuaLaTeX минимальный документ с fontspec и babel. Журнал компиляции сообщает, какая версия загружена, в строке, начинающейся с «Document Class»; например, «elsarticle 2026/01/09, 3.5» или «amsart 2020/05/29 v2.20.6». На неё стоит посмотреть, потому что журнал может требовать версию новее той, что есть в дистрибутиве, и тогда используется та, которую он выкладывает на своей странице для авторов.

То, что класс компилируется, ещё не значит, что он одинаково работает с любым движком. Многие из них написаны для pdfLaTeX и выбирают шрифты через кодировки этого движка. С IEEEtran, например, минимальный документ компилируется в LuaLaTeX с fontspec, но журнал компиляции предупреждает, что шрифта, которого требует класс, нет в кодировке fontspec, и заменяет его на Latin Modern: статья уже не выглядит так, как ожидает журнал.

Журнал компиляции
LaTeX Font Warning: Font shape `TU/ptm/m/n' undefined(Font)              using `TU/lmr/m/n' instead on input line 503.

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

Адаптация исходного текста к шаблону

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

  • Содержание сохраняется: разделы, текст, формулы, рисунки с подписями, метки и перекрёстные ссылки.
  • От собственного оформления отказываются: от класса и его опций, полей geometry, колонтитулов, основного шрифта, поддельных заголовков, сделанных полужирным шрифтом, и расставленных вручную отступов. Всё это теперь решает журнал.
  • Осмысленные команды сохраняются: те, что определялись на уроках об оформлении со смыслом и о макросах и собственной преамбуле, такие как \obra или \ponyatie. Поскольку они называют функции, а не внешний вид, они годятся для любого класса; если журнал хочет другую форму, достаточно изменить их определение.

Вот короткая статья в собственном оформлении: с KOMA-Script, полями, заданными вручную, поддельными заголовком и аннотацией и библиографией на biblatex.

Код LaTeX
\documentclass[11pt]{scrartcl}\usepackage{fontspec}\usepackage[russian]{babel}\babelfont{rm}{Noto Serif}\babelfont{sf}{Noto Sans}   % для заголовков KOMA-Script без засечек\usepackage[margin=2.5cm]{geometry}\usepackage{csquotes}\usepackage[style=authoryear]{biblatex}\addbibresource{fuentes.bib}\newcommand{\obra}[1]{\emph{#1}}\begin{document}\begin{center}\Large\textbf{Медленное чтение как метод}\end{center}\vspace{1em}\noindent\textbf{Аннотация.} Рассматривается медленное чтение как метод.\section{Постановка вопроса}Метод восходит к филологической традиции \parencite{eco1977},и его рекомендует книга \obra{Come si fa una tesi di laurea}.\printbibliography\end{document}

Журнал в этом примере требует класс elsarticle со стилем «автор, год» издательства. Его инструкции говорят ещё и то, чего собственный исходный текст не мог предвидеть: библиография делается с BibTeX и пакетом natbib, который класс загружает сам, а не с biblatex. Если оставить в преамбуле \usepackage{biblatex}, компиляция останавливается, потому что эти два пакета не могут сосуществовать.

Журнал компиляции
! Package biblatex Error: Incompatible package 'natbib'.

Библиографическая база, напротив, не меняется: тот же файл .bib из раздела о библиографической базе служит и BibTeX, и biber.

Код LaTeX
@book{eco1977,  author    = {Eco, Umberto},  title     = {Come si fa una tesi di laurea},  publisher = {Bompiani},  address   = {Milano},  year      = {1977}}
ПримерТа же статья с классом журнала
Код LaTeX
\documentclass[preprint,12pt,authoryear]{elsarticle}\usepackage{fontspec}\usepackage[russian]{babel}\babelfont{rm}{Noto Serif}\newcommand{\obra}[1]{\emph{#1}}   % сохраняется: называет функцию\journal{Журнал исследований чтения}\begin{document}\begin{frontmatter}\title{Медленное чтение как метод}\author{Анна Петрова}\affiliation{organization={Филологический факультет},  city={Томск}, country={Россия}}\begin{abstract}Рассматривается медленное чтение как метод.\end{abstract}\begin{keyword}чтение \sep метод \sep исследование\end{keyword}\end{frontmatter}\section{Постановка вопроса}Метод восходит к филологической традиции \citep{eco1977},и его рекомендует книга \obra{Come si fa una tesi di laurea}.\bibliographystyle{elsarticle-harv}\bibliography{fuentes}\end{document}
Результат
Результат

Исчезли geometry, поддельный заголовок, отступ, поставленный вручную, и строка полужирным шрифтом: название, автор, место работы, аннотация и ключевые слова объявляются командами класса, который набирает их по-своему. Ссылка сменила имя, с \parencite на \citep, команду natbib, заключающую её в скобки, а список запрашивается командами \bibliographystyle и \bibliography. \obra не изменилась. Следует также заметить, что класс пишет «Abstract» и «Keywords» по-английски, хотя babel настроен на русский: эти подписи задаёт журнал, а не язык документа. Заголовок списка, «Список литературы», напротив, берётся из babel.

Если шаблон журнала не загружает natbib, biblatex можно оставить; единственный способ узнать это состоит в том, чтобы прочитать инструкции журнала, а затем журнал компиляции.

Шаблоны диссертаций

Многие университеты предлагают шаблон для выпускных работ и диссертаций, который задаёт титульный лист, поля, требуемые для переплёта, порядок вводных частей и иногда стиль ссылок. Его логика та же, что у журнала, с двумя собственными предосторожностями. Во-первых, его следует брать из официального источника университета (библиотеки, диссертационного совета или отдела аспирантуры) и убедиться, что это действующая версия, потому что ходит много старых копий. Во-вторых, следует проверить в начале, а не в конце, каким движком он компилируется и какую систему библиографии предполагает. Диссертация, организованная так, как объяснялось на уроке о длинных документах, с главным файлом и отдельным файлом для каждой главы, меняет шаблон заменой одного только главного файла.