Hur skapar jag en tabell med \begin{table*} i LaTeX?

Tabellen I jag försöker skapa är lite komplicerat, och det ska se ut så här:

Ange bildbeskrivning här

Ledsen för bildens krokiga linjer.

Hittills har jag bara kunnat göra något enkelt:

\begin{table*}[t] \centering \begin{tabular}{ *1c | *3c | *3c | *2c | } & & & & & & & & & & & & \\ % Keep adding as many numbers of rows, etc. \end{tabular} \end{table} 

Med den här koden har jag följande kolumner – Namn, Text 1, Text 2, Text 3, Text 4, Text 5, Text 6, Text 7 och Text 8. Och jag kan lägga till så många rader som jag vill över bordet.

Jag har inte kategori 1, kategori 2 och kategori 3 på bildens vänstra och övre sida.

Kommentarer

Svar

Här är en startpunkt . Avståndet kan och bör justeras, men det är bara meningsfullt när du har fyllt i tabellen.

ange bildbeskrivning här

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

Redigera: Hur man ökar antalet kolumner i kategori 3 från 2 till 6, som man frågat i kommentarerna:

  • Ändra raden som börjar tabellen till

    \begin{tabular}{r|l|*{12}{c|}} 
  • Ändra \multicolumn för rubriken till

    \multicolumn{6}{c|}{Category 3} 
  • Ändra kommandona \cline till \cline{3-14} och \cline{2-14}.

  • Du måste lägga till kolumner i alla rader, även om de förblir tomma, för att ha vertikala linjer. Detta innebär att du lägger till

     & \sw{Text9} & \sw{Text10} & \sw{Text11} & \sw{Text12} 

för kolumnrubrikerna och utvidgar de andra raderna till

 & & & & & & & & & & & & & 

Kommentarer

  • Jag försöker fortfarande förstå detta. Kan du snälla ge ett tips om hur du kan öka antalet kolumner från 2 till 6 i kategori 3 (dvs. jag har – Text 7,8,9,10,11,12) Hur justerar jag också avståndet? /
  • Se redigeringen av mitt svar. Du bör definitivt läsa en handledning om hur bord fungerar i LaTeX, annars måste du fråga med varje förändring du vill göra. När det gäller avstånd, skjut upp det tills du är klar med bordet; fråga sedan igen om du inte gillar ’ inte något särskilt.
  • Så jag har bara ett avståndsproblem. Hur gör jag det här bra? Det ser ut så här – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Ja, jag gick igenom dokumentationen och kommer att arbeta med bord.
  • I grund och botten kolliderar texten i kategori 1 och kategori 2 till vänster i tabellen och den sjätte kolumnen är som standard lite bredare.
  • Jag tänkte ut det. Jag använde inte rätt nummer på multirow-alternativet, men den sjätte kolumnen är fortfarande bredare.

Svar

Du kanske föredrar att använda boktavlor.

Utdata från följande kod

\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 använda \rotatebox{angle}{text} för att rotera text (kräver rotating paket ).

Du kan använda \multicolumn{num_cols}{alignment}{contents} för att skapa celler som spänner över flera kolumner.

Du kan använda \cline{from-to} för horisontella regler som inte inte spänner över alla kolumner.

Du kan använda \multirow{num_rows}{width}{contents} för att skapa celler som spänner över flera rader (kräver paketet multirow ) .

Argumentet för tabell *{11}{c|} är en genväg för elva gånger c|, tillåtet av array paket .

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

Dessutom kan du vara intresserad av den här frågan angående vertikalt centrering av innehållet i en multirow-cell.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *