
¿Cómo dibujo mi tabla con las líneas de las columnas solo en la primera fila? Aquí hay un MWE de mi código:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}[H]
\centering
\caption{Data of subways in Fortal city}
\rowcolors{1}{gray!20}{white}
\begin{tabular}{c|c|c|c}
\hline
Line & Extension & Stations & Vehicle type \\
\hline
South & 24,1 km & 19 & Electric \\
West & 19,5 km & 10 & VLT a diesel \\
Parangaba-Mucuripe & 13,2 km & 10 & VLT a diesel \\
East & 7,3 km & 11 & VLT a diesel \\
\hline
\end{tabular}
\end{table}
\end{document}
Lo que me gustaría lograr:
Respuesta1
Eliminé las columnas de mi tabular
argumento pero las retiré, sólo en el encabezado, usandomulticolumn{1}{c|}{text}
Aquí está el código de trabajo completo:
\documentclass[12pt,a4paper]{article}
\usepackage{float}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}[H]
\centering
\caption{Data of subways in Fortal city}
\rowcolors{1}{gray!20}{white}
\begin{tabular}{cccc}
\hline
\multicolumn{1}{c|}{Line} & \multicolumn{1}{c|}{Extension} & \multicolumn{1}{c|}{Stations} & Vehicle type \\
\hline
South & 24,1 km & 19 & Electric \\
West & 19,5 km & 10 & VLT a diesel \\
Parangaba-Mucuripe & 13,2 km & 10 & VLT a diesel \\
East & 7,3 km & 11 & VLT a diesel \\
\hline
\end{tabular}
\end{table}
\end{document}
Observe que para este problema en particular no necesito dibujar una columna c|
en la última columna. De lo contrario, se habría convertido en una frontera, cosa que no quiero que suceda.
Además, para evitar escribir siempre, multicolumn{1}{c|}{text}
definí un nuevo comando \topr{}
que \newcommand{\topr}[1]{\multicolumn{1}{c|}{#1}}
me permite escribir valores fijos. Entonces el código mejorado quedó así:
\documentclass[12pt,a4paper]{article}
\usepackage{float}
\usepackage[table]{xcolor}
\newcommand{\topr}[1]{\multicolumn{1}{c|}{#1}}
\begin{document}
\begin{table}[H]
\centering
\caption{Data of subways in Fortal city}
\rowcolors{1}{gray!20}{white}
\begin{tabular}{cccc}
\hline
\topr{Line} & \topr{Extension} & \topr{Stations} & Vehicle type \\
\hline
South & 24,1 km & 19 & Electric \\
West & 19,5 km & 10 & VLT a diesel \\
Parangaba-Mucuripe & 13,2 km & 10 & VLT a diesel \\
East & 7,3 km & 11 & VLT a diesel \\
\hline
\end{tabular}
\end{table}
\end{document}
Respuesta2
calcinable
Aquí está su tipo de tabla configurada usando el paquetecalorías. Como verás, todas las reglas son visibles y no hay líneas blancas entre las reglas y los colores. Sin embargo, recomendaría componer una booktable
tabla clásica, sin reglas verticales y sin sombreado gris, ver más abajo.
He definido algunos atajos para reducir la codificación.
En comparación con el original, he eliminado el cojinete lateral (el relleno izquierdo en la primera columna y el relleno derecho en la última columna, lo que es habitual en las tablas académicas). Además, he alineado a la derecha la columna con las figuras, pero las he movido a el centro de la columna en 1,25 em. También moví los "km" al encabezado de la columna. Si prefiere encabezados de una línea, simplemente aumente la columna en un poco pt
.
\documentclass[12pt, a4paper]{article}
\usepackage{cals, url}
\usepackage{xcolor, caption}
\newcommand{\rl}{\hspace*{1.25em}}
\begin{document}
\begin{table*}
\caption{Data of subways in Fortal city}
%\footnotesize % Not necessary with too tiny font. Eventually, use `small` if you prefer smaller font in the tables.
\small\sffamily
\begin{calstable}[c]
% Defining columns relative to each other and relative to the margins
\colwidths{{\dimexpr(\columnwidth)/3\relax}
{\dimexpr(\columnwidth)/6\relax}
{\dimexpr(\columnwidth)/6\relax}
{\dimexpr(\columnwidth)/4\relax}
}
% The tabular fills the text area if the divisors for all columns were 4
% Set up the tabular
\makeatletter
\def\cals@framers@width{0.8pt} % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0pt}
\def\cals@bodyrs@width{0.6pt}
\def\cals@cs@width{0.4pt} % Inside rules, reduce if the rule is too heavy
\def\cals@rs@width{0.4pt}
\def\cals@bgcolor{}
\def\lb{\ifx\cals@borderL\relax % Left border switch (off-on)
\def\cals@borderL{0pt}
\else \let\cals@borderL\relax\fi}
\def\rb{\ifx\cals@borderR\relax % Right border switch (off-on)
\def\cals@borderR{0pt}
\else \let\cals@borderR\relax\fi}
\def\bb{\ifx\cals@borderB\relax % Bottom border switch (off-on)
\def\cals@borderB{0pt}
\else \let\cals@borderB\relax\fi}
\def\lp{\ifdim\cals@paddingL=0.0pt\relax % Left padding switch (off-on)
\cals@setpadding{Ag}
\else \setlength{\cals@paddingL}{0pt}\fi}
\def\rp{\ifdim\cals@paddingR=0.0pt\relax % Right padding switch (off-on)
\cals@setpadding{Ag}
\else \setlength{\cals@paddingR}{0pt}\fi}
\def\gray{\ifx\cals@bgcolor\empty % "Switch" to turn on and off colour
\def\cals@bgcolor{gray!20}
\else \def\cals@bgcolor{} \fi}
% R1H1
\thead{\bfseries%
\brow
\gray\lp\alignL\cell{\vfil Line}\lp
\alignC\cell{\vfil Extension (km)}
\alignC\cell{\vfil Stations}
\rp\alignR\cell{\vfil Vehicle type}\rp \gray
\erow
\mdseries%
}
\tfoot{\lastrule\strut}
%R2H1
\brow
\lb\lp\bb\alignL\cell{South}\lp
\alignR\cell{24,1\rl}
\alignR\cell{19\rl}
\rp\alignR\cell{Electric}\rp
\erow
%R3H2
\brow
\gray\lp\alignL\cell{West}\lp
\alignR\cell{19,5\rl}
\alignR\cell{10\rl}
\rp\alignR\cell{VLT a diesel}\rp\gray
\erow
%R4B3
\brow
\lp\alignL\cell{Parangaba-Mucuripe}\lp
\alignR\cell{13,2\rl}
\alignR\cell{10\rl}
\rp\alignR\cell{VLT a diesel}\rp\bb
\erow
%R7N1
\brow
\gray\lp\cell{ East}\lp
\alignR\cell{7,3\rl}
\alignR\cell{11\rl}
\rp\alignR\cell{VLT a diesel}\gray\rp
\erow
\makeatletter
\end{calstable}\par
\end{table*}
\end{document}
Tabular estilo booktable clásico
Aquí modifiqué el código de @Levy, pero hice varios cambios:
- Usandotabularpara un mejor ajuste de la columna con
- Usadopestañaspara reglas correctamente espaciadas
- Cojinete lateral retirado (
@{}
) - Se eliminó el sombreado gris
- Alineación similar de columnas y encabezados
- Encabezado de versalitas
\documentclass[12pt,a4paper]{article}
\usepackage{booktabs, caption, tabulary}
\begin{document}
\begin{table}[!tb]
\small\sffamily\centering
\caption{Data of subways in Fortal city}
\begin{tabulary}{\linewidth}{@{}LRRC@{}}
\toprule
\textsc{line} & \textsc{extension\linebreak(km)} & \textsc{stations} & \textsc{vehicle type}\\
\midrule
South & 24,1 & 19 & Electric \\
West & 19,5 & 10 & VLT a diesel \\
Parangaba-Mucuripe & 13,2 & 10 & VLT a diesel \\
East & 7,3 & 11 & VLT a diesel \\
\bottomrule
\end{tabulary}
\end{table}
\end{document}
Respuesta3
Con {NiceTabular}
of nicematrix
pones una instrucción \Block{*-*}{}
para decir que no quieres que se dibujen más las reglas verticales y listo.
\documentclass[12pt,a4paper]{article}
\usepackage{float}
\usepackage{nicematrix}
\begin{document}
\begin{table}[H]
\centering
\caption{Data of subways in Fortal city}
\begin{NiceTabular}{c|c|c|c}
\CodeBefore
\rowcolors{1}{gray!20}{}
\Body
\hline
Line & Extension & Stations & Vehicle type \\
\hline
\Block{*-*}{}
South & 24,1 km & 19 & Electric \\
West & 19,5 km & 10 & VLT a diesel \\
Parangaba-Mucuripe & 13,2 km & 10 & VLT a diesel \\
East & 7,3 km & 11 & VLT a diesel \\
\hline
\end{NiceTabular}
\end{table}
\end{document}