2012-03-15 26 views
2

如何在doxygen的註釋中設置列寬?在doxygen的LaTeX輸出中設置列寬

對於下表,我希望我的LaTeX(PDF)輸出中的第一列儘可能小。

/*! 
@brief 
blablabla 

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

回答

1

乳膠有兩種方法可以使表(至少據我所知):

  • 以最小的寬度,但防止表變得太寬不文本換行或保護。你簡單地得到一個滿溢的警告,表格將從頁面運行。具有固定列寬的
  • ;那麼文本將很好地包裹,但是必須提前爲每列選擇合適的寬度。

由於doxygen無法猜測表格的寬度,因此它使用固定的列寬度,並且當前基於\ textwidth除以列數。

我在考慮把這個寬度放在TeX長度變量中,所以你可以用一個特殊的doxygen命令來推翻它,但是這個還沒有實現。

+0

也許一個解決辦法可能是把表到一個單獨的HTML文件,該HTML文件轉換成PDF文件(有命令行工具爲),比doxygen的使用PDF作爲圖像。 – user1027167 2012-03-16 08:45:01

0

我正在使用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,你

  • 運行Doxygen
  • 適應產生doxygen.sty在乳膠子文件夾或與您的編輯版本來替換它,
  • 運行Make.bat

注:

  • 這當然ALS意味着所有的表最終具有不同的寬度。
  • 你說的是縮小列的寬度,但根據你的命名約定,你最終可能會擴大你的列寬(從而解決了一個非常難看的溢出佈局問題)。確保最後一列不會落在紙張的右邊緣,方法是使最後一列的寬度也是流暢的,或者將其設置爲固定值,即使是最長的名稱也足夠低。