更改脚注以显示符号在非英语文档中不起作用吗?

更改脚注以显示符号在非英语文档中不起作用吗?

我正在使用 Latex 完成我的大学作业,当我尝试在文档中添加脚注时,我注意到一些奇怪的事情。

我所在大学的主要语言是希伯来语;因此,我的大部分作业都是用希伯来语完成的。我使用 XeLatex 编写文档,并使用多语包来设置语言和字体。

我想使用命令 让脚注使用符号而不是数字\renewcommand{\thefootnote}{\fnsymbol{footnote}}。当我尝试时,它不起作用:脚注仍然用数字编号。经过试验,我发现将此命令放在后面begin{document}可以使其正常工作,所以我尝试使用 \AtBeginDocument{\renewcommand{\thefootnote}{\fnsymbol{footnote}}}。原因是我使用自定义类文件来组织我的样式和自定义设置,并且我希望此命令位于此文件中,该文件显然在 之前加载begin{document}

非常奇怪的是,将此命令移动到\AtBeginDocument块中会使其停止工作。脚注再次用数字而不是符号编号。经过进一步的试验,我发现在英文文档中根本不会出现这个问题。在英文文档中,使用\renewcommand{\thefootnote}{\fnsymbol{footnote}}before 和 after 都有效begin{document},这意味着\AtBeginDocument不再需要。我对此非常困惑:为什么在常规英文文档中,我可以毫无问题地将脚注设置为使用符号计数,而在希伯来语文档中,我被迫只在 after 这样做begin{document},甚至使用也\AtBeginDocumnet无济于事。

我在调查此问题时注意到了另一个奇怪的问题,我想获得帮助:我正在使用超链接在我的文档中设置超链接,我注意到脚注链接有一个奇怪的问题。在英语文档中会显示链接,但点击它们不会带你到页面底部的脚注,而在希伯来语文档中的链接工作正常,单击它们会将您带到脚注。无论我是否将链接更改为使用符号,都会发生这种情况。因此,显然,在希伯来语中,我遇到了一个错误,即除非我这样做,否则我无法将脚注设置为使用符号,而begin{document}在英语中,我遇到了另一个错误,即脚注超链接不起作用。

我还应该提到的另一件事是,在调查这些问题时,我遇到了脚杂软件包中有一个选项可以使用符号(因此我不必自己使用此命令)。虽然在英语中,这个软件包运行良好,无需自己编写命令,但在希伯来语中,当使用和选项(这是软件包的一些不错的选项)\renewcommand{\thefootnote}{\fnsymbol{footnote}}加载时,这个软件包会出错,并且使用选项加载不会将脚注更改为使用符号。它似乎受到我自己尝试更改时遇到的相同错误的影响。perpagesymbol*symbol

我制作了一个精简版的文档(其中复制了我自定义类文件中的重要设置)来演示这些问题。

英文版本:

% !TeX spellcheck = en_US
\documentclass[a4paper, 12pt]{extarticle}

\usepackage{hyperref}
\usepackage{fancyhdr}
\usepackage[left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{physics}
\usepackage{nicefrac}
\usepackage{parskip}
\usepackage{setspace}
%\usepackage[bottom, perpage]{footmisc}

%\newfontfamily\hebrewfont[
%   Script=Hebrew,
%   ItalicFont=*-Regular,
%   ItalicFeatures={FakeSlant=0.3},
%]{Assistant}
\setmainlanguage{english}
%\setotherlanguage{english}
%\setsansfont{Assistant}
%\setmonofont{Assistant}

\setlength{\jot}{10pt}

\hypersetup{
    pdfauthor={Author},
    pdftitle={HW 1},
    colorlinks,
    linkcolor=blue
}

\setlength{\headheight}{15pt}
\lhead{Student name}
\chead{HW 1}
\rhead{24/2/2023}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\pagestyle{fancy}

\renewcommand{\thefootnote}{\fnsymbol{footnote}}
%\AtBeginDocument{\renewcommand{\thefootnote}{\fnsymbol{footnote}}}

\begin{document}
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
Some homework assignment\footnote{This is an important footnote} with footenotes\footnote{Another footnote}.
\end{document}

希伯来语版本:

% !TeX spellcheck = he_HE
\documentclass[a4paper, 12pt]{extarticle}

\usepackage{hyperref}
\usepackage{fancyhdr}
\usepackage[left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{physics}
\usepackage{nicefrac}
\usepackage{parskip}
\usepackage{setspace}
%\usepackage[bottom, symbol]{footmisc}

\newfontfamily\hebrewfont[
    Script=Hebrew,
    ItalicFont=*-Regular,
    ItalicFeatures={FakeSlant=0.3},
]{Assistant}
\setmainlanguage{hebrew}
\setotherlanguage{english}
\setsansfont{Assistant}
\setmonofont{Assistant}

\setlength{\jot}{10pt}

\hypersetup{
    pdfauthor={שם הסטודנט},
    pdftitle={תרגיל בית 1},
    colorlinks,
    linkcolor=blue
}

\setlength{\headheight}{15pt}
\lhead{שם הסטודנט}
\chead{תרגיל בית 1}
\rhead{24/2/2023}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\pagestyle{fancy}

\renewcommand{\thefootnote}{\fnsymbol{footnote}}

\begin{document}
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
זהו תרגיל הבית הראשון\footnote{זו הערה חשובה} ויש בו הערות שוליים\footnote{הערה נוספת}.
\end{document}

请注意,对于希伯来语版本,您需要拥有助理字体安装在您的系统上(在 Windows 上可能需要以管理员身份安装),因为默认的 Latex 字体不支持希伯来语。这两个文件都应该用 XeLatex 编译,除了顶部的代码用于设置语言和字体(当然还有不同语言的文本)之外,这两个文件是相同的。在我的系统(带有 TexStudio 的 Windows 11)上,这两个文件都演示了我描述的错误:在英语中,脚注符号有效,但链接无效;在希伯来语中,符号无效,但链接有效。

如果有人能帮助我解决这些错误并使这两个函数在两种语言中都能工作,我将不胜感激。如果您还能解释为什么该footmisc包在希伯来语中不起作用,那就太好了(虽然这不是优先事项,因为即使没有这个包我也可以使用符号)。

相关内容