简体   繁体   中英

automated line breaks in LaTeX tables

In my dissertation, I have a glossary that explains some abbreviations I use. I put this in a table to make it look nicer. However, LaTeX does not break lines at the end of the page.

I know that I could force a line break at any point in the table, but it is a long table (much work!) and manual line breaks make the text look jagged and ugly. Is there a nice way to either have a nice-looking glossary or make LaTeX break lines automatically in a table?

...if LaTeX wouldn't do these things every so often I would really love it. The way it is, I constantly switch between affection and anger...

Why are you using a table for your glossary? Are you aware of the glossaries package? It lets you create beautiful glossaries with a minimum effort.

If you still want to use a table, I suggest you to use the tabularx , it defines the X column type which creates columns of adjustable width with word wrapping.

For example:

\usepackage{tabularx}

...

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

look at the longtable package. it handles pages breaks automatically. http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf

try:

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

This solution worked in my case:

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

(Found on the answer to a similar question on TeX Stack Exchange .)

Insert after each \\\\ (or \\cr ) the following:

\noalign{\penalty -100 }

Example:

\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
}

If you want to use the rule after each line then write

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM