Буквицы в pdfLaTeX

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

результат в порядке:

Буквицы в pdfLaTeX

Когда я раскомментирую строки [pdftex] и компилирую их как

pdflatex drop.tex

результаты:

Буквицы в pdfLaTeX

Может ли кто-нибудь предложить лучший способ изготовления буквиц с pdflatex?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
Включение UTF-8 в jsPDF с помощью Angular
Включение UTF-8 в jsPDF с помощью Angular
Привет, разработчики, я предполагаю, что вы уже знаете, как экспортировать pdf через jsPDF. Если ответ отрицательный, то вы можете ознакомиться с моей...
12
0
13 077
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

lettrine.sty

Подозреваю, что это не поможет. Буква W падает нормально - базовая линия сдвинута вниз - но это недостаточно большой символ.

Charlie Martin 05.01.2009 21:15

Удаление, как известно, плохо работает с pdflatex. если леттрин ему не подходит, я откажусь от этого ответа.

user3850 05.01.2009 21:19

Попробуйте другой шрифт, с масштабированием; похоже, что 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}

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

pdflatex-type1cm-lettrine

Спасибо!

PS. dropping некорректно работает даже с type1cm.

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

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

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

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

Другие вопросы по теме