Wie erreiche ich, dass der Text der letzten Spalte unten in der Zeile steht?
Das heißt, ich möchte, XXX
dass es an der Linie ausgerichtet ist, die den Pfeil enthält.
Ich habe versucht, damit herumzuspielen \multirow{3}{-3ex}{XXX}
, aber ich verstehe es offensichtlich nicht \multirow
.
Code:
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}
\begin{tabularx}{\linewidth}[t]{l X p{1.3cm}}
& Header & Title \\\cmidrule(lr){2-2}\cmidrule(lr){3-3}
a. & Some text text text text text text text text text text text text text text
text text text text text text text text text text
Want XXX on this line $\rightarrow$%
& XXX\\
\end{tabularx}
\end{document}
Antwort1
(Bearbeitete Antwort, verwendet anderen Mechanismus)
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\makeatletter
\def\foo#1{\leavevmode
\expandafter\ifx\csname PDFSAVE#1\endcsname\relax
\expandafter\gdef\csname PDFSAVE#1\endcsname{0sp}%
\fi
\pdfsavepos\write\@auxout{\gdef\string\PDFSAVE#1{\the\pdflastypos}}}
\makeatother
\begin{document}
\noindent
\begin{tabularx}{\linewidth}[t]{l X p{1.3cm}}
& Header & Title \\\cmidrule(lr){2-2}\cmidrule(lr){3-3}
a. & \foo{a}Some text text text text text text text text text text text text text text
text text text text text text text text text text
Want XXX on this line $\rightarrow$\foo{b}%
& \smash{\raisebox{\dimexpr\PDFSAVEb sp-\PDFSAVEa sp\relax}{XXX}}\\
\end{tabularx}
\end{document}
Die ursprüngliche Antwort verschob die Grundlinie der X-Spalte nach unten mit
\renewcommand\tabularxcolumn[1]{b{#1}}
Das betrifft aber alle X
Spalten und bewirkt auch die a.
Ausrichtung auf der untersten Zeile. Letzteres Problem könnte man beheben, indem man die a.
in die zweite Spalte verschiebt (mit einem hängenden Einzug).
Wenn Sie nur die Ausrichtung einiger X-Spalten in einer Tabelle ändern möchten, können Sie Folgendes verwenden:
>{\begin{minipage}[b]{\hsize}}X<{\end{minipage}} :-)
Antwort2
Wenn Sie damit spielen möchten \multirow
, können Sie das zweite optionale Argument verwenden, nämlich das „Fixup“, eine Länge zur Feinabstimmung der Position.
In deinem Fall müsste es sein-2\baselineskip
MWE:
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}
\noindent
\begin{tabularx}{\linewidth}[t]{l X p{1.3cm}}
& Header & Title \\\cmidrule(lr){2-2}\cmidrule(lr){3-3}
a. & Some text text text text text text text text text text text text text text
text text text text text text text text text text
Want XXX on this line $\rightarrow$%
& \multirow{1}{*}[-2\baselineskip]{XXX}\\
\end{tabularx}
\end{document}
Ausgabe:
Antwort3
Abhängig von der Art des mit verknüpften Inhalts XXX
gibt es folgende einfache Möglichkeit, die Ausrichtung unten zu erreichen, ohne dass die vorhergehenden Spalteneinträge bekannt sein müssen:
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\begin{document}
\noindent
\begin{tabularx}{\linewidth}[t]{l X p{1.3cm}}
& Header & Title \\\cmidrule(lr){2-2}\cmidrule(lr){3-3}
a. & Some text text text text text text text text text text text text text text
text text text text text text text text text text
Want XXX on this line $\rightarrow$
& \\[-\normalbaselineskip] && XXX
\end{tabularx}
\end{document}
Idee: XXX
In einer eigenen Zeile setzen, aber mit dem Ende der vorherigen Zeile überlagern \\[-\normalbaselineskip]
.
Antwort4
Hier ist eine Lösung mit {NiceTabularX}
of nicematrix
und dem integrierten Befehl \Block
.
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\begin{document}
\begin{NiceTabularX}{\linewidth}[t]{l X p{1.3cm}}
& Header & Title \\\cmidrule(lr){2-2}\cmidrule(lr){3-3}
a. & Some text text text text text text text text text text text text text text
text text text text text text text text text text
Want XXX on this line $\rightarrow$%
& \Block[B]{}{XXX \strut}
\end{NiceTabularX}
\end{document}
Sie benötigen mehrere Kompilierungen (da nicematrix
im Hintergrund PGF/TikZ-Knoten verwendet werden).