我在书籍排版中使用悬挂脚注样式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
会有更好的方法来解决这个问题。