Hvordan lager jeg en tabell med \begin{table*}
i LaTeX?
Tabellen I prøver å lage er litt komplisert, og det skal se slik ut:
Beklager de skjeve linjene i bildet.
Så langt har jeg bare vært i stand til å lage noe enkelt:
\begin{table*}[t] \centering \begin{tabular}{ *1c | *3c | *3c | *2c | } & & & & & & & & & & & & \\ % Keep adding as many numbers of rows, etc. \end{tabular} \end{table}
Med denne koden har jeg følgende kolonner – Navn, Tekst 1, Tekst 2, Tekst 3, Tekst 4, Tekst 5, Tekst 6, Tekst 7 og Tekst 8. Og jeg kan legge til så mange rader som jeg vil over bordet.
Jeg har ikke kategori 1, kategori 2 og kategori 3 på venstre og øvre side av bildet.
Kommentarer
Svar
Her er et utgangspunkt . Avstanden kan og bør justeres, men dette gir bare mening når du har fylt tabellen.
\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}
Rediger: Slik øker du antall kolonner i kategori 3 fra 2 til 6, slik du blir bedt om i kommentarene:
-
Endre linjen som starter tabellen til
\begin{tabular}{r|l|*{12}{c|}}
-
Endre
\multicolumn
for overskriften til\multicolumn{6}{c|}{Category 3}
-
Endre
\cline
kommandoene til\cline{3-14}
og\cline{2-14}
, henholdsvis. -
Du må legge til kolonner i alle radene, selv om de forblir tomme, for å ha vertikale linjer. Dette betyr å legge til
& \sw{Text9} & \sw{Text10} & \sw{Text11} & \sw{Text12}
for kolonneoverskriftene og utvide de andre linjene til
& & & & & & & & & & & & &
Kommentarer
- Jeg prøver fortsatt å forstå dette. Kan du gi et tips om hvordan du kan øke antall kolonner fra 2 til 6 i kategori 3 (dvs. jeg har – Tekst 7,8,9,10,11,12) Hvordan justerer jeg også avstanden? /
- Se redigeringen av svaret mitt. Du bør absolutt lese noen veiledning om hvordan bord fungerer i LaTeX, ellers må du spørre med hver endring du vil gjøre. Når det gjelder avstand, utsett det til du er ferdig med bordet; spør igjen om du ikke ‘ ikke liker noe spesielt.
- Så jeg har bare ett avstandsproblem. Hvordan får jeg dette bra? Det ser slik ut – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Ja, jeg gikk gjennom dokumentasjonen og vil jobbe med bord.
- I utgangspunktet kolliderer teksten i kategori 1 og kategori 2 på venstre side av tabellen, og den sjette kolonnen er litt bredere som standard.
- Jeg skjønte det. Jeg brukte ikke riktig nummer på multirow-alternativet, men den sjette kolonnen er fortsatt bredere.
Svar
Du foretrekker kanskje å bruke bokfelt.
\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}
Svar
Du kan bruke \rotatebox{angle}{text}
for å rotere tekst (krever rotating
-pakken ).
Du kan bruke \multicolumn{num_cols}{alignment}{contents}
for å lage celler som spenner over flere kolonner.
Du kan bruke \cline{from-to}
for horisontale regler som ikke ikke spenner over alle kolonnene.
Du kan bruke \multirow{num_rows}{width}{contents}
for å lage celler som spenner over flere rader (krever multirow
pakken ) .
Argumentet til tabell *{11}{c|}
er en snarvei i elleve ganger c|
, tillatt av array
pakke .
\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}
Videre kan du være interessert i dette spørsmålet angående vertikalt sentrering av innholdet i en multirow-celle.
multirow
ctan .org / pkg / multirow? lang = de