Mover a entrada tabular para o final da linha

Mover a entrada tabular para o final da linha

Como faço para que o texto da última coluna fique na parte inferior da linha?

insira a descrição da imagem aqui

Quero que XXXesteja alinhado com a linha que contém a seta.

Tentei brincar com \multirow{3}{-3ex}{XXX}, mas obviamente não entendi \multirow.

Código:

\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}

Responder1

(Resposta editada, usando mecanismo diferente)

insira a descrição da imagem aqui

\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}

A resposta original moveu a linha de base da coluna X para baixo usando

\renewcommand\tabularxcolumn[1]{b{#1}}

Mas isso afeta todas Xas colunas e também faz o a.alinhamento na linha inferior. O último problema poderia ser resolvido movendo o a.para a segunda coluna (com um recuo deslocado)

Se você deseja alterar apenas o alinhamento de algumas colunas X em uma tabela, você pode usar:

>{\begin{minipage}[b]{\hsize}}X<{\end{minipage}} :-) 

Responder2

Se quiser brincar com \multirow, você pode usar o segundo argumento opcional, que é o "fixup", um comprimento para ajustar a posição.

No seu caso deveria ser-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} 

Saída:

insira a descrição da imagem aqui

Responder3

Dependendo do tipo de conteúdo associado a XXX, a seguir é uma maneira fácil de obter o alinhamento inferior que não requer conhecimento das entradas da coluna anteriores:

insira a descrição da imagem aqui

\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}

Ideia: Definir XXXem sua própria linha, mas sobreposto à parte inferior da linha anterior usando \\[-\normalbaselineskip].

Responder4

Aqui está uma solução com {NiceTabularX}of nicematrixe seu comando integrado \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}

Você precisa de várias compilações (porque nicematrixusa nós PGF/TikZ nos bastidores).

Saída do código acima

informação relacionada