
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, \vartheta
en contraposición a \theta
.
¿Hay alguna forma de evitar esto que no sea \let\vartheta\theta
para 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 ucs
paquete, 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 \let
que 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:
El conjunto completo de \var
... en uni-3.def
es
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 \texttheta
cual 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 mathletters
opción. Ver mi artículo de blogNueva versión del paquete ucs LaTeX.
Si tiene que ceñirse a su ucs
versió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@dclc
no 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.