Como personalizar o comprimento da regra nas tabelas?

Como personalizar o comprimento da regra nas tabelas?

Quero customizar o comprimento da régua intermediária (xy cm) na primeira tabela. A segunda tabela deve ser o padrão. Como isso pode ser feito?

\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:Extensão da pergunta original! Embora as respostas resolvam o problema acima, não consigo utilizá-las para resolver o seguinte: No segundo exemplo mínimo quero que a regra na segunda tabela tenha exatamente o mesmo comprimento que na primeira tabela (a primeira tabela é a formato de referência). Se na segunda tabela eu substituir \midrulepor \noalign{\noindent\rule{\dimexpr15cm+\tabcolsep\relax}{0.5pt}}conforme sugerido na resposta de @Christian Hupfer (observe que \llen+ \rlen= 15cm) quase funciona, mas ainda assim o comprimento das linhas não é 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}

Responder1

É isso que você quer? Brinquei com o (lr)argumento for \cmidrulee solicitei um corte (negativo, aqui) à direita, calculado a partir da largura da coluna, que é conhecida graças à minipágina. Se não fosse conhecido, teríamos que usar o eqparboxpacote.

\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} 

insira a descrição da imagem aqui

Aqui está uma solução para o segundo problema: para encurtar a digitação eu defino um \fakemidrulecomando que faz o que você deseja. Seu erro no código que você tentou é que você esqueceu que o espaço entre duas colunas é 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} 

insira a descrição da imagem aqui

Responder2

Uma regra com comprimento arbitrário pode ser especificada com \rule{length}{width}, no entanto, isso seria colocado na célula da tabela.

Para espalhar pelas células, use \noalign{\noindent\rule{7.75cm}{2pt}}(altere as dimensões à vontade) (Obrigado ao @touhami pela dica com \noindent)

\noalignimpede o alinhamento nas células, todo o conteúdo é basicamente definido como se nenhuma célula da tabela estivesse presente, deixando o \parindentrecuo usual. Para se livrar disso, \noindentpode ser usado (ou \parindentdefinido como zero)

\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}

insira a descrição da imagem aqui

informação relacionada