最後の列のテキストを行の一番下に配置するにはどうすればよいですか?
つまり、XXX
矢印を含む線に揃えたいのです。
をいじってみました\multirow{3}{-3ex}{XXX}
が、当然ながら理解できません\multirow
。
コード:
\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}
答え1
(編集された回答、異なるメカニズムを使用)
\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}
元の回答では、X列のベースラインを下に移動しました。
\renewcommand\tabularxcolumn[1]{b{#1}}
しかし、これはすべてのX
列に影響し、また、a.
下段の行に揃えてしまいます。後者の問題は、を2番目の列に移動することで解決できますa.
(ぶら下げインデントを使用)。
テーブル内の一部の X 列の配置のみを変更する場合は、次のようにします。
>{\begin{minipage}[b]{\hsize}}X<{\end{minipage}} :-)
答え2
を操作したい場合は\multirow
、2 番目のオプション引数「fixup」を使用できます。これは、位置を微調整するための長さです。
あなたの場合は-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}
出力:
答え3
に関連付けられているコンテンツの種類に応じてXXX
、前の列エントリを知らなくても下部配置を取得する簡単な方法を次に示します。
\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}
アイデア:XXX
独自の行に設定しますが、 を使用して前の行の下部に重ねます\\[-\normalbaselineskip]
。
答え4
{NiceTabularX}
以下はofnicematrix
とその組み込みコマンドを使用したソリューションです\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}
複数のコンパイルが必要です (nicematrix
内部で PGF/TikZ ノードが使用されるため)。