我有一个用希伯来语和英语编写的项目,它是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}