是否有一个软件包可以自动告诉 LaTeX 在章节/部分/小节的前几个单词(比如三个)中使用小型大写字母?
谢谢
答案1
据我所知没有。您可以使用杂志包来将整个第一行变为小写,或者你可以编写如下命令:
\def\scwords #1 #2 #3 {\textsc{#1} \textsc{#2} \textsc{#3} }
...
\scwords Lorem ipsum delorem fugit however this goes
然后,如果您需要更多/更少的单词,只需更改中的参数数量即可\scwords
。(编写迭代版本似乎不值得这么麻烦。)
让这一点自动发生有点困难。
答案2
正如 Fowler 所写,段落是思想的单位,而不是长度,新段落的开始必须在这方面有所表述。仅仅强调第一行或前三个单词可能看起来不太好,读起来也不太好。我更喜欢 tufte-book 类使用命令处理它的方式newthought
(你可以选择将多少个单词大写以及将哪些单词大写)。
\providecommand\newthought[1]{%
\addvspace{1.0\baselineskip plus 0.5ex minus 0.2ex}%
\noindent\textsc{#1} % small caps text out
}
添加一点垂直空间会让它看起来更专业。如果您只想自动拾取前两三个单词,Will 的解决方案是最简单的。
您可以按如下方式使用它:
\newthought{Testing the new thought}
答案3
我自己也遇到了这个问题,重新排版一些 19 世纪的文章,这些文章以几个小写字母开头。我的解决方案是使用包lettrine
,并以相同的方式处理小写字母段落lettrine
,但是没有首字下沉。
\lettrine[lines=1]{}{I wish} to ask your opinion and procure...
产生语义我一直在寻找的效果(听起来你也在寻找),不过你可能会认为如果你不打算使用首字下沉的话,这样做就太过分了。
更新:我之前删除了我认为是额外参数的东西[lines=1]
,但事实证明,在这种情况下它至关重要:没有它,lettrine
包会在下一行留下缩进。