在pdfLaTeX中删除大写字母

时间:2009-01-05 18:01:38

标签: pdf latex pdf-generation typography

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

我的源文件是:

\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

结果还可以:

dropping-latex-dvips

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

pdflatex drop.tex

结果是:

dropping-pdflatex

有人可以建议使用pdflatex制作首字下沉的更好方法吗?

4 个答案:

答案 0 :(得分:19)

非常感谢您快速回复!实际上,hop和Charlie Martin的评论都很有用。 lettrine.sty是一个很棒的软件包,如果使用可缩放字体,它就可以正常运行。

因此,解决方案是强制使用Type 1 CM字体而不是默认CM 使用lettrine.stylettrine.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即使使用type1cmxelatex也无效。

UPD。此示例也适用于{{1}}。

答案 1 :(得分:6)

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

答案 2 :(得分:4)

答案 3 :(得分:3)

jetxee所述,必须使用可缩放字体才能获得初始版本的正确大小。如果您更改默认字体,则无需执行任何操作即可实现。

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

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