我需要使用法语字体,因此 babel 带有法语选项。脚注的数字正确地位于行上,后面跟着一个点。但我还需要一个带有符号而不是数字的脚注。我知道如何做到这一点(感谢以前的帖子!),只是点仍然出现在符号后面,而它不应该出现。在这种情况下,如何摆脱这个点,并且只能在这种情况下?
以下是 MWE:
\documentclass[a4paper,11pt,twoside,openright]{book}
\usepackage[body={110mm, 185mm}, headheight=20pt]{geometry}
\usepackage[french]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\makeatletter
\def\@xfootnote[#1]{
\protected@xdef\@thefnmark{#1}%
\@footnotemark\@footnotetext}
\makeatother
\begin{document}
Une note normale\footnote{Note en francais.}.
Une note bizarre\footnote[*]{GLURPS.}.
Une autre note normale\footnote{Note en francais.}.
\end{document}
答案1
\footnote
以下示例修补了当给出可选参数并\@xfootnote
调用时的情况。然后\insertfootnoteFB@dotless
调用 而不是 来\insertfootnoteFB
删除点。
目前还不清楚,点的空间去哪儿了:
脚注符号使用空格:
\kern1\wd\@tempboxa \llap{\@thefnmark}% \kern0\wd\@tempboxa
脚注符号不是使用空间:
\kern0\wd\@tempboxa \llap{\@thefnmark}% \kern1\wd\@tempboxa
或者介于两者之间:包含点的宽度的因子之和
\@tempboxa
必须等于 1。
完整示例:
\documentclass[a4paper,11pt,twoside,openright]{book}
\usepackage[
% body={110mm, 185mm},
body={120mm, 30mm}, % smaller image for TeX.SX
headheight=20pt,
]{geometry}
\usepackage[french]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{letltxmacro}
\makeatletter
\def\@xfootnote[#1]#2{
\protected@xdef\@thefnmark{#1}%
\@footnotemark
\begingroup
\let\insertfootnotemarkFB\insertfootnotemarkFB@dotless
\@footnotetext{#2}%
\endgroup
}
\newcommand*{\insertfootnotemarkFB@dotless}{%
\parindent=\parindentFFN
\rule\z@\footnotesep
\setbox\@tempboxa\hbox{\@thefnmark}%
\ifdim\wd\@tempboxa>\z@
\setbox\@tempboxa\hbox{\dotFFN}%
\kern1\wd\@tempboxa
\llap{\@thefnmark}%
\kern0\wd\@tempboxa
\kernFFN
\fi
}
\makeatother
\begin{document}
Une note normale\footnote{Note en francais.}.
Une note bizarre\footnote[*]{GLURPS.}.
Une autre note normale\footnote{Note en francais.}.
\end{document}
将脚注符号右对齐到带有点的完整脚注标记:
或者将脚注符号与数字右对齐(不带点):
答案2
这个答案来自 Daniel Flipo (babel-french)。它解释了如何局部地用点来塑造脚注(结合我的问题中给出的 \footnote[mark]{text} 的定义)。
% English presentation (locally)
{\makeatletter\renewcommand\thefootnote{\@fnsymbol\c@footnote}\makeatother
\FBFrenchFootnotesfalse
Note\footnote[*]{une astérisque.}
étoilée
}
% French presentation, locally, without a dot
{\makeatletter\renewcommand\thefootnote{\@fnsymbol\c@footnote}\makeatother
\renewcommand{\dotFFN}{}\renewcommand{\kernFFN}{\hphantom{.}\kern .5em}
Note\footnote[*]{Une astérisque sur la ligne de base.}
étoilée
}