테이블의 규칙 길이를 어떻게 맞춤설정하나요?

테이블의 규칙 길이를 어떻게 맞춤설정하나요?

첫 번째 테이블의 미드룰(xy cm) 길이를 사용자 정의하고 싶습니다. 두 번째 테이블은 기본값이어야 합니다. 어떻게 그렇게 할 수 있습니까?

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

편집하다:원래 질문의 확장입니다! 답변이 위의 문제를 해결하지만 다음 문제를 해결하는 데 답변을 사용할 수는 없습니다. 두 번째 최소 예에서는 두 번째 테이블의 규칙이 첫 번째 테이블과 정확히 동일한 길이를 갖기를 원합니다(첫 번째 테이블은 참조 형식). 두 번째 테이블에서 @Christian Hupfer의 답변( + = 15cm 참고)에서 제안한 대로 \midrule대체 하면 거의 작동하지만 여전히 선 길이가 완전히 동일하지 않습니다.\noalign{\noindent\rule{\dimexpr15cm+\tabcolsep\relax}{0.5pt}}\llen\rlen

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

답변1

너가 원하는게 그거야? 나는 (lr)에 대한 인수를 가지고 놀았고 \cmidrule미니페이지 덕분에 알려진 열 너비에서 계산된 오른쪽에 (음수, 여기서) 트림이 필요했습니다. 알려지지 않은 경우 패키지를 사용해야 합니다 eqparbox.

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

여기에 이미지 설명을 입력하세요

두 번째 문제에 대한 해결책은 다음과 같습니다. 타이핑을 단축하기 위해 \fakemidrule원하는 작업을 수행하는 명령을 정의합니다. 시도한 코드의 오류는 두 열 사이의 공백이 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} 

여기에 이미지 설명을 입력하세요

답변2

임의 길이의 규칙을 로 지정할 수 있지만 \rule{length}{width}이는 테이블 셀에 배치됩니다.

셀 위에 펼치려면 \noalign{\noindent\rule{7.75cm}{2pt}}(원하는 대로 치수 변경)을 사용하십시오. ( 힌트를 주신 @touhami에게 감사드립니다 \noindent.)

\noalign셀 정렬을 방지하면 모든 내용은 기본적으로 표 셀이 없는 것처럼 설정되어 일반적인 \parindent들여쓰기는 그대로 유지됩니다. 이를 제거하기 위해 다음을 \noindent사용할 수 있습니다(또는 \parindent0으로 설정).

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

여기에 이미지 설명을 입력하세요

관련 정보