悬挂脚注在多语种法语回忆录中不起作用

悬挂脚注在多语种法语回忆录中不起作用

我在书籍排版中使用悬挂脚注样式memoir。为了使它们悬挂,我使用以下代码:

\setlength{\footmarkwidth}{1.8em}
\setlength{\footmarksep}{0em}
\footmarkstyle{#1\hfill}

只要我不使用法语,此方法便可按预期工作polyglossia:一旦我这样做,悬挂的脚注就会消失:

\setmainlanguage[]{french}

或者:

\setotherlanguages{french}

问题仅texlive在 Ubuntu 16.10(版本:2016.20160819-2)附带的软件包的最后一次更新后才出现。然而,它曾经与 Ubuntu 16.4(版本:2015.20160320-1)附带的软件包一起工作。这是一个错误吗?还是有什么变化,我不知道?

这是一个有效的例子:

\documentclass[a4paper,10pt,twoside]{memoir}

\usepackage{blindtext}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[spelling=old,babelshorthands=true,script=latin]{german}
\setotherlanguage[variant=polytonic]{greek}{}
\setotherlanguages{french}

\setlength{\footmarkwidth}{1.8em}
\setlength{\footmarksep}{0em}
\footmarkstyle{#1\hfill}

\begin{document}

\chapter{Phantastic Essay of X}
\blindtext\footnote{\blindtext} Don't waste your time reading this!\footnote{Don't waste your time reading this!}

\section{Don't waste your time reading this!}
\Blindtext

\end{document}

答案1

gloss-french.ldf 重新定义\@makefntext,这是有目的的https://github.com/reutenauer/polyglossia/issues/12但我认为这个实现很糟糕,因为它没有考虑到该语言可能不是主要语言。对于您的语言组合,我不会使用 polyglossia,而是使用 babel,其中法语支持要好得多:

\documentclass[a4paper,10pt,twoside]{memoir}

\usepackage{blindtext}
\usepackage{fontspec}
\usepackage[greek.polutoniko,french,german]{babel}

\setlength{\footmarkwidth}{1.8em}
\setlength{\footmarksep}{0em}
\footmarkstyle{#1\hfill}

\begin{document}

\chapter{Phantastic Essay of X}
\blindtext\footnote{\blindtext} Don't waste your time reading this!\footnote{Don't waste your time reading this!}

\section{Don't waste your time reading this!}
\Blindtext

\end{document}

在此处输入图片描述

答案2

我刚刚偶然发现了同样的问题,我称之为 bug。如果你不想切换到 babel,你可以将 gloss-french.ldf 复制到你的目录中,然后注释掉相关行,即 157-159,即

%\ifx\@makefntext\undefined\else
%\renewcommand\@makefntext[1]{\quad\ifx\@thefnmark\empty\else\@thefnmark\space\fi #1}
%\fi

会有更好的方法来解决这个问题。

相关内容