
Estou tentando colocar minhas células em um ambiente tabular centralizado horizontalmente e verticalmente. MWE pode ser encontrado no final.
Eu tentei orientações diferentes: que faz o que deveria, bem como m{4cm}
variações complexas como {\centering}m{4cm}}
ou {\centering\arraybackslash}m{4cm}}
, embora eu deva ser honesto sobre não saber exatamente o que o parâmetro arraybackslash deve mudar - acabei de copiá-lo de outra postagem do stackexchange .
Todos os textos, inclusive os escritos verticalmente, devem ser centralizados horizontal e verticalmente. A parte principal da mesa será composta por fotos com legenda cada uma, sendo as fotos quadradas. Se alguém puder me dizer como alinhar as células, acho que isso também deve funcionar para as células, incluindo imagens, não é?
Editar:Atualizou o código e fez uma captura de tela do resultado. \parbox
é usado como espaço reservado para criar uma célula superior. O 1,5
fica centrado, isso é verdade. No entanto, as outras partes do texto parecem um pouco deslocadas para o topo, talvez por causa da vírgula abaixo da linha de base (essa é a palavra certa para isso?)? Alguma maneira de diminuir a redação geral em um ou dois pontos? E há alguma maneira de fazer com que as células fiquem um pouquinho mais altas? na célula "foobar foobar", a escrita risca as linhas na parte superior e inferior. Além disso, o texto verticalizado está descentralizado. Eu teria que trabalhar com minipáginas para centralizá-las?
\documentclass{scrreprt}
\usepackage{array}
\usepackage{multirow}
\usepackage{rotating}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{} & \multicolumn{5}{c|}{foo}\\
\cline{3-7}
\multicolumn{2}{|c|}{} & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\hline
\multirow{5}{*}{\rotatebox{90}{bar}} & 1,0 & & & & & \\
\cline{2-7}
& 1,5 & \parbox{2cm}{foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar } & & & & \\
\cline{2-7}
& 2,0 & & & & & \\
\cline{2-7}
& 2,5 & & & & & \\
\cline{2-7}
& 3,0 & & & & & \\
\hline
\end{tabular}
\end{table}
\end{document}
Responder1
Você poderia criar um novo tipo de coluna como
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
e depois use C{<your width>}
como definição de coluna, configurando <your width>
como desejar. Dessa forma, você terá suas colunas centralizadas vertical e horizontalmente.
Sugiro também remover linhas verticais, evitar células giradas e usar arquivos booktabs
.
\documentclass{scrreprt}
\usepackage{array}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{booktabs}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\chapter{A chapter}
Table \ref{tab:yours} is your table, but I suggest to you to redesign your
table like \ref{tab:mine}.
\begin{table}
\centering\setlength\extrarowheight{2pt}
\caption{Your table\label{tab:yours}}
\begin{tabular}{|*2{C{.5cm}|}*5{C{2cm}|}}
\hline
\multicolumn{2}{|c|}{} & \multicolumn{5}{c|}{foo}\\
\cline{3-7}
\multicolumn{2}{|c|}{} & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\hline
& 1,0 & & & & & \\
\cline{2-7}
\multirow{4}{*}{\rotatebox[origin=c]{90}{bar}} & 1,5 & foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar & & & & \\
\cline{2-7}
& 2,0 & & & & & \\
\cline{2-7}
& 2,5 & & & & & \\
\cline{2-7}
& 3,0 & & & & & \\
\hline
\end{tabular}
\end{table}
\begin{table}
\centering\setlength\extrarowheight{2pt}
\caption{My suggestion\label{tab:mine}}
\begin{tabular}{C{.7cm}*5{C{2cm}}}
\toprule
& \multicolumn{5}{c}{foo}\\
\cmidrule(l){2-6}
bar & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\midrule
1,0 & & & & & \\
\midrule
1,5 & foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar & & & & \\
\midrule
2,0 & & & & & \\
\midrule
2,5 & & & & & \\
\midrule
3,0 & & & & & \\
\toprule
\end{tabular}
\end{table}
\end{document}