#latex #doxygen
#Латекс #doxygen
Вопрос:
Я использую Doxygen для создания PDF-документа. Поэтому мне также нужно использовать LaTeX. Я сгенерировал файл стиля LaTeX по умолчанию, то есть doxygen.sty. Я хочу использовать списки пакетов latex, чтобы сделать блок кода (обернутый командами Doxygen @code
и @endcode
) лучше, но когда я внес изменения в эту часть, появится ошибка LaTeX, и ни один файл PDF не может быть успешно выведен. Я где-то ошибаюсь? Как правильно добавить новый стиль в doxygen.sty
? Заранее спасибо!
Ниже приведен контент по умолчанию в doxygen.sty
:
% Used by @code ... @endcode
newenvironment{DoxyCode}{%
par%
scriptsize%
begin{alltt}%
}{%
end{alltt}%
normalsize%
}
Ниже приведены изменения, которые я внес для DoxyCode
среды:
RequirePackage{listings}
RequirePackage[table]{xcolor}
...
% Used by @code ... @endcode
newenvironment{DoxyCode}{%
par%
lstset{numbers=left,numberstyle=tiny}%
scriptsize%
begin{lstlisting}[language=C]%
}{%
end{lstlisting}%
normalsize%
}
Комментарии:
1. Первый вопрос, который возникает, — какая версия doxygen? Какие сообщения об ошибках вы получаете от pdflatex? Обратите внимание, что код внутри
DoxyCode
среды набирается и использует другие конкретные команды, такие какDoxyCodeLine
, поэтому я не знаю, может ли пакет listings дать / даст хорошие результаты. Также не рекомендуется изменять doxygen.sty (поскольку вы, вероятно, столкнетесь с возможными проблемами в будущих версиях), лучше создать файл для измененных / новых настроек и использоватьLATEX_EXTRA_STYLESHEET
2. Привет, @albert, спасибо за твой ответ! Я использую Doxygen 1.8.5, и сообщение об ошибке не кажется мне чем-то особенным :
! Emergency stop. <*> ./refman.tex *** (job aborted, no legal end found)
. Итак, если я хочу добавить некоторые новые атрибуты стиля к блокам кода в выходных данных PDF, каков правильный способ добиться этого? Поскольку Doxygen по умолчанию передает блок кода с набором текста, указанным в первом фрагменте, который я извлек выше, я думаю, что сначала необходимо удалить этот набор текста.3. Ну, во-первых, doxygen 1.8.5 немного устарел (23 августа 2013 года), поэтому я бы определенно посоветовал вам обновиться до текущей (1.8.20) версии doxygen. Я думаю, что с 1.8.5 также многое изменилось в отношении списка, созданного doxygen, а также были исправлены другие проблемы (также в отношении LaTeX, какую версию LaTeX вы используете?).
4. Я использую MikTeX2.9 на Windows10 (64bit). Он тоже немного устарел? Если да, я обновлю их все, чтобы попробовать. Спасибо!
5. Это также может быть так, я не знаю, когда у вас есть MiKTeX 2.9, см. В файле журнала, например, в каталоге latex, полученном в результате ваших проектов (моя версия, которая достаточно обновлена, сообщает «Это pdfTeX, версия 3.14159265-2.6-1.40.21 (MiKTeX 20.7) (предварительно загруженный формат =pdflatex 2020.9.10)»)