Отступ текста в \tabfill (среда табуляции)

Отступ текста в \tabfill (среда табуляции)

Я не эксперт в LaTeX. Поэтому вопрос может показаться тривиальным. Я использую среду табуляции, и мне нужно переносить длинные строки. Поэтому я использую команду, \tabfillчтобы сделать это.

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

Единственная проблема, с которой я столкнулся с этой командой, заключается в том, что текст внутри поля \tabfillвыравнивается по левому полю. Я бы хотел, чтобы при переносе этого текста (поскольку он находится внутри среды табуляции) он также имел отступ в строках, следующих за первой. Есть идеи, как изменить эту команду tabfill, чтобы достичь этой цели? Или есть какое-либо другое решение?

Пример того, что я ищу:

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

Код (без отступа):

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

Имеет ли это смысл?

решение1

Вот что я получаю из вашего исходного кода (первый параметр \dimen@раскомментирован):

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

введите описание изображения здесь

Давайте добавим \leftskipнастройку:

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

введите описание изображения здесь

Если вы не планируете использовать очень сложные вещи внутри аргумента, \tabfillтакие как детализированные или нумерованные списки, это самое простое решение. Если вы хотите добавить \raggedright, поместите его перед \leftskip.

Связанный контент