\usepackage[turkish]{babel} 与 \includegraphics 不一致

\usepackage[turkish]{babel} 与 \includegraphics 不一致

这是我的文件:

\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}

当我尝试从该文件构建 PDF 时,我收到了一堆错误。其中之一如下:

缺少 \endcsname 插入...graphics[scale=0.5]{./images/image_3.png}}

当我删除 babel 包时,它运行顺利。即使我将语言更改为另一种语言,它也能运行。

这里发生了什么事?

答案1

我以为这个问题已经解决了,但似乎还没有。

由于您可以直接输入土耳其语特定字符作为 Unicode,因此不需要=快捷方式;所以

\begin{document}
\shorthandoff{=}

会解决问题。如果你真的需要快捷方式=,唯一的方法似乎是说

\shorthandoff{=}

在所有\includegraphics命令之前以及\shorthandon{=}在它们之后再次执行。

答案2

请检查此问题的答案:\newgeometry 不适用于土耳其语 babel 包。@karlkoeller 的一个回答提供了一种自动关闭速记的方法,可以在之前关闭速记,\includegraphics然后在之后再次打开。

相关内容