Установить ширину столбца в выводе LaTeX для doxygen - PullRequest
2 голосов
/ 15 марта 2012

Как мне установить ширину столбца в комментариях для doxygen?

Для следующей таблицы я хотел бы, чтобы первый столбец был как можно меньшим в моем выводе LaTeX (PDF).

/*!
@brief
blablabla

Name | Description
---- | -----------
AB   | asdf asdf asdf asdf asdf 
*/

Ответы [ 2 ]

1 голос
/ 16 марта 2012

У Latex есть два способа создания таблиц (по крайней мере, насколько мне известно):

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

Поскольку doxygen не может угадать ширину таблицы, он использует фиксированную ширину столбца, и в настоящее время он основан на\ текстовая ширина делится на количество столбцов.

Я думаю о том, чтобы поместить эту ширину в переменную длины TeX, чтобы вы могли отменить ее с помощью специальной команды doxygen, но это пока не реализовано.

0 голосов
/ 04 июля 2015

Я использую Doxygen 1.8.9.1, и сегодня у AFAIK до сих пор нет опции Doxygen для отключения фиксированной ширины в столбцах.Однако вы можете отредактировать файл doxygen.sty вручную.

Мне удалось добиться того, что вы хотите, выполнив поиск \begin{xtabular} и изменив разметку столбца (т. Е. Что находится между двумя вертикальными полосами |) длявсе столбцы, кроме последнего.Команда p{x.xx\textwidth} (не знаю, использую ли я правильную терминологию LaTeX) определяет ширину каждого столбца.При попытке, кажется, также лучше заменить команду до этого (>{\centering} и >{\raggedleft\hspace{0pt}}).

Например,

   \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
                     >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
                     p{0.678\textwidth}|}}%

тогда станет:

   \begin{xtabular}{|c|%
                     r|%
                     p{0.678\textwidth}|}}%

Отбрасывание пустых комментариев и размещение всего в одну строку дает:

   \begin{xtabular}{|c|r|p{0.678\textwidth}|}}

Двухэтапный процесс становится трехэтапным: для создания PDF вы

  • run Doxygen,
  • Адаптируйте сгенерированный doxygen.sty в подпапке из латекса или замените его отредактированной версией,
  • run Make.bat.

Примечания:

  • Это, конечно же, означает, что все ваши таблицы имеют разную ширину.
  • Вы говорите об уменьшении ширины столбцов, но в зависимости от ваших соглашений об именахвозможно, вы в конечном итоге увеличите ширину столбца (тем самым решив очень уродливую проблему с макетом переполнения).Убедитесь, что последний столбец не падает от правого края бумаги, сделав ширину последнего столбца также изменчивой или установив для него фиксированное значение, которое является достаточно низким даже для самых длинных имен.
...