
我不是 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
。