LaTeX中的缩进式换行

4
我正在使用LaTeX编写文档,在文字换行时遇到了问题。我需要的是,当文字换行时,它能够缩进以匹配标签(类似于\item[Label:] Text函数,但我不能使用{description}上下文。你有什么想法吗?
这发生在以下情况下:
\newcommand{\objectiveresheading}[1]{%
  {\parashade[.9]{sharpcorners{\textbf{\Large{Objective: }\large{#1}}}}}

可能需要更多信息--您是否在任何类型的环境中?还是这发生在正文中? - Mica
它包含在这个定义的函数中:\newcommand{\objectiveresheading}[1]{{\parashade[.9]{sharpcorners}{\textbf{\Large{Objective: }\large{#1}}}}}\objectiveresheading 在正文中被调用。 - Jason B
哎呀,不要在注释中放太多代码...请编辑问题。控件就在标签下面。 - dmckee --- ex-moderator kitten
2个回答

5

有一个内部的LaTeX宏来执行这个功能,叫做\@hangfrom。下面是一个例子:

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\makeatletter
\newcommand*\objectiveresheading[1]{%
  \@hangfrom{\Large\bfseries 目标: }%
  {\large\bfseries #1\par}%
} 
\makeatother
\objectiveresheading{\lipsum[1]}
\end{document}

注意,换行的文本只能是单独的一段。如果你需要多个段落,类似于列表环境的东西会更好。


你是怎么发现这样的东西的?浏览latex.ltx吗? - Norman Ramsey
渗透 :) 我没有花太多时间阅读 source2e 的封面到封底,但我在其中的各个部分花费了相当多的时间。此外,我在像 comp.tex.text. 这样的地方花费了很多时间,那里有一群人比我使用 (La)TeX 更长达数十年的时间。 - Will Robertson

0

您可以将标签放入一个带编号的框中,获取该框的宽度,并使用\hangindent\hangafter来创建缩进段落。要了解如何使用\setbox\wd\hangindent\hangafter,最好的来源可能是权威著作:The TeXbook


是的,这就是\@hangfrom在内部所做的事情 :) - Will Robertson
我认为更重要的是知道如何做!但对于这样的问题,知道一个快捷方式是很有用的。附言:也许有一天我会向您请教noweb专业知识 :) - Will Robertson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接