2009-12-16 10 views
25

Dans ma thèse, j'ai un glossaire qui explique certaines abréviations que j'utilise. Je l'ai mis dans une table pour le rendre plus joli. Cependant, LaTeX ne casse pas les lignes à la fin de la page. Je sais que je pourrais forcer un saut de ligne à n'importe quel point de la table, mais c'est une table longue (beaucoup de travail!) Et les sauts de ligne manuels rendent le texte jappé et moche. Existe-t-il un bon moyen d'avoir un beau glossaire ou de faire des lignes de break LaTeX automatiquement dans une table?sauts de ligne automatisés dans les tables LaTeX

... si LaTeX ne ferait pas ces choses de temps en temps je l'aimerais vraiment. La façon dont il est, je passe constamment entre l'affection et la colère ...

Répondre

23

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

+1

Désolé pour le downvote, mais ma question est à propos de les sauts de ligne, pas les sauts de page – bastibe

+5

auquel cas vous pouvez dire: 'begin {longtable} {l> {\ raggedright} p {0.75 \ textwidth}}' et vos lignes se casseront automatiquement au bord de la table & à la page pause;) – Mica

+0

Oh, je n'étais pas au courant de ça! Je vous remercie! – bastibe

0

Insérer après chaque \\ (ou \cr) les éléments suivants:

\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, puis écrire

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

Pourquoi êtes-vous utiliser une table pour votre glossaire? Connaissez-vous le paquet glossaries? Il vous permet de créer de magnifiques glossaires avec un minimum d'effort.

Si vous souhaitez toujours utiliser une table, je vous suggère d'utiliser le tabularx, il définit le type de colonne X qui crée des colonnes de largeur ajustable avec un retour à la ligne.

Par exemple:

\usepackage{tabularx} 

... 

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

Vous êtes mon héros! – bastibe

+0

+1 semble être la solution la plus simple – bgw

+2

J'ai trouvé cette page via Google ... Cette solution a bien fonctionné pour moi! –

5

essayer:

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