
Ich möchte die Länge der Mittellinie (xy cm) in der ersten Tabelle anpassen. Die zweite Tabelle soll die Standardlänge sein. Wie geht das?
\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}
BEARBEITEN:Erweiterung der ursprünglichen Frage! Während die Antworten das obige Problem lösen, gelingt es mir nicht, sie zur Lösung des folgenden Problems zu verwenden: Im zweiten Minimalbeispiel möchte ich, dass die Regel in der zweiten Tabelle genau dieselbe Länge hat wie in der ersten Tabelle (die erste Tabelle ist das Referenzformat). Wenn ich in der zweiten Tabelle \midrule
durch ersetze \noalign{\noindent\rule{\dimexpr15cm+\tabcolsep\relax}{0.5pt}}
, wie in der Antwort von @Christian Hupfer vorgeschlagen (beachten Sie, dass \llen
+ \rlen
= 15 cm), funktioniert es fast, aber die Länge der Zeilen ist immer noch nicht ganz gleich.
\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}
Antwort1
Ist es das, was Sie wollen? Ich habe mit dem (lr)
Argument für gespielt \cmidrule
und einen (hier negativen) Beschnitt auf der rechten Seite verlangt, berechnet aus der Spaltenbreite, die dank der Minipage bekannt ist. Wenn sie nicht bekannt ist, müssen wir das Paket verwenden 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}
Hier ist eine Lösung für das zweite Problem: Um das Tippen zu verkürzen, definiere ich einen \fakemidrule
Befehl, der das tut, was Sie wollen. Ihr Fehler im Code, den Sie ausprobiert haben, ist, dass Sie vergessen haben, dass der Abstand zwischen zwei Spalten gleich 2
\tabcolsep ist.
\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}
Antwort2
Mit kann eine Regel mit beliebiger Länge angegeben werden \rule{length}{width}
, diese würde allerdings in der Tabellenzelle platziert werden.
Zum Verteilen auf die Zellen verwenden Sie \noalign{\noindent\rule{7.75cm}{2pt}}
(ändern Sie die Abmessungen nach Belieben) (Danke an @touhami für den Hinweis mit \noindent
)
\noalign
verhindert die Ausrichtung in Zellen, der gesamte Inhalt wird dann grundsätzlich so gesetzt, als ob keine Tabellenzellen vorhanden wären, wobei die übliche \parindent
Einrückung erhalten bleibt. Um dies zu vermeiden, \noindent
kann verwendet werden (oder \parindent
auf Null gesetzt werden)
\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}