
Я пытаюсь оценить возможность использования простого пакета для создания тома, одна часть которого представляет собой критическое издание, набранное в простом тексте с использованием edmac, другие части — более или менее обычный LaTeX. Здесь я имею дело с чрезвычайно сложной настройкой, наследием кода из 1990-х годов, создатель которого давно умер, но другие люди в проекте продолжали использовать его систему, выпустив с тех пор несколько томов, и, по-видимому, они не собираются от нее отказываться. Печатные книги выглядят великолепно. Предыдущие тома были созданы путем предварительного создания pdf-файлов глав издания, для каждого из которых начальный номер в книге нужно было вручную установить в исходном тексте tex, и эти pdf-файлы затем включались в основной файл LaTeX книги. TOC, естественно, также должен быть создан вручную. Конечно, можно сделать так снова, но я хотел бы по крайней мере посмотреть, есть ли другой, лучший способ. Как я уже сказал, это невероятно сложная штука, включающая двухэтапную систему предварительной обработки, от входных файлов в пользовательской кодировке санскрита через скрипт perl до файлов dn для препроцессора devnag, который на втором этапе генерирует исходные файлы tex, и файл стиля, предоставляющий уровень абстракции над edmac. Хотя я был техническим лицом, ответственным за создание последнего тома, просто используя старую систему, сделать это было возможно без глубокого понимания простого tex, использованного для создания издания. Не имея другого опыта работы с простым tex, я сейчас пытаюсь создать MWE, который я мог бы затем ввести в файл LaTeX, если это вообще возможно, создание примера с реальным файлом не удалось, я, конечно, пробовал.
\input edmac.doc
\beginnumbering
\pstart
\text{lemma}\Afootnote{note}\
\pend
\endnumbering
\bye
дает мне
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdftex)
restricted \write18 enabled.
entering extended mode
(./mini.tex (./edmac.doc
EDMAC Critical edition macros.
Revision: 3.7 < Date: 31 Aug 1993 15:57:20 >.
) Section 1 (./mini.1)
Runaway argument?
\Afootnote {note}\^^M\pend \endnumbering \par
! Forbidden control sequence found while scanning use of \text.
<inserted text>
\par
<to be read again>
\bye
l.9 \bye
Возможно, не хватает какой-то настройки, но, может быть, это также проблема совместимости? Я пока не нашел никаких других MWE или, для начала, читаемой документации. Я попробовал последний пример, включенный в edmac.doc, поскольку он был специально для использования с препроцессором devnag, но он тоже не собрался.
решение1
Во-первых, ответ на заданный вопрос. Короткая версия такова, что \text
должно заканчиваться на /
, а не на \
.
Объяснение сообщения об ошибке
Обратите внимание, что сообщение об ошибке предполагает «Аргумент, вышедший из-под контроля?», а если нажать «H», оно поясняется:
Runaway argument?
\Afootnote {note}\^^M\pend \endnumbering \par
! Forbidden control sequence found while scanning use of \text.
<inserted text>
\par
<to be read again>
\bye
l.9 \bye
? H
I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.
По сути, это означает, что весь \Afootnote {note}\^^M\pend \endnumbering \par
, и, я думаю, часть \bye
также (эта ошибка была обнаружена, поскольку \bye
объявлен \outer
), были обработаны как аргумент \text
(что не входило в ваши намерения), что говорит о том, что с вызовом \text
.
edmac
документация и МВЭ
Документацию edmac
найти сложно: texdoc edmac
простопоказываетa readme
от 1996 года, призывающий вас купить документацию в виде печатной книги от TUG (с, я думаю, устаревшим адресом). Однако, услышав где-то о edmac/ledmac/reledmac, запуск texdoc reledmac
более полезен и показываетдокументкоторый входит в историю, а также упоминает
«Обзор edmac: формат Plain TEX для критических изданий»,Буксир 11(1990), стр. 623–643
который доступенздесь.
Следуя этой документации, мы можем подготовить следующий MWE (используя примеры из документа, с \afootnote
обновленным названием \Afootnote
из вопроса):
\input edmac
\firstlinenum=1
\linenumincrement=1
% Some hacks for narrow columns. Not needed in real documents.
\vsize=20em
\hsize=15em
\hyphenpenalty=0
\exhyphenpenalty=0
\doublehyphendemerits=0
\finalhyphendemerits=0
\pretolerance=9999
\tolerance=9999
\emergencystretch=\maxdimen
\beginnumbering
\pstart This is a sample paragraph, with lines numbered automatically. \pend
The lines of this paragraph are not numbered.
\pstart And here the numbering begins again. \pend
\pstart
I saw my friend \text{Smith}\Afootnote{Jones C, D.}/ on Tuesday.
\pend
\bye
что приводит к:
Непрошеный совет :)
генерация pdf-файлов глав издания, для каждой из которых начальный номер в книге должен быть установлен вручную в исходном тексте, и эти pdf-файлы затем включаются в основной файл LaTeX книги. TOC, естественно, также должен быть создан вручную.
Обратите внимание, что именно так (указание вручную номера начальной страницы каждой главы и ручное создание оглавления) поступал Дональд Кнут, создатель TeX и автор25 книг, также готовит многие из своих книг. Это не так уж и ужасно, учитывая, что вы, вероятно, готовите оглавление книги только один раз в конце. Автоматизация - этоне всегдастоит того, и полезно иметь в видуобщая структуракогда это следует сделать.
чрезвычайно сложная установка, наследие кода с 1990-х годов, [...] выпустив несколько томов с тех пор [...]. Печатные книги выглядят великолепно. [...] Я хотел бы хотя бы посмотреть, есть ли другой, лучший, способ.
Я иногда пробовал делать что-то в подобном духе, и просто знайте, что это может закончиться неудачей. Смотреть этоклассическая статьяо переписывании программного обеспечения: этот унаследованный код "истерзан в боях", поскольку ему пришлось столкнуться со множеством странных ситуаций и угловых случаев, о которых вы, возможно, не подумали бы, если бы пытались сделать это с нуля. Может оказаться очень сложно создать печатную книгу, которая выглядела бы так же здорово, что противоречит основной цели использования TeX (красивые книги). Вместо того, чтобы выбрасывать вещи и пытаться придумать лучшее решение с нуля, я бы рекомендовал попробовать начать с текущей настройки и постепенно удалять то, что больше не нужно, например, заменить пользовательскую кодировку /девнагпрепроцессор с чем-то еще (возможнодругой сценарий), но всегда сравнивайте «до» и «после», чтобы убедиться, что результат не изменился или, по крайней мере, не испортился/не ухудшился каким-либо образом.
Не имея другого опыта работы с обычным текстом
Если вы просто хотите быстро освоить полезную ментальную модель простого TeX, ясильнорекомендовать книгуКнига TeX для начинающихСерула и Леви. (См. рекомендацию Ганса Хагенав руководстве ConTeXt.) Потратив пару дней, это может оказаться стоящим. Но все же, см. предыдущий пункт.
MWE, который я мог бы затем ввести в файл LaTeX, если это вообще возможно.
Обратите внимание, что ed-nfss.txt
(от 1994 года) говорится: «В частности, EDMAC использует собственную процедуру вывода, а не LaTeX2e, поэтому множество вещей, специфичных для процедуры вывода LaTeX (например, размещение плавающих элементов), не будут выполнены», поэтому (если это все еще так) ввод этого в файл LaTeX может привести к неожиданным результатам.