Codificación de fuentes en LaTeX

Codificación de fuentes en LaTeX

He estado usando LaTeX por un tiempo y he leído muchas discusiones sobre codificaciones de fuentes.

Algunos sugieren usar fuentes T1 agregando \usepackage[T1]{fontenc}, otros sugieren no agregar nada, otros sugieren usar T1además del paquete, aemientras que otros dicen que esto está en desuso y que se debe usar otra fuente en su lugar...

Estoy muy confundido, ¿hay algún recurso actualizado que explique bien el problema y resuelva el asunto?

En mi experiencia, agregar nada funciona bien, pero a veces necesito conjuntos de caracteres adicionales, como versalitas en negrita, en este caso puedo usar la codificación T1 pero la calidad es mala. Todo parece estar arreglado si uso el aeo los lmodernpaquetes. ¿Qué está pasando realmente y qué debo hacer realmente?

PD: Lo siento si esto se ha preguntado antes, he encontrado mucha discusión sobre esto pero estoy publicando con la esperanza de obtener una respuesta definitiva.

PPS : Actualmente estoy usando latex++ dvips. ps2pdfPrefiero usarlo pdflatexsi puedo pero, como trabajo con otros, no siempre es posible.

Respuesta1

La regla básica es: Pruébelo si obtiene mejores resultados utilizándolo \usepackage[T1]{fontenc}en su documento.

La explicación: cuando escribes un texto en inglés, probablemente puedas arreglártelas sin esta línea y no experimentarás ninguna diferencia/dificultad en la mayoría de las situaciones.

Cuando Knuth presentó TeX, lo envió con la fuente llamada 'Computer Modern'. Esta fuente tiene sólo un conjunto de caracteres muy limitado (en comparación con las fuentes OpenType actuales). Por ejemplo, caracteres como 'ö' y 'ü' no estaban presentes. Esto no hace daño si no escribe ningún idioma que use estos caracteres. Pero tan pronto como tengas que renderizarlos, puedes ayudar combinando dos puntos '¨' encima de la 'o' o la 'u'. Hay una primitiva TeX para eso: \accent. Esto tiene el efecto secundario de desactivar la separación de palabras, lo cual no es aceptable.

Así, un día los usuarios de TeX llegaron a un acuerdo sobre cómo codificar fuentes que puedan representar la mayoría de los idiomas europeos (la codificación T1). Esta codificación indica qué código colocar en el archivo DVI o PDF cuando los usuarios solicitan una 'ö' o una 'ü'. Ahora que estos caracteres ya no tienen que estar compuestos por dos glifos, no rompen la separación de palabras.

Ahora, ¿por qué molestarse con T1 si no tienes estos divertidos personajes? Cuando prepara una fuente para LaTeX, debe crear archivos de métricas de fuentes ( tfm). Dado que T1 es la codificación más utilizada hoy en día (seguramente en Europa), algunas personas ya no se molestan con codificaciones que no sean T1 y, por lo tanto, es posible que una fuente no esté disponible en la OT1codificación antigua y predeterminada.

PERO: cuando se ciñe a Computer Modern, es posible que desee conservar la codificación anterior (y no usar T1), ya que la variante PostScript (que conduce a mejores resultados de renderizado) solo está disponible con la codificación OT1. Para Computer Modern codificado T1 (que debe usar cuando necesita separación de palabras en palabras con estos caracteres especiales), puede usar el aepaquete o cambiar su fuente a cm-super (pornocargar aey cambiar la codificación a T1, pero no me gustaría hacer eso). Recomiendo encarecidamente utilizar el reemplazo de Computer Modern llamado 'Latin Modern', que viene en varios tipos (PostScript Type 1, fuentes OpenType). Actívalo mediante \usepackage{lmodern}.

Respuesta2

Una XeLaTeXalternativa

El OP nombra explícitamente LaTeXen el título de la pregunta. Hay un compilador relacionado llamado XeLaTeXque está destinado a manejar caracteres extranjeros de una manera más fluida que LaTeX. Pensé que sería útil mencionarlo aquí. Lo uso desde hace un tiempo para componer francés con gran éxito. El siguiente fragmento de código en el preámbulo comprobará si XeLaTeXse está llamando y cargará los programas en consecuencia.

En el código siguiente, para insertarlo en el preámbulo, cargo la fuente de dominio público Libertine. Esto es sólo una ilustración: en este caso, configurar la fuente con las setmainfontopciones del comando es bastante tedioso, por lo que libertinese creó un paquete específico llamado para facilitar la configuración de la fuente.

\usepackage[oldstyle]{libertine}% public domain font % alternative to \setmainfont line commented out below
\usepackage{ifxetex}% load different packages with/without XeLaTex
\ifxetex
    \usepackage{fontspec}% provides \setmainfont
    %\setmainfont[Numbers=OldStyle,Ligatures=Common,Mapping=tex-text]{Linux Libertine O}% public domain font % or use the libertine package instead
\else  % packages below are not needed with utf8 based engines
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern} 
\fi%

Cuando lo busqué hace un tiempo, encontré que era una buena combinación (los expertos me corrigen si me equivoco). No soy un XeLaTeXgurú ni nada por el estilo, simplemente descubrí que me ayudó mucho con mis textos en francés y lo adopté hace poco.

información relacionada