
最初の表の中央定規の長さ (xy cm) をカスタマイズしたいです。2 番目の表はデフォルトにする必要があります。どうすればできますか?
\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}
編集:元の質問の拡張です。回答は上記の問題を解決しますが、次の問題を解決するために使用することはできません。2 番目の最小限の例では、2 番目の表のルールを最初の表とまったく同じ長さにする必要があります (最初の表は参照形式です)。2 番目の表で、 @Christian Hupfer の回答で提案されているよう\midrule
に に置き換えると ( + = 15cm\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}
2 番目の問題の解決策は次のとおりです。入力を短縮するために、\fakemidrule
必要な操作を実行するコマンドを定義します。試したコードでのエラーは、2 つの列間のスペースが \tabcolsep に等しいことを忘れていることです2
。
\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
を使用します(または\parindent
ゼロに設定します)。
\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}