\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|}
\hline
&
\begin{sideways}ABCD\end{sideways} &
\begin{sideways}EFGH\end{sideways} &
\begin{sideways}IJKL\end{sideways} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}
¿Cómo puedo eliminar líneas como en las imágenes a continuación?
Además, ¿cómo puedo levantar un poco la primera línea horizontal? El resultado final debería ser:
Respuesta1
Me temo que son necesarias cuatro medidas diferentes:
- Elimina la línea vertical con
\multicolumn{1}{c|}{}
. - Retire la línea horizontal (segmento) con
\cline{2-4}
. - Agrega un poco de espacio a la etiqueta más larga en la parte superior.
- Si no desea las líneas verticales "internas" para la mayor parte de la tabla, las agregaría específicamente para la cabecera.
Resultado:
\begin{tabular}{|c|ccc|}
\cline{2-4}
\multicolumn{1}{c|}{}&
\multicolumn{1}{c|}{\begin{sideways}ABCD\hspace*{1mm}\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
\begin{sideways}IJKL\end{sideways} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
Respuesta2
Aquí hay una solución usando tabularray
.
\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
colspec = {*{4}{c}},
vline{1} = {2-4}{0.9pt},
vline{2,5} = 0.9pt,
vline{3-4} = {1}{0.9pt},
hline{1} = {2-5}{0.9pt},
hline{2,5} = 0.9pt,
cell{1}{2-4} = {cmd={\rotatebox[origin=c]{90}}}
}
& ABCD
& EFGH
& IJKL \\
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
\end{tblr}
\end{document}
Respuesta3
Podrías usar \multicolumn
y \cline
para obtener el resultado deseado:
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|ccc|}
\cline{2-4}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c|}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}
En mi opinión, también puedes omitir las líneas verticales en el encabezado por completo, y también el borde superior, izquierdo y derecho, dando
\begin{tabular}{c|ccc}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
Respuesta4
Con {NiceTabular}
de nicematrix
. En ese entorno, tiene una clave hvlines
que dibuja todas las reglas excepto en los bloques (especificados por \Block
y en las esquinas vacías (especificadas por la clave corners
).
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{cccc}[hvlines,corners=NW] % NW = north-west
\RowStyle{\rotate}
& ABCD \;
& EFGH
& IJKL \\
\Block{3-1}{}
AA & \Block{3-3}{}
2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
\end{NiceTabular}
\end{document}