Буквицы в pdfLaTeX - PullRequest
       25

Буквицы в pdfLaTeX

11 голосов
/ 05 января 2009

Я хочу найти способ создания заглавных букв (большие начальные буквы высотой в несколько строк) в 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 ]

19 голосов
/ 05 января 2009

Большое спасибо за быстрый ответ! На самом деле, оба комментария от хопа и Чарли Мартина были полезны. 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}

И вот результат:

pdflatex-type1cm-lettrine

Спасибо!

PS. dropping не работает правильно даже с type1cm.

UPD. Этот пример также работает с xelatex.

6 голосов
/ 05 января 2009

Попробуйте другой шрифт, один с масштабированием; похоже, что PDF не находит достаточно большой шрифт для cap-W и заменяет его. Другой вариант - использовать перевод dvi-to-PDF.

4 голосов
/ 05 января 2009
3 голосов
/ 18 января 2009

Как уже упоминалось jetxee , необходимо использовать масштабируемый шрифт, чтобы получить точно правильный размер для начального. Если вы измените шрифт по умолчанию, это произойдет без необходимости что-либо делать.

По историческим причинам шрифты CM по умолчанию загружаются для «привязки» к определенным размерам, а не для загрузки в любом масштабированном размере. Это со времени, когда использовались оригинальные источники Metafont, когда другой размер шрифта изменил фактическую форму глифов (Google оптические размеры для любопытных).

Каноническим решением для устранения этой проблемы со шрифтами CM является загрузка пакета fix-cm. Пакет type1cm является более старым пакетом, который в основном делает то же самое.

...