Ответ 1
просмотрите пакет longtable
. он автоматически обрабатывает разрывы страниц.
http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf
В моей диссертации у меня есть глоссарий, который объясняет некоторые аббревиатуры, которые я использую. Я положил это на стол, чтобы он выглядел лучше. Однако LaTeX не разбивает строки в конце страницы.
Я знаю, что могу заставить разрыв строки в любой точке таблицы, но это длинный стол (много работы!) и ручные разрывы строк, что делает текст зазубренным и уродливым. Есть ли хороший способ либо иметь красивый глоссарий, либо сделать строки LaTeX автоматически в таблице?
... если LaTeX не будет делать эти вещи так часто, что мне это очень понравится. Так оно и есть, я постоянно переключаюсь между любовью и гневом...
просмотрите пакет longtable
. он автоматически обрабатывает разрывы страниц.
http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf
Почему вы используете таблицу для своего глоссария? Вы знаете о пакете glossaries? Это позволяет создавать красивые глоссарии с минимальными усилиями.
Если вы все еще хотите использовать таблицу, я предлагаю вам использовать tabularx, он определяет тип столбца X
, который создает столбцы с регулируемой шириной с переносом слов.
Например:
\usepackage{tabularx}
...
\begin{tabularx}{\textwidth}{ |l|X| }
\hline
word1 & long definition... \\
\hline
word2 & long definition... \\
\hline
\end{tabularx}
попробовать:
\begin{tabular}{|p{3cm}|p{4cm}|p{4cm}|}
Long text here & Long text here & Long text here \\
\end{tabular}
Это решение работало в моем случае:
\begin{tabular}{ll}
one line& \parbox[t]{5cm}{another\\column}\\
second line here& and here
\end{tabular}
(найдено на ответе на аналогичный вопрос в TeX Stack Exchange.)
Вставьте после каждого \\
(или \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}}