我想更改脚注的定义,以便能够更改某些脚注(与论文作者对应的脚注)的脚注符号。我尝试了此主题的第一个答案的建议: 对所有脚注进行顺序编号,但有一个脚注带有符号
我使用论文类(https://github.com/suchow/Dissertate),并且此代码不起作用,因为 Latex 抱怨使用\@
:
Use of \@ doesn't match its definition.
答案1
对于类或包中的代码@
已经是一个字母了,所以如果你去
\makeatletter
... new code
\makeatother
... rest of original code
那么原始代码的其余部分就被破坏了,因为@
不再是一个字母。
\makeatletter
旨在用于前言对于较短的代码段,以避免需要制作包或类文件,因此
\documentclass{yourclass}
\makeatletter
... new code
\makeatother
... rest of _document_ with @ not a letter
答案2
我认为没有必要不使用\makeatletter...\makeatother
但如果真的有必要的话:这是一个基于包的环绕(我从给定链接中的 Werner 的答案中偷了完整的代码对所有脚注进行顺序编号,但有一个脚注带有符号;-)——但分割是由我进行的)
withoutatletter.sty:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{withoutatletter}
\def\@xfootnote[#1]{%
\protected@xdef\@thefnmark{#1}%
\@footnotemark\@footnotetext}
\endinput
这里foo.tex
\documentclass{article}
\usepackage{withoutatletter}
\begin{document}
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[*]{Different footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[$\dagger$]{Different footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[$\star$]{Different footnote} piece of text.
\end{document}