12

我想找到一种在 pdfLaTeX 中生成首字母大写(几行高的大首字母)的方法。我知道有一个包在与+dropping一起使用时效果很好。然而,当与结果一起使用时看起来很难看。latexdvipspdflatex

我的源文件是:

\documentclass[12pt]{article}

% for pdflatex file.tex # dropping is ugly
% \usepackage[pdftex]{graphicx}
% \usepackage[pdftex]{dropping}

% for latex file.tex ; dvips -T 12cm,8cm file.dvi # dropping is OK
\usepackage[dvips]{graphicx}
\usepackage{dropping}

\usepackage[papersize={12cm,8cm},
    left=0.5cm,right=0.5cm,
    top=0.5cm,bottom=0.5cm]{geometry}

\begin{document}
\dropping[-3pt]{3}{W}ith a drop cap, the initial sits within the margins and
runs several lines deep into the paragraph, pushing some normal-sized text off
these lines. This keeps the left and top margins of the paragraph flush.
In~modern browsers, this can be done with a combination of HTML and CSS
by~using the float: left; setting.
\end{document}

当我将其编译为

latex drop.tex && dvips -T 12cm,8cm drop.dvi

结果没问题:

滴胶-dvips

当我取消注释[pdftex]行并将其编译为

pdflatex drop.tex

结果是:

滴-pdflatex

谁能建议一种更好的方法来制作首字下沉pdflatex

4

4 回答 4

20

非常感谢您的快速响应!实际上,hop 和 Charlie Martin 的评论都很有用。lettrine.sty是一个很棒的包,如果使用可缩放字体,它就可以工作。

因此,解决方案是强制使用 Type 1 CM 字体而不是默认 CM使用lettrine.sty. lettrine.sty文档建议\usepackage{type1cm}.

这有效:

\documentclass[12pt]{article}

% works with pdfLaTeX
\usepackage{type1cm} % scalable fonts
\usepackage{lettrine}

\usepackage[papersize={12cm,4cm},
    left=0.5cm,right=0.5cm,
    top=0.5cm,bottom=0.5cm]{geometry}

\begin{document}
\lettrine[lines=3,slope=-4pt,nindent=-4pt]{W}{ith} a drop cap, the initial sits
within the margins and runs several lines deep into the paragraph, pushing some
normal-sized text off these lines. This keeps the left and top margins of the
paragraph flush.  In~modern browsers, this can be done with a combination of
HTML and CSS by~using the float: left; setting.
\end{document}

这是结果:

pdflatex-type1cm-lettrine

谢谢!

PS。dropping即使使用 也无法正常工作type1cm

UPD。此示例也适用于xelatex.

于 2009-01-05T18:51:28.097 回答
6

尝试另一种字体,一种带有缩放比例的字体;这看起来像 PDF 没有为 cap-W 找到足够大的字体并且正在替换。另一种选择是使用 dvi 到 PDF 的翻译。

于 2009-01-05T18:13:04.883 回答
4

信笺

于 2009-01-05T18:12:21.640 回答
3

正如jetxee所提到的,有必要使用可缩放的字体来获得正确的初始大小。如果您更改默认字体,则无需您执行任何操作即可发生这种情况。

由于历史原因,默认的 CM 字体被加载以“对齐”到特定大小,而不是在任何缩放大小下都可以加载。这是从使用原始 Metafont 源时开始的,当时不同的字体大小改变了字形的实际形状(好奇的谷歌光学尺寸)。

使用 CM 字体解决此问题的规范解决方案是加载fix-cm包。该软件包type1cm是一个较旧的软件包,基本上做同样的事情。

于 2009-01-18T16:05:55.193 回答