LaTeX表中的自动换行符

时间:2009-12-16 22:47:59

标签: latex

在我的论文中,我有一个词汇表,解释了我使用的一些缩写。我把它放在桌子上让它看起来更好。但是,LaTeX不会在页面末尾打破行。

我知道我可以在表格中的任何一点强制换行,但它是一个很长的表(很多工作!)和手动换行使文本看起来像锯齿状和丑陋。有没有一种很好的方法可以有一个漂亮的词汇表或在表格中自动制作LaTeX断行线?

......如果LaTeX不经常做这些事我会非常喜欢它。就这样,我不断地在感情和愤怒之间切换......

5 个答案:

答案 0 :(得分:55)

为什么要为词汇表使用表格?你知道glossaries包吗?它可以让您轻松创建精美的词汇表。

如果您仍想使用表格,我建议您使用tabularx,它会定义X列类型,该列类型会使用自动换行创建宽度可调的列。

例如:

\usepackage{tabularx}

...

\begin{tabularx}{\textwidth}{ |l|X| }
  \hline
  word1 & long definition... \\
  \hline 
  word2  & long definition...  \\
  \hline
\end{tabularx}

答案 1 :(得分:24)

查看longtable包。它会自动处理分页符。 http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf

答案 2 :(得分:5)

尝试:

\begin{tabular}{|p{3cm}|p{4cm}|p{4cm}|}
Long text here & Long text here & Long text here \\
\end{tabular}

答案 3 :(得分:1)

此解决方案适用于我的情况:

\begin{tabular}{ll}
one line& \parbox[t]{5cm}{another\\column}\\
second line here& and here
\end{tabular}

(在answer to a similar question on TeX Stack Exchange上找到。)

答案 4 :(得分:0)

在每个\\(或\cr)之后插入以下内容:

\noalign{\penalty -100 }

示例:

\def\penlt{\noalign{\penalty-100 }}

\halign{&\hfil\ (#)\ \hfil\cr
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
1&2&3\cr \penlt
}

如果你想在每一行之后使用规则,那么写一下

\def\penlt{\noalign{\hrule \penalty-100 \hrule height -.4pt \hrule}}