Я хочу найти способ создавать буквицы (большие начальные буквы в несколько строк) в 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
результат в порядке:
Когда я раскомментирую строки [pdftex] и компилирую их как
pdflatex drop.tex
результаты:
Может ли кто-нибудь предложить лучший способ изготовления буквиц с pdflatex?


Удаление, как известно, плохо работает с pdflatex. если леттрин ему не подходит, я откажусь от этого ответа.
Попробуйте другой шрифт, с масштабированием; похоже, что PDF-файл не находит достаточно большого шрифта для cap-W и заменяет его. Другой вариант - использовать перевод из формата dvi в PDF.
Большое спасибо за быстрые ответы! Собственно, оба комментария Хмеля и Чарли Мартина были полезны. lettrine.sty - фантастический пакет, и он работает. Используются масштабируемые шрифты если.
Итак, решение заключалось в том, чтобы заставить шрифты CM типа 1 вместо 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}
И вот результат:
Спасибо!
PS. dropping некорректно работает даже с type1cm.
UPD. Этот пример также работает с xelatex.
Как упоминалось в Jetxee, необходимо использовать масштабируемый шрифт, чтобы получить точный размер исходного. Если вы измените шрифт по умолчанию, это произойдет без каких-либо действий.
По историческим причинам шрифты CM по умолчанию загружаются для «привязки» к определенным размерам, а не с возможностью загрузки любого масштабированного размера. Это с того времени, когда использовались исходные коды Metafont, когда другой размер шрифта изменил фактическую форму глифов (Google оптические размеры для любопытных).
Каноническим решением этой проблемы со шрифтами CM является загрузка пакета fix-cm. Пакет type1cm - это более старый пакет, который в основном делает то же самое.
Подозреваю, что это не поможет. Буква W падает нормально - базовая линия сдвинута вниз - но это недостаточно большой символ.