Cómo hacer una tabla con líneas de columnas solo en la primera fila

Cómo hacer una tabla con líneas de columnas solo en la primera fila

¿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:

tabla con líneas de columnas solo en la primera fila

Respuesta1

Eliminé las columnas de mi tabularargumento 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 booktabletabla 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}

ingrese la descripción de la imagen aquí

Tabular estilo booktable clásico

Aquí modifiqué el código de @Levy, pero hice varios cambios:

  1. Usandotabularpara un mejor ajuste de la columna con
  2. Usadopestañaspara reglas correctamente espaciadas
  3. Cojinete lateral retirado ( @{})
  4. Se eliminó el sombreado gris
  5. Alineación similar de columnas y encabezados
  6. 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}

ingrese la descripción de la imagen aquí

Respuesta3

Con {NiceTabular}of nicematrixpones 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}

Salida del código anterior

información relacionada