É fácil inventar uma tabela que necessite de uma célula que abranja várias linhas. Um exemplo é quando a coluna mais à esquerda rotula o restante da tabela; isso pode ser feito (em casos simples) usando uma separação diagonal na célula do canto, mas essa técnica limita rigorosamente o que pode ser usado como conteúdo da célula.
O pacote multirow permite que você construa essas células de múltiplas linhas de uma maneira muito simples. Para o uso mais simples possível, pode-se escrever:
e o multirow vai colocar “Common g text” no centro vertical do espaço definido pelas outras linhas. Observe que as linhas que não contêm a especificação de “várias linhas” devem ter células vazias onde a múltipla linha será exibida.\begin{tabular}{|c|c|} \hline \multirow{4}{*}{Common g text} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
O “*” pode ser substituído por uma especificação de largura de coluna. Nesse caso, o argumento pode conter quebras de linha forçadas:
Um efeito similar (com a possibilidade de um pouco mais de sofisticação) pode ser alcançado colocando-se uma tabela menor que alinha o texto dentro de uma\begin{tabular}{|c|c|} \hline \multirow{4}{25mm}{Common\\g text} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
\multirow
com um *.
O comando \multirow
também pode ser usado para escrever rótulos verticalmente em um ou outro lado de uma tabela (com a ajuda do pacote
graphics ou graphicx, que fornecem o comando
\rotatebox
):
(que resulta em texto de baixo para cima; use o ângulo de -90 para texto de cima para baixo, é claro).\begin{tabular}{|l|l|} \hline \multirow{4}{*}{\rotatebox{90}{hi there}} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
Para fazer uma célula multilinha \multicolumn
em uma tabela, você tem que incluir um \multirow
dentro de um \multicolumn
— o contrário não funciona; então:
O Multirow está configurado para interagir com o pacote bigstrut (que também é discutido na resposta sobre Espaçamento entre linhas em tabelas). Você usa um argumento opcional do comando\begin{tabular}{|c|c|c|}\hline \multicolumn{2}{|c|}{\multirow{2}{*}{combined cells}} &top right\\ \cline{3-3} \multicolumn{2}{|c|}{} &middle right\\ \hline bottom left &bottom center &bottom right\\ \hline \end{tabular}
\multirow
para dizer quantas das linhas na multilinha foram abertas com o \bigstrut
.
A documentação, tanto do multirow quanto do bigstrut pode ser encontrada, como comentários, nos próprios arquivos dos pacotes.
This question on the Web: http://latex.net.br/faq/FAQ-multirow.html
Do you have any question? Ask on: latex.net.br - we love qood questions!