16

Here is my document :

\documentclass[12pt]{book}

% must-have packages
\usepackage[turkish]{babel}
\usepackage[utf8]{inputenc} % This package will support Turkish chars
% must-have packages

\usepackage[a4paper,left=2.5cm,right=2cm]{geometry}
\usepackage{graphicx}
\usepackage{listings}

% settings
\setcounter{secnumdepth}{0}
% settings

\begin{document}

\framebox{\includegraphics[scale=0.5]{./images/image_3.png}}

\end{document}

When I try to build a pdf out of this file I received bunch of errors. here is one of them :

Missing \endcsname inserted ...graphics[scale=0.5]{./images/image_3.png}}

When I remove the babel package, it runs smoothly. Even when I change the language to another language, it runs as well.

What is happening here?

  • Just out of curiosity, can you please include \usepackage{pgf} and then try to use \pgfimage[height=3cm]{./images/image_3} . I wonder if the active character problem propagates. – percusse Oct 20 '11 at 19:29
18

I believed that this problem had been solved, but it seems not.

Since you can input directly Turkish specific characters as Unicode, you should not need the = shortcuts; so

\begin{document}
\shorthandoff{=}

will cure the problem. In case you really need the shortcuts with =, the unique way seems to be to say

\shorthandoff{=}

before all \includegraphics commands and \shorthandon{=} again after them.

  • The problem is still present as of TeXLive 2016. I really wonder why it has not been fixed. – Vesnog May 18 '17 at 21:18
  • 1
    @Vesnog I don't know why. – egreg May 18 '17 at 21:22
  • Yet the problem seems to affect bibliography (biblatex) in XeTex and I get errors like: Extended mathchar used as mathchar (6300214). \initiate@active@char{:} For bibliography Package keyval Error: hash=dde4eb9b1037974a732fc2c98a9f94b4 undefined. ^^I\printbibliography[heading=bibliography] – Vesnog May 18 '17 at 22:18
  • What problems did you find using this solution? The manual explains another possibility: “The = shorthand is potentially dangerous. You can deactivate with the babel option shorthands or with \shorthandoff: \usepackage[turkish,shorthands=:!]{babel}”. – Javier Bezos May 19 '17 at 17:39
  • @JavierBezos The shorthand is dangerous, but if it exists there should be a reason. Besides, setting shorthands=<whatever> requires knowing all shorthands to keep and this might get complicated with several active languages. So, no: I don't consider it a solution. – egreg May 19 '17 at 17:43
2

Please check the answers on this question: \newgeometry doesn't work with Turkish babel package. One answer by @karlkoeller gives an automatic way of switching the shorthand off before \includegraphics then on again after it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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