Hoe maak ik een tabel met \begin{table*}
in LaTeX?
De tabel I wat ik probeer te maken is een beetje ingewikkeld, en het zou er als volgt uit moeten zien:
Sorry voor de kromme lijnen van de afbeelding.
Tot nu toe heb ik alleen iets eenvoudigs kunnen maken:
\begin{table*}[t] \centering \begin{tabular}{ *1c | *3c | *3c | *2c | } & & & & & & & & & & & & \\ % Keep adding as many numbers of rows, etc. \end{tabular} \end{table}
Met deze code heb ik de volgende kolommen: Naam, Tekst 1, Tekst 2, Tekst 3, Tekst 4, Tekst 5, Tekst 6, Tekst 7 en Tekst 8. En ik kan toevoegen zoveel rijen als ik wil over de tafel.
Ik heb geen categorie 1, categorie 2 en categorie 3 pat aan de linker- en bovenkant van de afbeelding.
Reacties
Antwoord
Hier is een startpunt . De afstand kan en moet worden aangepast, maar dit heeft pas zin als je de tabel eenmaal hebt gevuld.
\documentclass{article} \usepackage{rotating} \newcommand\sw[1]{\begin{sideways}#1\end{sideways}} \usepackage{multirow} \begin{document} \begin{tabular}{r|l|*8{c|}} \multicolumn{2}{c|}{} & \multicolumn{3}{c|}{Category 1} & \multicolumn{3}{c|}{Category 2} & \multicolumn{2}{c|}{Category 3} \\\cline{3-10} & Name & \sw{Text1} & \sw{Text2} & \sw{Text3} & \sw{Text4} & \sw{Text5} & \sw{Text6} & \sw{Text7} & \sw{Text8} \\\hline \multirow{4}{*}{\sw{\small Category 1}} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\hline \multirow{4}{*}{\sw{\small Category 2}} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\hline \end{tabular} \end{document}
Bewerken: Hoe het aantal kolommen in categorie 3 te verhogen van 2 naar 6, zoals gevraagd in de opmerkingen:
-
Verander de regel die de tabel begint in
\begin{tabular}{r|l|*{12}{c|}}
-
Wijzig de
\multicolumn
voor de kop in\multicolumn{6}{c|}{Category 3}
-
Wijzig de
\cline
-opdrachten in\cline{3-14}
en\cline{2-14}
, respectievelijk. -
Je moet kolommen in alle rijen toevoegen, zelfs als ze leeg blijven, om verticale lijnen te krijgen. Dit betekent het toevoegen van
& \sw{Text9} & \sw{Text10} & \sw{Text11} & \sw{Text12}
voor de kolomtitels en het uitbreiden van de andere regels naar
& & & & & & & & & & & & &
Reacties
- Ik probeer dit nog steeds te begrijpen. Kunt u alstublieft een tip geven over hoe u het aantal kolommen kunt verhogen van 2 naar 6 in categorie 3 (dwz ik heb – Tekst 7,8,9,10,11,12) Ook hoe pas ik de afstand aan? /
- Zie de bewerking van mijn antwoord. Je moet zeker een tutorial lezen over hoe tabellen werken in LaTeX, anders moet je het bij elke wijziging die je wilt aanbrengen vragen. Wat betreft de afstand, stel deze uit tot u klaar bent met de tafel; vraag dan opnieuw of je ‘ niet van iets in het bijzonder houdt.
- Dus ik heb maar één afstandsprobleem. Hoe maak ik dit fijn? Het ziet er als volgt uit – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Ja, ik heb de documentatie doorgenomen en zal aan tabellen werken.
- In principe botsen de tekst van categorie 1 en categorie 2 aan de linkerkant van de tabel en is de zesde kolom standaard een beetje breder.
- Ik heb het uitgezocht. Ik gebruikte niet het juiste nummer voor de multirow-optie, maar de zesde kolom is nog breder.
Answer
Misschien geeft u er de voorkeur aan om boekentabs te gebruiken.
\documentclass{standalone} \usepackage{booktabs} \usepackage{rotating} \newcommand\sw[1]{\small\begin{sideways}#1 \end{sideways}} \usepackage{multirow} \begin{document} \def\arraystretch{1.25} \begin{tabular}{rl*8{c}} \toprule \multicolumn{2}{c}{} & \multicolumn{3}{c}{Category 1} & \multicolumn{3}{c}{Category 2} & \multicolumn{2}{c}{Category 3} \\ & Name & \sw{Text1} & \sw{Text2} & \sw{Text3} & \sw{Text4} & \sw{Text5} & \sw{Text6} & \sw{Text7} & \sw{Text8} \\ \midrule \multirow{4}{*}{\sw{Category 1}} & a & A & & & & & & & \\ & b & B & & & & & & & \\ & c & C & & & & & & & \\ & d & D & & & & & & & \\ \multirow{4}{*}{\sw{Category 2}} & a & A & & & & & & & \\ & b & B & & & & & & & \\ & c & C & & & & & & & \\ & d & D & & & & & & & \\ \bottomrule \end{tabular} \end{document}
Antwoord
Je kunt \rotatebox{angle}{text}
om tekst te roteren (vereist het rotating
pakket ).
U kunt \multicolumn{num_cols}{alignment}{contents}
gebruiken om cellen te maken die zich over meerdere kolommen.
U kunt \cline{from-to}
gebruiken voor horizontale regels die niet overspannen alle kolommen.
U kunt \multirow{num_rows}{width}{contents}
gebruiken om cellen te maken die zich uitstrekken over meerdere rijen (vereist het multirow
pakket ) .
Het argument van de tabel *{11}{c|}
is een snelkoppeling voor elf keer de c|
, toegestaan door de array
pakket .
\documentclass{article} \usepackage{array} \usepackage{rotating}% https://en.wikibooks.org/wiki/LaTeX/Rotations \usepackage{multirow}% https://tex.stackexchange.com/a/73285/120953 \newcommand{\cat}[1]{#1} \newcommand{\thead}[1]{#1} \newcommand{\catver}[1]{\rotatebox{90}{\cat{#1}}} \newcommand{\theadver}[1]{\rotatebox{90}{\thead{#1}\hspace{.7em}}} \begin{document} \begin{tabular}{*{11}{c|}} \multicolumn{2}{l|}{} & \multicolumn{3}{l|}{\cat{Category~1}} & \multicolumn{3}{l|}{\cat{Category~2}} & \multicolumn{3}{l|}{\cat{Category~3}} % https://tex.stackexchange.com/a/8555/120953 \\\cline{3-11} & \thead{Name} & \theadver{Text~1} & \theadver{Text~2} & \theadver{Text~3} & \theadver{Text~4} & \theadver{Text~5} & \theadver{Text~6} & \theadver{Text~7} & \theadver{Text~8} & \theadver{Text~9} \\\hline \multirow{5}{*}{\catver{Category~1}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \multirow{5}{*}{\catver{Category~2}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \multirow{5}{*}{\catver{Category~3}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \end{tabular} \end{document}
Bovendien kunt u geïnteresseerd zijn in deze vraag met betrekking tot het verticaal centreren van de inhoud van een cel met meerdere rijen.
multirow
ctan nodig .org / pkg / multirow? lang = de