Como faço uma tabela usando \begin{table*} em LaTeX?

A tabela I estou tentando criar é um pouco complicado e deve ser assim:

Insira a descrição da imagem aqui

Desculpe pelas linhas tortas da imagem.

Até agora, só consegui fazer algo simples:

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

Com este código, tenho as seguintes colunas – Nome, Texto 1, Texto 2, Texto 3, Texto 4, Texto 5, Texto 6, Texto 7 e Texto 8. E posso adicionar quantas linhas eu quiser na tabela.

Não tenho os marcadores de Categoria 1, Categoria 2 e Categoria 3 no lado esquerdo e superior da imagem.

Comentários

Resposta

Este é um ponto de partida . O espaçamento pode e deve ser ajustado, mas isso só faz sentido depois de preencher a tabela.

insira a descrição da imagem aqui

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

Editar: Como aumentar o número de colunas na categoria 3 de 2 para 6, conforme solicitado nos comentários:

  • Mude a linha que inicia a tabela para

    \begin{tabular}{r|l|*{12}{c|}} 
  • Altere o \multicolumn do título para

    \multicolumn{6}{c|}{Category 3} 
  • Altere os comandos \cline para \cline{3-14} e \cline{2-14}, respectivamente.

  • Você precisa adicionar colunas em todas as linhas, mesmo que permaneçam vazias, para ter linhas verticais. Isso significa adicionar

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

para os títulos das colunas e estender as outras linhas para

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

Comentários

  • Ainda estou tentando entender isso. Você poderia dar uma dica sobre como aumentar o número de colunas de 2 para 6 na categoria 3 (ou seja, eu tenho – Texto 7,8,9,10,11,12) Também como faço para ajustar o espaçamento? li>
  • Veja a edição da minha resposta. Definitivamente, você deve ler algum tutorial sobre como as tabelas funcionam no LaTeX, caso contrário, você terá que perguntar a cada alteração que deseja fazer. Quanto ao espaçamento, adie até terminar a mesa; em seguida, pergunte novamente se você não ‘ não gosta de algo em particular.
  • Portanto, só tenho um problema de espaçamento. Como faço para deixar isso bem? É parecido com isto – drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Sim, analisei a documentação e irei trabalhar nas tabelas. li> Basicamente, o texto da categoria 1 e da categoria 2 estão colidindo no lado esquerdo da tabela e a sexta coluna é um pouco mais larga por padrão.
  • Eu descobri. Eu não estava usando o número correto na opção multirow, mas a sexta coluna ainda é mais ampla.

Resposta

Você pode preferir usar booktabs.

A saída do seguinte código

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

Resposta

Você pode usar \rotatebox{angle}{text} para girar o texto (requer o pacote rotating ).

Você pode usar \multicolumn{num_cols}{alignment}{contents} para criar células que abrangem vários colunas.

Você pode usar \cline{from-to} para réguas horizontais que não abrange todas as colunas.

Você pode usar \multirow{num_rows}{width}{contents} para criar células abrangendo várias linhas (requer o multirow pacote ) .

O argumento do tabular *{11}{c|} é um atalho para onze vezes o c|, permitido pelo array pacote .

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

Além disso, você pode esteja interessado em esta questão a respeito da centralização vertical do conteúdo de uma célula multirow.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *