2010-02-28 2 views
8

Я использую Doxygen для создания документации для моего кода. Мне нужно сделать PDF-версию этого, и использование вывода Dotegen LaTeX похоже на то, как это сделать.Управление выходом LaTeX Doxygen для создания документации в формате PDF

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

Я разработал, как создать пользовательскую вещь стиля в файле стиля и как получить Doxygen для ее использования. После многих поисков я узнал, как установить поля страницы и т. Д., И я предполагаю, что, возможно, это файл, который я хочу для выполнения других вещей, которые я хочу, но я не могу найти какие-либо команды для doign что я хочу :(

  1. таблица содержания в начале документа содержит много элементов Id, а не так, как это делает содержание очень долго. есть ли какой-нибудь способ, чтобы ограничить это содержимое просто скажите первые два уровня, вместо того, чтобы иметь записи для каждой отдельной функции, переменной и т. д. Идентификатор очень похож на сохранение всех закладок. Я попробовал вариант «COMPACT_LATEX», но также удалял элементы на страницах содержимого , он удалил закладки и списки участников в начале каждого раздела, что я действительно хочу сохранить.

  2. Есть ли способ изменить порядок вещей, например, положить полное описание класса в начале раздела, а не после всех членов и атрибутов?

ответ

7

Ничего себе, это как-то зла от Doxygen.

Хорошо, чтобы обойти счетчик проблемы tocdepth, добавьте следующую строку в файл .sty:

\AtBeginDocument{\setcounter{tocdepth}{2}}% or whatever level you want 

Вы можете установить глубину PDF закладки в отдельное значение:

% requires you \usepackage{hyperref} first 
\hypersetup{ 
    bookmarksdepth = section, % of whatever level you want 
} 

Также обратите внимание, что если у вас есть список цифр/таблиц, то для отображения их должно быть не менее 2-х символов, для отображения tocdepth.

Я не вижу никакого способа переупорядочения этих элементов в файлах LaTeX --- Doxygen просто их закрывает, поэтому мы не можем много сделать. Вам нужно будет сослаться на документацию Doxygen, чтобы узнать, есть ли способ указать заказ, который я предполагаю. (Здесь надеется!)

+0

+1 Это должно обойти проблему с предложением dmckee и более надежным, чем мое предложение. Кто знает, может быть, он даже работает ... –

1

Вы так близко.

погуглить на «уровне содержания латекса» привел меня к LaTeX - customizing the depth of the table of contents for different parts of the thesis, который наводит на мысль

\setcounter{tocdepth}{n} 

где n начинается в нуле только высокого уровня разделения. Это предположительно определяется во всех стилях по умолчанию, но стоит попробовать в doxygen.

+0

Я попытался поместить это в свою таблицу стилей, но это не имело никакого эффекта. После поиска немного больше я обнаружил, что Doxygen ставит «\ setcounter {tocdepth} {3}» сразу после команды «\ makeindex», которая является поворотом после включения пользовательских пакетов. Поэтому я возвращаюсь к редактированию файла каждый раз, когда Doxygen генерирует его, если нет чего-то, чтобы остановить Doxygen, добавляя это, или предотвратить латекс, позволяющий последним переопределять мой? –

+0

IT также влияет на глубину закладок, которые id любят сохранять, если это возможно, поскольку сборная древовидная структура делает ее более подходящей для полного списка. Однако все, что я нашел, похоже, относится к ним одинаково :( –

+2

Многие из нас, использующих LaTeX для документирования, используют файлы для управления публикацией, а пользовательские скрипты выполняют биты sed и awk (и других утилит), чтобы сделать вид редактирования вы, конечно, знаете. Конечно, многие из нас - давние пользователи Unix/Linux, для которых это так же естественно, как и дыхание, и подход может не соответствовать вашим потребностям или фону. –

1

Вы можете написать скрипт Perl/Awk, чтобы просто удалить ненужные строки из оглавления. Для файла burble.tex, латексные будет генерировать файл burble.toc, который будет содержать строки, такие как:

 
\contentsline {subsection}{Class F rewrites}{38} 
\contentsline {subsection}{Class M rewrites}{39} 
\contentsline {section}{\numberline {7}Definition and properties of the translation}{44} 
\contentsline {paragraph}{Well-formedness}{54} 

Простые регулярные выражения будет определить, какие уровни каждая линия принадлежит, и вы можете выбирать файл, основанный на этом. Если у вас есть оглавление так, как вы хотите, вставьте \nofiles в соответствующее место (таблица стилей?), Что означает, что Latex будет читать вспомогательные файлы, но не перезаписывать их.

Смежные вопросы