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 am using LyX in order to write my thesis in Greek Language. When I press the preview button on LyX, everything is ok with the greek language on my thesis except the bookmarks on the side of pdf. They aren't in Greek ... although table of contents is in Greek.

I attach a screenshot in order to understand what's my issue:

http://img823.imageshack.us/img823/6858/screenshotfrom201211131.png

How can i fix this ?

share|improve this question
    
See also (duplicate?): tex.stackexchange.com/q/41614/8272 –  Nikos Alexandris Mar 12 '13 at 10:37
    
@NikosAlexandris I see your point, but I guess the Lyx-specific element makes this a related rather than duplicate question. –  Joseph Wright Mar 14 '13 at 7:06
    
@Joseph already taken care in the other question :-) –  Nikos Alexandris Mar 14 '13 at 8:49
    
@Joseph o-kay, it was easy to adapt the info into a LyX example (in the past, I mean) -- however, now added a LyX ready-to-use example: tex.stackexchange.com/a/44130/8272 –  Nikos Alexandris Mar 14 '13 at 9:04
add comment

1 Answer

The problem is that bookmarks do not know about TeX fonts. The Greek in the question is very likely based on font encoding, using Greek characters instead of the standard Latin alphabet and ligatures for generating accents. These are features of TeX's stomach. Bookmark strings, however, are simple text strings. Mainly only TeX expansion (TeX's mouth) is available for processing bookmark strings. Example, if the code for processing bookmarks in hyperref gets the character C, it does not know which font is used in TeX to typeset this glyph, neither it does know the language. Based on the features of font encoding and ligatures a string might contain many C, but meaning different glyphs.

Ways to get Greek bookmarks

Bookmarks strings can be encoded in PDFDocEncoding or Unicode. For Greek Unicode is needed (regardless of input encoding) in all cases:

\usepackage[unicode]{hyperref}% or pdfencoding=auto
  • Package hyperref's \pdfstringdef directly supports UTF-8 of utf8.def or utf8x.def. If UTF-8 is not an option for all the Greek text, then it can be limited to bookmarks:

    \section{\texorpdfstring{<Greek text>}{<UTF-8 for bookmarks>}}
    
  • LuaTeX or XeTeX have native support for UTF-8/Unicode. These big chars (with character codes greater than 127) are also recognized and supported by hyperref's \pdfstringdef.

  • If markers for the Greek stuff can be introduced inside the bookmark strings:

    \section{\texorpdfstring{...}{...<BeginGreek>...<EndGreek>...}}
    

    then it would be possible to catch the partial Greek strings and transform them to a form that is supported for bookmarks (via an expandable implementation or using the post-processing hook). But it quickly becomes nasty, if the Greek stuff is nested or includes Latin fragments (via \ref, …). Also the whole translation process from Greek in Latin form to real Greek has to be implemented.

  • Short Greek stuff can also be set by using \unichar with the Unicode number in the second argument of \texorpdfstring. But for long texts this method is not very convenient.

share|improve this answer
    
First thanks for your answer ! Because i am using Lyx can you tell me exactly what should i paste on preamble to fix it ? I tried the commands you gave me but nothing happened , only errors :( Sorry but i dont know so much yet about Latex .. –  ALdaperan Nov 13 '12 at 16:13
1  
@ALdaperan As far as hyperref is concerned, UTF-8 seems the best way to proceed. Otherwise I can't help much, because I am not an expert for Greek or Lyx. –  Heiko Oberdiek Nov 13 '12 at 16:52
    
I paste and save \usepackage[unicode]{hyperref} on Lyx's preamble and then when pressing preview pdf I get an error saying : pastebin.com/ivd3Gae5 –  ALdaperan Nov 13 '12 at 16:58
    
@ALdaperan As you can see, option unicode is already be loaded. Thus there is no need for another \usepackage[unicode]{hyperref}. Then you need fonts and input method that do not rely on putting Greek characters at Latin character positions and using ligatures for the diacritics. –  Heiko Oberdiek Nov 13 '12 at 17:09
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.