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.

I was passing some documents I had in HTML to LaTeX for a better printout. While the main language of those documents is Spanish (and a few more are in English) there have snips in other languages, including languages that do not use Latin-1, such as Greek and IPA extensions.

Here is a minimal working example of what I am doing.

\documentclass[12pt]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
\Large
El término democracia viene del griego \textit{δημοκρατία} 
(pronunciado \textsf{/ðimokɾatía/}) y que significa gobierno
del pueblo.
\end{document}

The document is correctly encoded in UTF-8 (I've check with low-level tools).

When attempting to compile using pdflatex I get the following error fore each of the non-latin-1 characters.

! Package inputenc Error: Unicode char \u8:δ not set up for use with LaTeX.

And, indeed, those glyphs do not appear in the document:democracia-pdflatex

Supposedly xelatex should correct this problems, as it is supposedly Unicode-ready, however, with the same code I get the following errors:

! Package inputenc Error: Unicode char \u8:érm not set up for use with LaTeX.
! Package inputenc Error: Unicode char \u8:ðimo not set up for use with LaTeX.
! Package inputenc Error: Unicode char \u8:ía/ not set up for use with LaTeX.

(It does not report error in the Greek or IPA characters, only in the Latin-1 extended ones)

Neither these reported character groups, neither the Greek characters appear in the produced document:democracia-xelatex

I have isolated the xelatex error to the inputenc package. If I comment out that package the document compiles smoothly (the same happens with lualatex). Still the Greek and IPA characters do not appear.democracia-xelatex without inputenc

(And, of course, without inputenc the pdflatex compilation, while not reporting any error, does not behave well either, I presume it is mapping each byte to the T1 encoding):democracia-pdflatex without inputenc

So, there are actually two questions:

  1. How can I get to correctly get the Greek and IPA (and probably other non-Latin characters) to appear in my document bot using pdflatex and (xe/lua)latex?

  2. How can I mask the inputenc so that it loads with pdflatex but not with (xe/lua)latex?

share|improve this question
1  
To use unrestricted UTF8 you should really be using either XeLaTeX or LuaLaTeX, in which case you don't need inputenc or fontenc at all. –  Alan Munn Nov 29 '13 at 15:16
add comment

1 Answer 1

up vote 5 down vote accepted

You have to teach LaTeX how to switch to Greek and also to IPA. Moreover, the translation of Unicode to IPA is not complete and, in particular ɾ (U+027E LATIN SMALL LETTER R WITH FISHHOOK) is not available by default.

Using Greek is solved by loading the greek module for babel; support for IPA with the tipa package; the missing translation can be added with newunicodechar.

\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[greek,spanish]{babel}
\usepackage{tipa}

\usepackage{newunicodechar}
\newunicodechar{ɾ}{\textfishhookr}

\begin{document}
El término democracia viene del griego
\textit{\foreignlanguage{greek}{δημοκρατία}}
(pronunciado \textsf{\textipa{/ðimokɾatía/}})
y que significa gobierno del pueblo.
\end{document}

enter image description here

If you want a document compilable both with pdflatex and xelatex you should define commands for the constructs and provide different definitions according to what engine is used. Here's a way.

\documentclass[12pt]{book}
\usepackage{ifxetex}

\ifxetex
  \usepackage{fontspec}
  \setmainfont[Ligatures=TeX]{Linux Libertine O}
  \setsansfont[Ligatures=TeX]{Linux Biolinum O}
\else
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
  \usepackage{tipa}
  \usepackage{newunicodechar}
  \newunicodechar{ɾ}{\textfishhookr}
\fi

\usepackage[greek,spanish]{babel}

\newcommand{\GR}[1]{\foreignlanguage{greek}{#1}}

\ifxetex
  \newcommand{\xIPA}[1]{\mbox{\textsf{/#1/}}}
\else
  \newcommand{\xIPA}[1]{\textsf{\textipa{/#1/}}}
\fi

\begin{document}
El término democracia viene del griego 
\textit{\GR{δημοκρατία}}
(pronunciado \xIPA{ðimokɾatía})
y que significa gobierno del pueblo.
\end{document}
share|improve this answer
    
While my example only uses the fishhooked r, my actual document use much more IPA characters. Should I add them manually or are there a way to include them all (or most of them) in one command? –  Carlos Eugenio Thompson Pinzón Nov 29 '13 at 16:12
    
@CarlosEugenioThompsonPinzón I'm afraid you have to go one for one. Type them and look which ones give problems. –  egreg Nov 29 '13 at 16:18
    
Thank you for the answer @egreg. I finally got the Greek, IPA (and a few other Unicode glyphs) correctly, after downloading texlive-lang-greek and solving other related problems. It is now compiling with pdflatex. In xelatex is working too but it reports that file greek-fontenc.def is missing. –  Carlos Eugenio Thompson Pinzón Nov 29 '13 at 18:24
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.