\toprule y p{} en tabular

\toprule y p{} en tabular

En mi table, para tener textos centrados en cada celda, estoy usando

\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} 

y en lugar de un simple p{1.5cm}, estoy usando

 >{\centering\arraybackslash}p{1.5cm} 

También estoy usando \toprule, \midruley \bottomrulejunto con \usepackage{booktabs}.

Mi código es el siguiente:

\documentclass[12pt]{article}



\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{booktabs}


\begin{document}


\begin{table}[h]
\centering
\begin{tabular}{| >{\centering\arraybackslash}p{1.5cm} | >{\centering\arraybackslash}p{1.2cm} | >{\centering\arraybackslash}p{1.2cm} |  >{\centering\arraybackslash}p{1.2cm} | >{\centering\arraybackslash}p{1.2cm} |>{\centering\arraybackslash}p{1.2cm} | >{\centering\arraybackslash}p{1.2cm} | >{\centering\arraybackslash}p{1.2cm} | >{\centering\arraybackslash}p{1.2cm}|}
\toprule
\multirow{2}{*}{} & \multicolumn{4}{c|}{Payoffs} &  \multicolumn{4}{c}{ROR} \\
\cline{2-9}
 & $\theta =1$ & $\theta =2$ & $E(P)$ & $\sigma(P)$ & $\theta =1$ & $\theta =2$ & $E(r)$ & $\sigma(r)$ \\
\midrule
Asset 1 & 110 & 95 &   &   &   &   &   &   \\
Asset 2 & 105 & 90 &   &   &   &   &   &   \\
Asset 3 & 120 & 90 &   &   &   &   &   &   \\
\bottomrule
\end{tabular}
\end{table}



\end{document} 

Y mi resultado se ve muy extraño así:

ingrese la descripción de la imagen aquí

En primer lugar, la línea vertical del extremo derecho es corta; la primera fila no está cerrada a la derecha.

En segundo lugar, se cortan todas las líneas verticales.

¿Alguna idea?

Respuesta1

La regla vertical de la derecha no es corta, falta porque has usado

\multicolumn{4}{c}{ROR}

en lugar de

\multicolumn{4}{c|}{ROR}

Sin embargo, en lugar de agregar las reglas verticales, siga laspautassugerido porbooktabs(ya que lo estás usando de todos modos):

No te equivocarás mucho si recuerdas en todo momento dos sencillas pautas:

  1. Nunca, jamás uses reglas verticales.
  2. Nunca uses reglas dobles.

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{booktabs,array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}

\begin{tabular}{ P{15mm} *{8}{P{12mm}} }
  \toprule
   & \multicolumn{4}{c}{Payoffs} &  \multicolumn{4}{c}{ROR} \\
  \cmidrule(lr){2-5}\cmidrule(lr){6-9}
   & $\theta = 1$ & $\theta = 2$ & $E(P)$ & $\sigma(P)$ & $\theta = 1$ & $\theta = 2$ & $E(r)$ & $\sigma(r)$ \\
  \midrule
  Asset 1 & 110 & 95 &   &   &   &   &   &   \\
  Asset 2 & 105 & 90 &   &   &   &   &   &   \\
  Asset 3 & 120 & 90 &   &   &   &   &   &   \\
  \bottomrule
\end{tabular}

\end{document}

El apilamiento de valores en columnas promueve la alineación visual, lo que hace que el uso de reglas verticales sea algoobsoleto.

Respuesta2

No puedes usar booktabsreglas con reglas verticales, porque booktabs agrega algo de relleno vertical alrededor de sus reglas horizontales. Por la misma razón, uno tiene problemas al intentar usar colores en las celdas de una tabla con pestañas de libros.

Puede reemplazar booktabscon boldlines, que permite reglas de ancho variable en las tablas, para emular los diferentes tipos de reglas de las pestañas de libros. Sin embargo, según muchos, su mesa se verá mejor si usa solo reglas horizontales.

En el siguiente código doy un ejemplo de ambas soluciones. Tenga en cuenta que no es necesario utilizarlo \multirowpara celdas vacías.

\documentclass[12pt]{article}

\usepackage{array, boldline}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\usepackage{booktabs}

\begin{document}

\begin{table}[!h]
  \centering\renewcommand\arraystretch{1.25}
  \begin{tabular}{|P{1.5cm} | *{8}{P{1.2cm} |}}
    \hlineB{2}
    & \multicolumn{4}{c|}{Payoffs} & \multicolumn{4}{c|}{ROR} \\
    \cline{2-9}
            & $\theta =1$ & $\theta =2$ & $E(P)$ & $\sigma(P)$ & $\theta =1$ & $\theta =2$ & $E(r)$ & $\sigma(r)$ \\
    \hlineB{2}
    Asset 1 & 110 & 95 & & & & & & \\
    Asset 2 & 105 & 90 & & & & & & \\
    Asset 3 & 120 & 90 & & & & & & \\
    \hlineB{2}
  \end{tabular}
\end{table}
\vskip1cm
\begin{table}[!h]
  \centering\renewcommand\arraystretch{1.25}
  \begin{tabular}{P{1.5cm}*{8}{P{1.2cm}}}
    & \multicolumn{4}{c}{Payoffs} & \multicolumn{4}{c}{ROR} \\
    \cmidrule[0.6pt](lr){2-5}\cmidrule[0.6pt](lr){6-9}
            & $\theta =1$ & $\theta =2$ & $E(P)$ & $\sigma(P)$ & $\theta =1$ & $\theta =2$ & $E(r)$ & $\sigma(r)$ \\
    \midrule[\heavyrulewidth]
    Asset 1 & 110 & 95 & & & & & & \\
    Asset 2 & 105 & 90 & & & & & & \\
    Asset 3 & 120 & 90 & & & & & & \\
    \bottomrule
  \end{tabular}
\end{table}

\end{document} 

ingrese la descripción de la imagen aquí

información relacionada