Je crée un rapport dans LaTeX qui implique quelques tableaux. Je suis coincé là-dessus car mes données de cellule dans le tableau dépassent la largeur de la page. Puis-je en quelque sorte envelopper le texte afin qu'il tombe dans la ligne suivante dans la même cellule du tableau?
Est-ce en quelque sorte lié à la largeur de la table? Mais comme il dépasse la largeur de la page, cela fera-t-il une différence?
Réponses:
Utilisez p {width} pour vos spécificateurs de colonne au lieu de l / r / c.
la source
\begin{tabular}{p{1cm}p{3cm}}
begin{tabular}{lp{<whatever is left to fill the line width>}}
p{0.2\linewidth}p{0.6\linewidth}}
Avec l'
tabular
environnement normal , vous souhaitez utiliser lep{width}
type de colonne, comme l'indique marcog. Mais cela vous oblige à donner des largeurs explicites.Une autre solution est l'
tabularx
environnement:Toutes les colonnes X ont la même largeur. Vous pouvez influencer cela en définissant
\hsize
dans la déclaration de format:mais alors tous les facteurs doivent résumer à 1, je suppose (j'ai pris cela du compagnon LaTeX). Il y a aussi le package
tabulary
qui ajustera les largeurs de colonne pour équilibrer les hauteurs de ligne. Pour les détails, vous pouvez obtenir la documentation de chaque paquet avectexdoc tabulary
(dans TeXlive).la source
Une autre option consiste à insérer une minipage dans chaque cellule où l'habillage du texte est souhaité, par exemple:
la source
itemize
listes dans mes cellules.\columnwidth
: lorsque je l'ai essayé, il semblait que ce soit plus la largeur de la table que la largeur de la colonne, j'ai donc dû définir une proportion manuelle comme0.2\columnwidth
pour obtenir une largeur raisonnable.J'aime la simplicité du
tabulary
package:Dans l'exemple, vous organisez toute la largeur de la table par rapport à \ textwidth. Par exemple 0,4 de celui-ci. Ensuite, le reste est automatiquement effectué par le package.
La plupart de l'exemple est tiré de http://en.wikibooks.org/wiki/LaTeX/Tables .
la source
Simple comme un morceau de GÂTEAU!
Vous pouvez définir un nouveau type de colonne comme (
L
dans ce cas) tout en conservant l'alignement actuel (c
,r
oul
):la source
Si vous souhaitez encapsuler votre texte tout en conservant l'alignement, vous pouvez encapsuler cette cellule dans un environnement
minipage
ouvarwidth
(varwidth provient du package varwidth). Varwidth sera "aussi large que son contenu mais pas plus large que X". Vous pouvez créer un type de colonne personnalisé qui agit comme "p {xx}" mais se rétrécit pour s'adapter en utilisantqui peut nécessiter le
array
paquet. Ensuite, lorsque vous utilisez quelque chose comme\begin{tabular}{llM{2in}}
les deux premières colonnes, nous sommes alignés à gauche et la troisième colonne est alignée à gauche, mais si elle dépasse 2 pouces, le texte est encapsulé.la source
Pour modifier le texte
AB
dansA \r B
une cellule de tableau, tout mettre dans la position de la cellule:\makecell{A \\ B}
.Avant de faire cela, vous devez également inclure le package
makecell
.la source
la source