表のエントリを行の一番下に移動します

表のエントリを行の一番下に移動します

最後の列のテキストを行の一番下に配置するにはどうすればよいですか?

ここに画像の説明を入力してください

つまり、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 ノードが使用されるため)。

上記コードの出力

関連情報