2009-01-05 17 views
11

Quiero encontrar una manera de producir letras mayúsculas (grandes letras iniciales de varias líneas) en pdfLaTeX. Sé que hay un paquete dropping que funciona bien cuando se usa con latex + dvips. Sin embargo, cuando se usa con pdflatex, el resultado es desagradable.Drop caps en pdfLaTeX

Mi archivo de origen es:

\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} 

Cuando compilo como

latex drop.tex && dvips -T 12cm,8cm drop.dvi 

el resultado es OK:

dropping-latex-dvips http://i44.tinypic.com/i6cl5h.png

Cuando Descomentar [pdftex] líneas y compilarlo como

pdflatex drop.tex 

los resultados es:

dropping-pdflatex http://i44.tinypic.com/111mr83.png

¿Puede alguien sugerir una mejor manera de producir capitulares con pdflatex?

Respuesta

19

¡Muchas gracias por su rápida respuesta! En realidad, ambos comentarios de Hop y Charlie Martin fueron útiles. lettrine.sty es un paquete fantástico, y funciona si se usan fuentes escalables.

Por lo tanto, la solución era forzar Tipo   fuentes 1 cm en vez de CM por defecto y uso lettrine.sty. La documentación lettrine.sty sugiere \usepackage{type1cm}.

Esto funciona:

\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} 

Y este es el resultado:

pdflatex-type1cm-lettrine http://i44.tinypic.com/mmd1zb.png

Gracias!

PS. dropping no funciona correctamente incluso con type1cm.

UPD. Este ejemplo también funciona con xelatex.

4
+0

Sospecho que no ayudará. El W está cayendo bien, la línea de base bajó, pero no es un personaje lo suficientemente grande. Se sabe que –

+0

cayendo no funciona bien con pdflatex. si lettrine no funciona para él, retiraré esta respuesta. – hop

6

Pruebe otra fuente, uno con escalamiento; esto parece que el PDF no está encontrando una fuente lo suficientemente grande para el cap-W y está sustituyendo. La otra opción es usar una traducción de dvi a PDF.

3

Como se mencionó en jetxee, es necesario utilizar una fuente escalable para obtener exactamente el tamaño correcto para la inicial. Si cambia la fuente de la predeterminada, esto ocurrirá sin tener que hacer nada.

Por razones históricas, las fuentes CM predeterminadas se cargan para "ajustarse" a tamaños específicos, en lugar de cargarse en cualquier tamaño de escala.Esto es desde el momento en que se utilizaron las fuentes originales de Metafont, cuando un tamaño de fuente diferente cambió la forma real de los glifos (Google tamaños ópticos para los curiosos).

La solución canónica para solucionar este problema con las fuentes CM es cargar el paquete fix-cm. El paquete type1cm es un paquete antiguo que básicamente hace lo mismo.