Método para evitar letras griegas variantes

Método para evitar letras griegas variantes

Usando un teclado griego virtual y los siguientes paquetes es posible implementar directamente caracteres Unicode griegos (por ejemplo, θ)

\usepackage[mathletters]{ucs}
\usepackage[utf8]{inputenc}

Sin embargo, los caracteres mostrados en el PDF son siempre las variantes griegas, por ejemplo, \varthetaen contraposición a \theta.

¿Hay alguna forma de evitar esto que no sea \let\vartheta\thetapara cada personaje?

Respuesta1

mmmmmm

Las definiciones Unicode para theta son:

U+03b8 GREEK SMALL LETTER THETA

U+03d1 GREEK THETA SYMBOL

El primero de ellos es el de su pregunta y el segundo es el más rizado y abierto.

Sin embargo, en las codificaciones configuradas por el ucspaquete, se le proporcionará de forma predeterminada un carácter U+03b8 \texttheta(lo que probablemente le daría el carácter correcto en modo texto si cargó las codificaciones de fuente correctas, obtuve un comando indefinido) Pero si usa la [mathletters]opción como en tu fragmento cambia para usar la definición

\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%

en el archivouni-3.def

Es decir, se supone que desea que el carácter del símbolo theta esté en modo matemático. Entonces, lo \letque usted sugiere sería unidireccional, o podría anular esta definición:

\documentclass{article}

\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}

\makeatletter
\uc@dclc{952}{mathletters}{\ensuremath{\theta}}%
\makeatother

\begin{document}

 (e.g. θ)

\end{document}

que produce:

ingrese la descripción de la imagen aquí

El conjunto completo de \var... en uni-3.defes

5 matches for "\\var" in buffer: uni-3.def
    174:\uc@dclc{949}{mathletters}{\ensuremath{\varepsilon}}%
    183:\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%
    210:\uc@dclc{961}{mathletters}{\ensuremath{\varrho}}%
    213:\uc@dclc{962}{mathletters}{\ensuremath{\varsigma}}%
    225:\uc@dclc{966}{mathletters}{\ensuremath{\varphi}}%

Respuesta2

Si desea evitar ucs (que chocan, por ejemplo, con biblatex), puede utilizar lgrxenc.def y lgrenc.dfu que se proporcionan aquí:http://milde.users.sourceforge.net/LGR/

lgrenc.dfu asigna, por ejemplo, U+03BB al \textthetacual creo que debería ser el símbolo que desea.

Respuesta3

Parece que estás utilizando una versión desactualizada de ucs. A partir de la versión 2.0 de abril de 2012, tanto los caracteres griegos normales como los variantes se asignan a las macros adecuadas cuando se utiliza la mathlettersopción. Ver mi artículo de blogNueva versión del paquete ucs LaTeX.

Si tiene que ceñirse a su ucsversión anterior, también puede modificar las asignaciones de caracteres al código TeX, lo cual es más limpio que redefinir las macros de letras griegas a través de \let. Sin embargo, \uc@dclcno se recomienda utilizar , como en la respuesta de David Carlisle. El comando de nivel de usuario que se debe utilizar es \DeclareUnicodeCharacter. Verla documentación del paquete.

información relacionada