Jak utworzyć tabelę za pomocą \begin{table*} w LaTeX?

Tabela I próbuję utworzyć jest nieco skomplikowane i powinno wyglądać tak:

Tutaj wprowadź opis obrazu

Przepraszamy za krzywe linie obrazu.

Do tej pory udało mi się zrobić tylko coś prostego:

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

Z tym kodem mam następujące kolumny – Nazwa, Tekst 1, Tekst 2, Tekst 3, Tekst 4, Tekst 5, Tekst 6, Tekst 7 i Tekst 8. Mogę dodać dowolną liczbę wierszy w całej tabeli.

Nie mam poprawek kategorii 1, 2 i 3 po lewej i górnej stronie obrazu.

Komentarze

Answer

Oto punkt wyjścia . Odstępy można i należy dostosować, ale ma to sens dopiero po wypełnieniu tabeli.

wprowadź opis obrazu tutaj

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

Edytuj: Jak zwiększyć liczbę kolumn w kategorii 3 z 2 do 6, zgodnie z pytaniem w komentarzach:

  • Zmień wiersz rozpoczynający tabelę na

    \begin{tabular}{r|l|*{12}{c|}} 
  • Zmień \multicolumn dla nagłówka na

    \multicolumn{6}{c|}{Category 3} 
  • Zmień polecenia \cline na \cline{3-14} i \cline{2-14}.

  • Aby mieć pionowe linie, musisz dodać kolumny we wszystkich wierszach, nawet jeśli pozostają puste. Oznacza to dodanie

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

dla nagłówków kolumn i rozszerzenie pozostałych wierszy na

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

Komentarze

  • Wciąż próbuję to zrozumieć. Czy mógłbyś dać wskazówkę, jak zwiększyć liczbę kolumn z 2 do 6 w kategorii 3 (tj. Mam – Tekst 7,8,9,10,11,12) Również jak dostosować odstępy? /
  • Zobacz edycję mojej odpowiedzi. Zdecydowanie powinieneś przeczytać samouczek na temat działania tabel w LaTeX, w przeciwnym razie będziesz musiał pytać przy każdej zmianie, którą chcesz wprowadzić. Jeśli chodzi o odstępy, odłóż je, aż skończysz ze stołem; następnie zapytaj ponownie, czy ' coś ci się nie podoba.
  • Mam tylko jeden problem z odstępami. Jak to zrobić dobrze? Wygląda to tak – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Tak, przejrzałem dokumentację i będę działać na tabelach.
  • Zasadniczo tekst kategorii 1 i kategorii 2 koliduje z lewej strony tabeli, a szósta kolumna jest domyślnie nieco szersza.
  • Rozgryzłem to. Nie używałem poprawnej liczby w opcji multirow, ale szósta kolumna jest nadal szersza.

Odpowiedź

Wolisz używać kart książek.

Dane wyjściowe następującego kodu

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

Odpowiedź

Możesz użyć \rotatebox{angle}{text} do obracania tekstu (wymaga pakietu rotating ).

Możesz użyć \multicolumn{num_cols}{alignment}{contents} , aby utworzyć komórki obejmujące kilka kolumny.

Możesz użyć \cline{from-to} dla reguł poziomych, które nie obejmują wszystkie kolumny.

Możesz użyć \multirow{num_rows}{width}{contents} , aby utworzyć komórki obejmujące kilka wierszy (wymaga pakietu multirow ) .

Argument tabelarycznego *{11}{c|} jest skrótem jedenastu razy c|, dozwolonym przez array pakiet .

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

Ponadto możesz zainteresować się tym pytaniem dotyczącym pionowego wyśrodkowania zawartości wielowierszowej komórki.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *