微调脚注样式

微调脚注样式

我需要掌握一个自定义脚注命令,该命令可以通过以下几个命令来总结xparse

\documentclass[11pt, a4paper, frenchb]{report}
    \usepackage{xparse}
    \newcounter{myfnCnt}

    % % % % % % % % MYFOOTNOTE % % % % % % % %
    % #1 footnote content
    \ProvideDocumentCommand \myfootnote{ m }
    {%  MARK
        \stepcounter{myfnCnt}\hspace{.1cm}\myfnmark%
     %  FOOTNOTE
        {\let\thefootnote\relax\footnote{\myfnmark~#1}}
    }

    % % % % % % % % MYFNMARK % % % % % % % %
    %
    \ProvideDocumentCommand \myfnmark{}
    {\texttrademark\textsuperscript{ \arabic{myfnCnt}}}

\begin{document}
They see me rollin\myfootnote{they hatin}
Son, they shook\footnote{Cause ain't no such things as halfway crooks}
\end{document}

上述命令确实提供了一个合理的解决方案:能够调整计数器周围的自定义样式。但它缺少超链接。我可以手动完成,但我正在寻找一种更优雅、更强大的解决方案,无论是自定义命令还是“基于包”。我研究了曼尼福特大脚但我不认为他们能做到,或者我遗漏了什么(可能……)。例如,这\DeclareNewFootnote[⟨footnote style⟩]{⟨suffix⟩}[⟨enumeration style⟩]是“固定”定制,您无法提供自己的脚注样式。

答案1

Pschiii,实际上,可以使用两行解决方案来实现manyfoot

\DeclareNewFootnote{B}
\renewcommand{\thefootnoteB}{\texttrademark \arabic{footnoteB}}

使用以下命令调用它:\footnoteB{...}

但它在制作超链接方面遇到了麻烦,所以这里对我的自定义无封装现已完全正常运行的解决方案(它使用脚注的格式):

% % % % % % % % MYFOOTNOTE % % % % % % % %
% #1 footnote content
\ProvideDocumentCommand \tm{ m }
{\stepcounter{myfnCnt}{\let\thefootnote\myfnmark\footnote{#1}}}

% % % % % % % % MYFNMARK % % % % % % % %
%
\ProvideDocumentCommand \myfnmark{}
{\textsc{tm} \arabic{myfnCnt}}

希望这对某人有用。


[03/15 编辑]

这是一个更复杂的交叉引用方法

% !TeX encoding = UTF-8
% !TeX spellcheck = fr_FR

\documentclass[11pt, frenchb, twoside]{report}

% IMPORTS
\usepackage{blindtext}
\usepackage{hyperref}
\usepackage{polyglossia}
\usepackage{refcount}
\usepackage{xparse}
\usepackage{xifthen}

\newcounter{__fnCnt}

% % % % % % % % FN % % % % % % % %
% #1 footnote label
% #2 footnote content
\ProvideDocumentCommand \myfn{ m m }
    {%
        \refstepcounter{__fnCnt}{\let\thefootnote\myfnLabel\footnote{#2}}
        \setcounterref{__fnCnt}{fn:#1}\label{fn:#1}
    }

% % % % % % % % FNREF % % % % % % % %
% #1 star : add as footnote
% #2 label
\ProvideDocumentCommand \myfnRef{ s m }
{%
\IfBooleanTF{#1}
    {\footnote{See \myfnLink{fn:#2}.}}
    {\myfnLink{fn:#2}}%
}

% % % % % % % % FNLABEL % % % % % % % %
%
\ProvideDocumentCommand \myfnLabel{}
    {FN-\arabic{__fnCnt} }

% % % % % % % % FNLINK % % % % % % % %
% #1 label
\ProvideDocumentCommand \myfnLink{ m }
{\hyperref[#1]{\textsuperscript{FN-\getrefnumber{#1}}}, p. \getpagerefnumber{#1}}

\begin{document}
    Hello World\myfn{fnref}{This is my custom footnote} !\\[3cm]
    \blindtext[10]\myfnRef*{fnref}
\end{document}

在此处输入图片描述

相关内容