
Usando um teclado grego virtual e os seguintes pacotes é possível implementar diretamente caracteres unicode gregos (por exemplo, θ)
\usepackage[mathletters]{ucs}
\usepackage[utf8]{inputenc}
No entanto, os caracteres exibidos no PDF são sempre as variantes gregas, \vartheta
por exemplo, em oposição a \theta
.
Existe alguma maneira de evitar isso além \let\vartheta\theta
de cada personagem?
Responder1
hummm
As definições Unicode para theta são:
U+03b8 GREEK SMALL LETTER THETA
U+03d1 GREEK THETA SYMBOL
Sendo o primeiro o da sua pergunta e o segundo o mais aberto e encaracolado.
No entanto, nas codificações configuradas pelo ucs
pacote, um caractere U+03b8 fornecerá por padrão \texttheta
(o que provavelmente forneceria o caractere correto no modo de texto se você carregasse as codificações de fonte corretas, recebi o comando indefinido) [mathletters]
. como no seu fragmento ele muda para usar a definição
\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%
no arquivouni-3.def
Ou seja, assume que você deseja o caractere do símbolo teta no modo matemático. Portanto, o que \let
você sugere seria uma maneira, ou você poderia substituir esta definição:
\documentclass{article}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}
\makeatletter
\uc@dclc{952}{mathletters}{\ensuremath{\theta}}%
\makeatother
\begin{document}
(e.g. θ)
\end{document}
que produz:
O conjunto completo de \var
... em uni-3.def
é
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}}%
Responder2
Se você quiser evitar ucs (que entra em conflito, por exemplo, com biblatex), você pode usar lgrxenc.def e lgrenc.dfu fornecidos aqui:http://milde.users.sourceforge.net/LGR/
lgrenc.dfu mapeia, por exemplo, U+03BB para \texttheta
o qual eu acho que deveria ser o símbolo que você deseja.
Responder3
Parece que você está usando uma versão desatualizada do ucs
. A partir da versão 2.0 de abril de 2012, os caracteres gregos normais e variantes são mapeados para as macros adequadas ao usar a mathletters
opção. Veja o artigo do meu blogNova versão do pacote ucs LaTeX.
Se você precisar manter sua ucs
versão mais antiga, também poderá modificar os mapeamentos de caracteres para o código TeX, o que é mais limpo do que redefinir as macros de letras gregas via \let
. No entanto, usar \uc@dclc
, como na resposta de David Carlisle, não é recomendado. O comando de nível de usuário a ser usado é \DeclareUnicodeCharacter
. Vera documentação do pacote.