.png)
Я не эксперт в 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
.