Lettrines dans pdfLaTeX
-
03-07-2019 - |
Question
Je souhaite trouver un moyen de produire des lettrines (grandes lettres de départ de plusieurs lignes de hauteur) en pdfLaTeX. Je sais qu'il existe un package dropping
qui fonctionne bien lorsqu'il est utilisé avec latex
+ dvips
. Cependant, lorsqu'il est utilisé avec pdflatex
, le résultat est moche.
Mon fichier source est:
\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}
Quand je le compile comme
latex drop.tex && dvips -T 12cm,8cm drop.dvi
le résultat est OK:
Quand je retire les commentaires de [pdftex]
des lignes et que je les compile comme
pdflatex drop.tex
le résultat est:
Quelqu'un peut-il suggérer un meilleur moyen de produire des lettrines avec pdflatex
?
La solution
Merci beaucoup pour vos réponses rapides! En fait, les commentaires de Hop et Charlie Martin ont été utiles. lettrine.sty
est un paquet fantastique, et cela fonctionne si les polices redimensionnables sont utilisées.
La solution a donc été de forcer les polices Type CM de type 1 au lieu des polices CM et par défaut, avec lettrine.sty
. La documentation lettrine.sty
suggère d'utiliser \ usepackage {type1cm}
.
Ceci fonctionne:
\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}
Et voici le résultat:
Merci!
PS. déposer
ne fonctionne pas correctement même avec type1cm
.
UPD. Cet exemple fonctionne également avec xelatex
.
Autres conseils
Essayez une autre police, une avec la mise à l’échelle; on dirait que le PDF ne trouve pas une police assez grande pour le cap-W et le remplace. L’autre option consiste à utiliser une traduction dvi en PDF.
Comme indiqué dans jetxee , il est nécessaire d'utiliser une police dimensionnelle pour obtenez exactement la bonne taille pour la première. Si vous changez la police par défaut, cela se produira sans que vous ayez à faire quoi que ce soit.
Pour des raisons historiques, les polices CM par défaut sont chargées dans & snap " à des tailles spécifiques, plutôt que d'être chargeable à n'importe quelle taille mise à l'échelle. C’est à partir du moment où les sources Metafont ont été utilisées, quand une taille de police différente a modifié la forme réelle des glyphes (Google tailles optiques pour les plus curieux).
La solution canonique pour résoudre ce problème avec les polices CM consiste à charger le package fix-cm
. Le paquet type1cm
est un paquet plus ancien qui fait fondamentalement la même chose.