Есть ли правила хорошей практики для написания чистого LaTeX? Что-то вроде PEP8 для Python. Примеры:
- пробелы или табуляции (не тролль);
- сколько столбцов перед переносом (80 для Python, совместимого с PEP8);
- кое-что о комментариях;
- и т. д.
решение1
Короткий ответ здесь прост: «Нет, никаких правил, подобных PEP8 или аналогичным, не существует».
Для более развернутого ответа, возможно, стоит разделить исходные тексты LaTeX на два типа:
- Документы (большая часть работы для большинства людей)
- Пакеты и другой «код»
Конечно, есть некоторое совпадение, поскольку может потребоваться «быстро выполнить кодирование» в преамбуле, но «характер» исходного файла обычно в целом соответствует одному из двух случаев.
Для документов количество авторов, которые будутвсегдасм. источник небольшой: ключевая цель — это набранный вывод. Таким образом, это действительно зависит от вовлеченных лиц, как они излагают свой вклад.
Для «кода» можно было бы утверждать, что результаты будут немного иными, поскольку существует, по крайней мере, потенциал для более широкого чтения/повторного использования источников. Однако практический опыт показывает, что в большинстве пакетов код пишет только один человек, даже для широко используемых материалов. Там, где есть исключения, наиболее очевидные для ядра, но также и для таких вещей, как beamer
или biblatex
, «размер команды» обычно невелик, и неформальное соглашение обычно возможно. (Обычно один человек начинает что-то, поэтому некоторая позиция может быть согласована на основе того, что он сделал.) Здесь, конечно, мы могли бы использовать формат .dtx
для кода, что привело бы к совершенно иным результатам «комментариев» в случаях, когда источникявляетсяпакет ( etoolbox
например, сравните ядро с ).
Единственное место, где есть руководство по стилю кода, этоexpl3
: команда имеетнаписал один на основе того, как код тяготел к. Однако даже там нет ощущения, что код, не следующий этим правилам, «плох»: это скорее вопроссодержание.
Важно помнить, что TeX — это язык макрорасширений, и это делает реализацию автоматических «проверок» практически невозможной: см. Автоматическое руководство по стилю для LaTeX?.