Hvordan laver jeg en tabel ved hjælp af \begin{table*} i LaTeX?

Tabellen I prøver at skabe er lidt kompliceret, og det skal se sådan ud:

Indtast billedbeskrivelse her

Undskyld for de skæve linjer i billedet.

Indtil videre har jeg kun været i stand til at gøre noget simpelt:

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

Med denne kode 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 tilføje så mange rækker som jeg vil have over bordet.

Jeg har ikke kategori 1, kategori 2 og kategori 3 på venstre og øverste side af billedet.

Kommentarer

Svar

Her er et udgangspunkt . Afstanden kan og skal justeres, men det giver kun mening, når du har udfyldt tabellen.

indtast billedebeskrivelse her

\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: Sådan øges antallet af kolonner i kategori 3 fra 2 til 6, som bedt om i kommentarerne:

  • Skift linjen, der starter tabellen til

    \begin{tabular}{r|l|*{12}{c|}} 
  • Skift \multicolumn for overskriften til

    \multicolumn{6}{c|}{Category 3} 
  • Skift \cline kommandoer til \cline{3-14} og \cline{2-14}.

  • Du skal tilføje kolonner i alle rækker, selvom de forbliver tomme, for at have lodrette linjer. Dette betyder at tilføje

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

for kolonneoverskrifterne og udvide de andre linjer til

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

Kommentarer

  • Jeg prøver stadig at forstå dette. Kan du venligst give et tip om, hvordan man øger antallet af kolonner fra 2 til 6 i kategori 3 (dvs. jeg har – Tekst 7,8,9,10,11,12) Hvordan justerer jeg også afstanden? /
  • Se redigeringen af mit svar. Du bør helt sikkert læse nogle tutorial om, hvordan tabeller fungerer i LaTeX, ellers skal du spørge med hver ændring, du vil foretage. Med hensyn til afstand skal du udsætte det, indtil du er færdig med bordet; så spørg igen, om du ikke kan lide ‘ noget.
  • Så jeg har kun et afstandsproblem. Hvordan får jeg det fint? Det ser sådan ud – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Ja, jeg gennemgik dokumentationen og vil arbejde på tabeller.
  • Grundlæggende kolliderer teksten i kategori 1 og kategori 2 på venstre side af tabellen, og den sjette kolonne er som standard lidt bredere.
  • Jeg fandt ud af det. Jeg brugte ikke det rigtige nummer på multirow-indstillingen, men den sjette kolonne er stadig bredere.

Svar

Du foretrækker muligvis at bruge bogfaner.

Outputtet fra følgende kode

\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 bruge \rotatebox{angle}{text} for at rotere tekst (kræver pakken rotating ).

Du kan bruge \multicolumn{num_cols}{alignment}{contents} til at oprette celler, der spænder over flere kolonner.

Du kan bruge \cline{from-to} til vandrette regler, der ikke ikke spænder over alle kolonner.

Du kan bruge \multirow{num_rows}{width}{contents} til at oprette celler, der spænder over flere rækker (kræver multirow pakke ) .

Argumentet for tabellen *{11}{c|} er en genvej til elleve gange c|, tilladt af 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} 

Desuden kan du være interesseret i dette spørgsmål vedrørende lodret centrering af indholdet af en multirow-celle.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *