web-dev-qa-db-fra.com

sauts de ligne automatisés dans les tables LaTeX

Dans ma thèse, j'ai un glossaire qui explique certaines abréviations que j'utilise. J'ai mis cela dans un tableau pour le rendre plus joli. Cependant, LaTeX ne coupe pas les lignes à la fin de la page.

Je sais que je pourrais forcer un saut de ligne à tout moment dans le tableau, mais c'est un long tableau (beaucoup de travail!) Et les sauts de ligne manuels donnent au texte un aspect irrégulier et laid. Existe-t-il une bonne façon d'avoir un glossaire agréable ou de créer automatiquement des lignes de rupture LaTeX dans un tableau?

... si LaTeX ne faisait pas ces choses de temps en temps, je l'aimerais vraiment. En l'état, je passe constamment de l'affection à la colère ...

25
bastibe

regardez le package longtable. il gère automatiquement les sauts de pages. http://ctan.org/tex-archive/macros/latex/required/tools/longtable.pdf

24
Mica

Pourquoi utilisez-vous un tableau pour votre glossaire? Connaissez-vous le paquet glossaires ? Il vous permet de créer de beaux glossaires avec un minimum d'effort.

Si vous souhaitez toujours utiliser un tableau, je vous suggère d'utiliser le tabularx , il définit le type de colonne X qui crée des colonnes de largeur réglable avec habillage Word.

Par exemple:

\usepackage{tabularx}

...

\begin{tabularx}{\textwidth}{ |l|X| }
  \hline
  Word1 & long definition... \\
  \hline 
  Word2  & long definition...  \\
  \hline
\end{tabularx}
56
Manuel Ceron

essayer:

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

Cette solution a fonctionné dans mon cas:

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

(Trouvé sur le réponse à une question similaire sur TeX Stack Exchange .)

1
gergoe

Insérer après chaque \\ (ou \cr) le suivant:

\noalign{\penalty -100 }

Exemple:

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

Si vous souhaitez utiliser la règle après chaque ligne, écrivez

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