首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在doxygen的LaTeX输出中设置列宽

在doxygen的LaTeX输出中设置列宽
EN

Stack Overflow用户
提问于 2012-03-16 00:03:52
回答 2查看 2.4K关注 0票数 2

如何在doxygen的注释中设置列宽?

对于下表,我希望我的LaTeX (PDF)输出中的第一列尽可能小。

代码语言:javascript
复制
/*!
@brief
blablabla

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-16 04:41:48

Latex有两种制作表格的方法(至少据我所知):

宽度最小的

  • ,但没有文本换行或防止表格变得过宽的保护。您只需收到一个超满的警告,表格就会从页面上消失。
  • 使用固定的列宽;然后文本将很好地换行,但必须提前为每一列选择合适的宽度。

由于doxygen无法猜测表的宽度,因此它使用固定的列宽,目前是基于\textwidth除以列数。

我正在考虑将这个宽度放在doxygen长度变量中,这样您就可以用一个特殊的TeX命令来否决它,但这还没有实现。

票数 1
EN

Stack Overflow用户

发布于 2015-07-05 03:39:06

我使用的是Doxy1.8.9.1,而AFAIK目前仍然没有关闭固定宽度的列的Doxygen选项。但是,您可以手动编辑doxygen.sty文件。

我能够通过搜索\begin{xtabular}并更改除最后一列之外的所有列的列标记(即两个垂直栏|之间的内容)来实现您想要的结果。p{x.xx\textwidth}命令(不知道我是否使用了正确的LaTeX术语)定义了每列的宽度。通过尝试,似乎更好地替换了之前的命令(>{\centering}>{\raggedleft\hspace{0pt}})。

例如,

代码语言:javascript
复制
   \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
                     >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
                     p{0.678\textwidth}|}}%

就会变成:

代码语言:javascript
复制
   \begin{xtabular}{|c|%
                     r|%
                     p{0.678\textwidth}|}}%

去掉空注释,将所有内容放在一行中,结果如下:

代码语言:javascript
复制
   \begin{xtabular}{|c|r|p{0.678\textwidth}|}}

然后,两步过程变成三步过程:要创建pdf,您需要

  • run Doxygen
  • 调整LaTeX子文件夹中生成的doxygen.sty或将其替换为编辑后的版本,即
  • run Make.bat.

备注:

  • 这当然意味着你所有的表最终都有不同的宽度。
  • 你说要缩小列的宽度,但根据你的命名惯例,你可能最终会增加列的宽度(从而解决了一个非常丑陋的溢出布局问题)。确保最后一列不会落在纸的右边缘,方法是使最后一列的宽度也是流畅的,或者将其设置为一个固定值,该值即使对于最长的名字也足够低。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9723575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档