Recuando texto em \tabfill (ambiente de tabulação)

Recuando texto em \tabfill (ambiente de tabulação)

Não sou especialista em LaTeX. Assim, a questão pode parecer trivial. Estou usando o ambiente de tabulação e tenho longas filas para quebrar. Portanto, estou usando o \tabfillcomando para fazer isso.

\newcommand\tabfill[1]{%\dimen@\linewidth%
\advance\dimen@\@totalleftmargin%
\advance\dimen@-\dimen\@curtab%
\parbox[t]\dimen@{#1\ifhmode\strut\fi}%
% or, to avoid stretching:
% \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}%
}

O único problema que tenho com este comando é que o texto dentro da \tabfillcaixa fica alinhado à margem esquerda. Gostaria que quando este texto fosse quebrado (já que está dentro de um ambiente de tabulação) ele também fosse recuado nas linhas seguintes à primeira. Alguma idéia de como modificar este comando tabfill para atingir esse objetivo? Ou alguma outra solução?

Exemplo do que procuro:

Column 1                Column 2
bla bla                 bla bla bla bla bla bla bla bla bla bla bla bla
                        bla bla bla bla
bla bla                 bla bla

Código (gerando sem recuo):

\begin{tabbing}
\hspace{3.1cm} \= \kill
Column 1 \> Column 2\\
bla bla \> \tabfill{bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}\\
bla bla \> \tabfill{bla bla}
\end{tabbing}

Isso faz sentido?

Responder1

Isto é o que recebo do seu código original (a primeira configuração para \dimen@descomentar):

\documentclass{article}
\makeatletter
\newcommand\tabfill[1]{%
  \dimen@\linewidth
  \advance\dimen@\@totalleftmargin
  \advance\dimen@-\dimen\@curtab
  \parbox[t]\dimen@{#1\ifhmode\strut\fi}%
}
\makeatother

\textwidth=.75\textwidth % just to make wrapping more evident

\begin{document}
\begin{tabbing}
\hspace{3.1cm} \= \kill
Column 1 \> Column 2\\
bla bla \> \tabfill{bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}\\
bla bla \> \tabfill{bla bla}
\end{tabbing}
\end{document}

insira a descrição da imagem aqui

Vamos adicionar uma \leftskipconfiguração:

\documentclass{article}
\makeatletter
\newcommand\tabfill[1]{%
  \dimen@\linewidth
  \advance\dimen@\@totalleftmargin
  \advance\dimen@-\dimen\@curtab
  \parbox[t]\dimen@{%
    \leftskip=2em\hspace*{-2em}#1\ifhmode\unskip\nobreak\strut\fi}%
}
\makeatother

\textwidth=.75\textwidth % just to make wrapping more evident

\begin{document}
\begin{tabbing}
\hspace{3.1cm} \= \kill
Column 1 \> Column 2\\
bla bla \> \tabfill{bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}\\
bla bla \> \tabfill{bla bla}
\end{tabbing}
\end{document}

insira a descrição da imagem aqui

Se você não planeja usar coisas muito complicadas dentro do argumento, como \tabfilllistas discriminadas ou enumeradas, esta é a solução mais simples. Se você quiser adicionar \raggedright, coloque-o na frente de \leftskip.

informação relacionada