在 LaTeX 中画两条线的最佳方法是什么?

在 LaTeX 中画两条线的最佳方法是什么?

比尔·布莱森的书, 失落的大陆:美国小镇之旅  有一个不寻常的首段开头风格。它相当于一个长等号,后面跟着前三个小写字母的单词。

enter image description here

典型的开篇如下:

enter image description here

如果您观察到两条线完全画在一个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

enter image description here

更接近 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

您可以使用领导者在预先指定的长度上复制某些内容:

enter image description here

\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);}\ }

example

我调整了水平位置来复制示例中的书的线条。

相关内容