这是我的文件:
\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
然后在之后再次打开。