我的文件必须由编译,XeLateX
并且其脚注应在每页中按两列排序。因此我在序言中使用了以下代码:
\documentclass{article}
\usepackage[extrafootnotefeatures]{xepersian}
\twocolumnfootnotes
%_____Making special format for numbers of footnotes
\makeatletter
\renewcommand\@makefntext[1]{%
\hspace*{-1em}
\parindent 0em
\noindent
\hb@xt@ 1.8em{\hss
.\@thefnmark }
#1}
\makeatother
%___________
\begin{document}
\lr{hi}\LTRfootnote{Hia} \lr{hi}\LTRfootnote{Hib} \lr{hi}\LTRfootnote{Hic} \lr{hi}\LTRfootnote{Hid}
\end{document}
但问题是,我的脚注编号特殊格式根本不起作用。另一方面,如果我删除extrafootnotefeatures
选项,那么脚注列的对齐方式就会出错(它会变成从右到左,但必须从左到右)!
所以问题是,我怎样才能有两列脚注,并让第一个脚注出现在左列?
答案1
您需要的是像这样\footfootmark
定义的自定义extrafootnotefeatures-xetex-bidi
\bidi@ensure@newcommand{\footfootmark}{%
\ifdim\footmarkwidth < \z@
\llap{\hb@xt@ -\footmarkwidth{%
\hss\normalfont\footscript{\@thefnmark}}%
\hspace*{-\footmarkwidth}}%
\else
\ifdim\footmarkwidth = \z@
{\normalfont\footscript{\@thefnmark}}%
\else
\hb@xt@\footmarkwidth{\hss\normalfont\footscript{\@thefnmark}}%
\fi
\fi}
这里\footmarkwidth
定义包含的框的宽度\@thefnmark
,为了获得所需的格式,您可以使用此代码(您需要定义一个字体\settextfont
)
代码
\documentclass{article}
\usepackage[extrafootnotefeatures]{xepersian}
\twocolumnfootnotes
\footmarkwidth=1.8em
\makeatletter
\bidi@ensure@newcommand{\footfootmark}{%
\ifdim\footmarkwidth < \z@
\llap{\hb@xt@ -\footmarkwidth{%
\hss\normalfont\footscript{\@thefnmark}}%
\hspace*{-\footmarkwidth}}%
\else
\ifdim\footmarkwidth = \z@
{\normalfont\footscript{\@thefnmark}}%
\else
\hb@xt@\footmarkwidth{\hss\normalfont\footscript{.\@thefnmark}}%
\fi
\fi}
\makeatother
\settextfont{Amiri}
\begin{document}
\lr{hi}\LTRfootnote{Hia} \lr{hi}\LTRfootnote{Hib} \lr{hi}\LTRfootnote{Hic} \lr{hi}\LTRfootnote{Hid}
\end{document}
输出