pdflatex 中的图形环境无法使用 babel 和 hebrew 进行编译

pdflatex 中的图形环境无法使用 babel 和 hebrew 进行编译

我有一个用希伯来语和英语编写的项目,它是pdfLatex在 Overleaf 上编译的。由于此编译器不是 Unicode 引擎,因此必须明确声明希伯来语字母(正如我所学到的这里\DeclareUnicodeCharacter{---}{\heb---})这就是下面序言中命令的原因。

它运行良好,直到我想在figure环境中将图像插入到我的文档中。

main.tex和文件chapter01.tex如下所示,具有分层文件结构:

\documentclass{tufte-book} % Tufte-book format
% Encoding stuff
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[main=english, hebrew]{babel}


%% Herbew letters declarations %%
\DeclareUnicodeCharacter{05D0}{\hebalef}
\DeclareUnicodeCharacter{05D1}{\hebbet}
% and so on until
\DeclareUnicodeCharacter{05EA}{\hebtav}

\usepackage{subfiles} % Best loaded last in the preamble. Used to break the content of the project into smaller files

\begin{document}
\subfile{subfiles/chapter01}
\subfile{subfiles/chapter02}
\end{document}
\documentclass[main.tex]{subfiles}

\begin{document}
\selectlanguage{hebrew}
כיתוב בעברית.
\selectlanguage{english}
Some english text, and this is a figure:
\begin{figure}
    \centering
    \includegraphics{images/figure01.png}
\end{figure}
% No figure!
\end{document}
root folder
├main.tex
└───figures
| │ figure01.png
│ │ figure02.png
│ │ figure03.png
└───subfiles
| │ chapter01.tex
| │ chapter02.tex
| │ chapter03.tex

日志有如下错误:

Missing \endcsname inserted.
Use of \m@^_ doesn't match its definition.
Missing number, treated as zero.
Extra \endcsname.
Undefined control sequence.   l.10  \includegraphics{figures/figure.png}

有人能告诉我为什么会发生这种情况以及如何解决吗?

输出:

编译输出

答案1

changepage这似乎是包(由 使用tufte-book)与希伯来语支持之间的冲突babel,希伯来语支持更改为阿拉伯数字的代码。

在您的序言中加入以下几行可能会解决这个问题:

\makeatletter
\def\thecp@cntr{\@@arabic\c@cp@cntr}
\makeatother

可以undefined control sequence通过添加来解决

\usepackage{graphicx}

相关内容