!\language@active@arg 的参数有一个额外的 }。(我使用 \includegraphics 和 russian)

!\language@active@arg 的参数有一个额外的 }。(我使用 \includegraphics 和 russian)

以下是我的序言:

\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{~}
\usepackage[russian]{babel}

以及有问题的代码部分:

\begin{figure}[h]
\begin{minipage}{\hsize}
\begin{center}
\includegraphics[width=\textwidth]{"Figure 1_2_8(GIMP)".jpg}

当我尝试编译代码时出现此错误:

! Argument of \language@active@arg" has an extra }.
<inserted text> 
            \par 
l.69 ...idth=\textwidth]{"Figure 1_2_8(GIMP)".jpg}

? Runaway argument?
! Paragraph ended before \language@active@arg" was complete.
<to be read again> 
               \par 
l.69 ...idth=\textwidth]{"Figure 1_2_8(GIMP)".jpg}

? 

我认为这可能是由于引号使用不当造成的。我尝试在 { 之前使用 {},但没有帮助。你能帮忙吗?谢谢!

答案1

"russianb.ldf是(package )的有效简写字符babel。它不适用于文件名,因为它不可扩展。

三个选项:

  • \shorthandoff{"}, 看评论乌尔丽克·菲舍尔 (Ulrike Fischer) 著:

    \shorthandoff{"}%
    \includegraphics{"example image a"}%
    \shorthandon{"}%
    
  • \dq是双引号的可扩展版本,适用于以双引号为简写的语言(例如,russianb.ldfngermanb.ldf)。

     \includegraphics{\dq example image a\dq}%
    
  • 该软件包grffile增加了对图像文件名中空格的支持:

    \usepackage{grffile}
    
    \includegraphics{example image a}
    

相关内容