В моей диссертации у меня есть глоссарий, который объясняет некоторые сокращения, которые я использую. Я поместил это в таблицу, чтобы заставить его выглядеть более хорошим. Однако ЛАТЕКС не повреждает строки в конце страницы.
Я знаю, что мог вызвать разрыв строки в любой точке в таблице, но это - длинная таблица (много работы!) и разрывы строки вручную заставляют текст выглядеть зубчатым и ужасным. Существует ли хороший способ или иметь привлекательный глоссарий или заставить ЛАТЕКС повредить строки автоматически в таблице?
... если бы ЛАТЕКС не сделал бы этих вещей время от времени, я действительно любил бы его. Путем это, я постоянно переключаюсь между привязанностью и гневом...
посмотрите на пакет longtable
. он автоматически обрабатывает разрывы страниц.
http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf
Почему вы используете таблица для вашего глоссария? Знаете ли вы о пакете глоссариев ? Он позволяет создавать красивые глоссарии с минимальными усилиями.
Если вы все еще хотите использовать таблицу, я предлагаю вам использовать tabularx , он определяет тип столбца X
, который создает столбцы регулируемой ширины с переносом слов.
Например:
\usepackage{tabularx}
...
\begin{tabularx}{\textwidth}{ |l|X| }
\hline
word1 & long definition... \\
\hline
word2 & long definition... \\
\hline
\end{tabularx}
Вставить после каждого \\
(или \ 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}}