
Quiero personalizar la longitud de la regla intermedia (xy cm) en la primera tabla. La segunda tabla debería ser la predeterminada. ¿Cómo se puede hacer eso?
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{@{}ll@{}}
XXXXXXX&\\\midrule\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
AAAAAAAAAAAAA
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
BBBBBBBBBBBBBBB
\end{minipage}
\end{tabular}
\bigskip
\begin{tabular}{@{}ll@{}}
YYYYYYYYYYYYY&\\\midrule\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
CCCCCCCCC
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
\end{minipage}
\end{tabular}
\end{document}
EDITAR:¡Extensión de la pregunta original! Si bien las respuestas resuelven el problema anterior, no logro usarlas para resolver lo siguiente: En el segundo ejemplo mínimo quiero que la regla en la segunda tabla tenga exactamente la misma longitud que en la primera tabla (la primera tabla es la formato de referencia). Si en la segunda tabla lo reemplazo \midrule
por \noalign{\noindent\rule{\dimexpr15cm+\tabcolsep\relax}{0.5pt}}
como se sugiere en la respuesta de @Christian Hupfer (tenga en cuenta que \llen
+ \rlen
= 15 cm), casi funciona, pero aún así la longitud de las líneas no es completamente igual.
\documentclass{article}
\usepackage{booktabs}
\newlength{\llen}
\newlength{\rlen}
\setlength{\llen}{5.5cm}
\setlength{\rlen}{9.5cm}
\parindent=0cm
\begin{document}
\begin{tabular}{@{}ll@{}}
XXXXXXXXXXXXXXXXXXX &\\\midrule\addlinespace[1ex]
\begin{minipage}[t]{\llen}
AAAAAAAAAAAAAAA\\
\end{minipage}&
\begin{minipage}[t]{\rlen}
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
\end{minipage}
\end{tabular}
\vspace{0.2cm}
\noindent
\begin{tabular}{@{}ll@{}}
XXXXXXXXXXXXXXXXXXX&\\\midrule\addlinespace[1ex]
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
\end{tabular}
\end{document}
Respuesta1
¿Es eso lo que quieres? Jugué con el (lr)
argumento a favor \cmidrule
y requirí un recorte (negativo, aquí) a la derecha, calculado a partir del ancho de la columna, que se conoce gracias a la minipágina. Si no lo sabemos, tendríamos que usar el eqparbox
paquete.
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{@{}ll@{}}
XXXXXXX & \\\cmidrule[\lightrulewidth](r{\dimexpr5.5cm+\tabcolsep-7.75cm\relax}){1-1}\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
AAAAAAAAAAAAA
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
BBBBBBBBBBBBBBB
\end{minipage}
\end{tabular}
\bigskip
\begin{tabular}{@{}ll@{}}
YYYYYYYYYYYYY & \\\midrule\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
CCCCCCCCC
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
\end{minipage}
\end{tabular}
\end{document}
Aquí hay una solución al segundo problema: para acortar la escritura, defino un \fakemidrule
comando que hace lo que quieres. Su error en el código que probó es que olvidó que el espacio entre dos columnas es igual a 2
\tabcolsep.
\documentclass{article}
\usepackage{booktabs}
\newlength{\llen}
\newlength{\rlen}
\setlength{\llen}{5.5cm}
\setlength{\rlen}{9.5cm}
\newcommand\fakemidrule{\noalign{\vskip\aboverulesep\noindent\rule{\dimexpr\llen + \rlen+2\tabcolsep\relax}{\lightrulewidth}}}
\parindent=0cm
\begin{document}
\begin{tabular}{@{}ll@{}}
XXXXXXXXXXXXXXXXXXX & \\
\midrule\addlinespace[1ex]
\begin{minipage}[t]{\llen}
AAAAAAAAAAAAAAA\\
\end{minipage} &
\begin{minipage}[t]{\rlen}
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
\end{minipage}
\end{tabular}
\vspace{0.2cm}
\noindent
\begin{tabular}{@{}ll@{}}
XXXXXXXXXXXXXXXXXXX & \\
\fakemidrule
\addlinespace[1ex]
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
\end{tabular}
\end{document}
Respuesta2
Se puede especificar una regla con una longitud arbitraria \rule{length}{width}
; sin embargo, se colocará en la celda de la tabla.
Para distribuir sobre las celdas, use \noalign{\noindent\rule{7.75cm}{2pt}}
(cambie las dimensiones a voluntad) (Gracias a @touhami por la pista con \noindent
)
\noalign
evita la alineación en las celdas, todo el contenido se configura básicamente como si no hubiera celdas de la tabla, dejando la \parindent
sangría habitual. Para deshacerse de esto, \noindent
se puede usar (o \parindent
poner a cero)
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{@{}ll@{}}
XXXXXXX&\\
\noalign{\noindent\rule{7.75cm}{2pt}}\addlinespace[1ex]
\midrule\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
AAAAAAAAAAAAA
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
BBBBBBBBBBBBBBB
\end{minipage}
\end{tabular}
\bigskip
\begin{tabular}{@{}ll@{}}
YYYYYYYYYYYYY&\\\midrule\addlinespace[1ex]
\begin{minipage}[t]{5.5cm}
CCCCCCCCC
\end{minipage}
&
\begin{minipage}[t]{9.5cm}
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
\end{minipage}
\end{tabular}
\end{document}