Jak vytvořím tabulku pomocí \begin{table*} v LaTeXu?

Tabulka I Snažím se vytvořit je trochu komplikované a mělo by to vypadat takto:

Zde zadejte popis obrázku

Omlouvám se za křivé čáry obrázku.

Zatím jsem dokázal udělat jen něco jednoduchého:

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

S tímto kódem mám následující sloupce – Název, Text 1, Text 2, Text 3, Text 4, Text 5, Text 6, Text 7 a Text 8. A mohu přidat tolik řádků, kolik chci přes stůl.

Nemám paty kategorie 1, kategorie 2 a kategorie 3 na levé a horní straně obrázku.

Komentáře

odpověď

Zde je výchozí bod . Mezery mohou a měly by být upraveny, ale to má smysl pouze po vyplnění tabulky.

zadat popis obrázku zde

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

Upravit: Jak zvýšit počet sloupců v kategorii 3 ze 2 na 6, jak je uvedeno v komentářích:

  • Změňte řádek začínající tabulkou na

    \begin{tabular}{r|l|*{12}{c|}} 
  • Změňte \multicolumn nadpis na

    \multicolumn{6}{c|}{Category 3} 
  • Změňte příkazy \cline na \cline{3-14} a \cline{2-14}.

  • Chcete-li mít svislé čáry, musíte přidat sloupce do všech řádků, i když zůstanou prázdné. To znamená přidání

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

do záhlaví sloupců a rozšíření dalších řádků na

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

Komentáře

  • Stále se tomu snažím porozumět. Mohl byste mi prosím poradit, jak zvýšit počet sloupců z 2 na 6 v kategorii 3 (tj. Mám – Text 7,8,9,10,11,12) Jak také upravit mezery? /
  • Viz úprava mé odpovědi. Určitě byste si měli přečíst návod, jak tabulky fungují v LaTeXu, jinak se musíte zeptat při každé změně, kterou chcete provést. Pokud jde o mezery, odložte je, dokud nedokončíte tabulku; pak se znovu zeptejte, jestli se vám ‚ nelíbí něco konkrétního.
  • Takže mám jen jeden problém s mezerami. Jak to udělám dobře? Vypadá to takto – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Ano, prošel jsem dokumentací a budu pracovat na tabulkách.
  • V zásadě se text kategorie 1 a kategorie 2 srazí na levé straně tabulky a šestý sloupec je ve výchozím nastavení trochu širší.
  • Přišel jsem na to. Nepoužíval jsem správné číslo u možnosti multirow, ale šestý sloupec je stále širší.

Odpověď

Možná byste raději používali booktabs.

Výstup následujícího kódu

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

Odpověď

Můžete použít \rotatebox{angle}{text} pro otáčení textu (vyžaduje balíček rotating ).

Pomocí \multicolumn{num_cols}{alignment}{contents} můžete vytvořit buňky zahrnující několik sloupce.

Můžete použít \cline{from-to} pro horizontální pravidla, která ne překlenout všechny sloupce.

Pomocí \multirow{num_rows}{width}{contents} můžete vytvořit buňky překlenující několik řádků (vyžaduje balíček multirow ) .

Argument tabulkové *{11}{c|} je zkratka pro jedenáctkrát c|, kterou array balíček .

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

Dále můžete zajímat se o tuto otázku ohledně vertikálního centrování obsahu víceřádkové buňky.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *