Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Using a virtual greek keyboard and the following packages it's possible to directly implement Greek unicode characters (e.g. θ)

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

However the displayed characters in the PDF are always the Greek variants e.g. \vartheta as opposed to \theta.

Is there any way to avoid this other than \let\vartheta\theta for each character?

share|improve this question
add comment

3 Answers

hmmmm

The Unicode definitions for theta are:

U+03b8 GREEK SMALL LETTER THETA

U+03d1 GREEK THETA SYMBOL

With the first of those being the one in your question, and the second being the more curly open one.

However in the encodings set up by the ucs package a U+03b8 character will by default give you \texttheta (which would probably give you the right character in text mode if you loaded the correct font encodings, I got undefined command) But if you use the [mathletters] option as in your fragment it switches to use the definition

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

in the file uni-3.def

I.e., assumes that you want the theta-symbol character in math mode. So the \let you suggest would be one way, or you could over-ride this definition:

\documentclass{article}

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

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

\begin{document}

 (e.g. θ)

\end{document}

which produces:

enter image description here

The full set of \var... in uni-3.def is

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}}%
share|improve this answer
add comment

If you want to avoid ucs (which clashes e.g. with biblatex) you can use the lgrxenc.def and lgrenc.dfu provoided here: http://milde.users.sourceforge.net/LGR/

lgrenc.dfu maps e.g. U+03BB to \texttheta which I think should be the symbol you want.

share|improve this answer
add comment

It appears that you are using an outdated version of ucs. Starting with version 2.0 from April 2012, both normal and variant greek characters map to the proper macros when using the mathletters option. See my blog article New release of the ucs LaTeX package.

If you have to stick to your older ucs version, you can also modify the mappings from characters to TeX code, which is cleaner than redefining the greek letter macros via \let. However, using \uc@dclc, as in the answer from David Carlisle, is not recommended. The user-level command to use is \DeclareUnicodeCharacter. See the package documentation.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.