\documentclass[12pt,a4paper]{article}
\usepackage{color}
\usepackage[turkish]{babel}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{graphicx}
%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}
\includegraphics[width=3cm, height=4cm]{2.pdf}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%
错误信息是:
缺少插入的 \endcsname。\relax l.334 ...udegraphics[width=3cm, height=4cm]{1.jpg}
但如果只添加一张图片,那么就可以了。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\includegraphics[width=3cm, height=4cm]{1.jpg}
\end{figure}
\end{document}
这没问题。但是为什么第一个会给出错误消息?
答案1
默认情况下,turkish
语言选项会=
变成活动字符,本质上会破坏任何 key=val 接口(因为它们假定=
为正常字符)。
处理此问题的标准方法是\shorthandoff{...}
:
\documentclass{article}
\usepackage[turkish]{babel}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\shorthandoff{=}
\includegraphics[width=3cm, height=4cm]{example-image}
\end{figure}
\end{document}
像这样使用,它会暂时(在这个figure
环境中)停用=
并使其正常运行,从而width=3cm
再次工作。
turkish
babel ( )的文档texdoc babel-turkish
提到激活=
有潜在危险,你可以使用
\usepackage[turkish,shorthands=:!]{babel}
只是活跃:!
,=
别管了。