比尔·布莱森的书, 失落的大陆:美国小镇之旅 有一个不寻常的首段开头风格。它相当于一个长等号,后面跟着前三个小写字母的单词。
典型的开篇如下:
如果您观察到两条线完全画在一个ex
高度。在 LateX 中定义宏的好方法是什么?今晚我处于数学模式,我尝试了下面的代码,当然它不能正常工作。
\def\lettrinerule{$=\!=\!=\!=\!=\!=\!=\!=$ }
\lettrinerule{\scshape i drove on}, without
我还想了解一下除了首字下沉之外,还有哪些书籍也使用了不寻常的第一段开头。
答案1
\newcommand{\lettrinerule}[1]{%
\settoheight{\dimen0}{\scshape #1}%
\noindent
\vbox to \dimen0{\hrule width 5em\vfill\hrule}\kern.5em
\textsc{#1}}
可能没有必要。请进行调整。您可以在每个命令后\noindent
说 来修改规则的粗细。heigth <dimen>
\hrule
更接近 LaTeX 的方式是
\newcommand{\lettrinerule}[1]{%
\settoheight{\dimen0}{\scshape #1}%
\noindent
\parbox[b][\dimen0][s]{5em}{\setlength{\baselineskip}{0pt}%
\rule{\linewidth}{0.4pt}\vfill\rule{\linewidth}{0.4pt}}%
\kern.5em
\textsc{#1}}
产生相同的结果。
答案2
您可以使用领导者在预先指定的长度上复制某些内容:
\documentclass{book}
\newcommand{\lettrinerule}[2][10em]{%
% \makebox[#1]{\leaders\hbox{{=}\kern-2pt}\hfill\kern1ex}%
\makebox[#1]{\rlap{\rule[1ex]{#1}{.4pt}}\par\rule[.25ex]{#1}{.4pt}}\kern1ex%
{\scshape #2}%
}
\begin{document}
\chapter{A chapter}
\lettrinerule{i drove on}, without the radio or much in the
way of thoughts, to Mount Pleasant, where I stopped for coffee.
I had the Sunday \emph{New York Times\/} with me---one of the greatest
improvements in life since I had been away was that you could
now buy the \emph{New York Times\/} out of machines on the day of
publication in a place like Iowa, an extraordinary feat of distribution---and
I spread out with it in a booth.
\end{document}
我已经注释掉了这种\leader
方法,但结果非常相似。我发现使用\rule
这种方法在屏幕上看起来会稍微好一些,因为领导者往往会显示可见的重叠(尽管在印刷品中不会),这可能会分散读者的注意力。
在上述两种选择中,您都可以通过可选参数 来修改前导符的长度\lettrinerule[<length>]{<phrase>}
(默认值为<length>
)10em
。如您的示例所示,<phrase>
是使用 排版的\scshape
。
这只是一个基本的实现,因此不需要(也不会产生)任何花哨的东西。
答案3
您可以使用 TikZ 轻松绘制类似的东西;
\newcommand{\letterinerule}{\tikz[baseline]{\draw[very thick] (0,1pt) -- +(2cm,0) (0,6.2pt) -- +(2cm,0);}\ }
我调整了水平位置来复制示例中的书的线条。