我正在嘗試在標題中添加腳註amsart
為小寫字母,但始終以大寫字元結尾(即使在數學模式下也是如此)。
\documentclass{amsart}
\title{ text \footnote{ text }}
\begin{document}
\maketitle
\end{document}
如何在腳註中使用小型大寫字母?
答案1
解決方法非常簡單,但不會有腳註標記:
\documentclass{amsart}
\begin{document}
\newcommand\myfootnotetitle{\spaceskip=0pt \scshape I want this in Small Caps}
\title{Title\footnote{\protect\myfootnotetitle}}
\author{A. U. Thor}
\maketitle
\vspace*{\fill}
{\footnotesize\myfootnotetitle\par} % for checking
\end{document}
有兩個問題:一是防止不合時宜的擴展(參數\title
傳遞給\MakeUppercase
),二是在文本中\spaceskip
設定為非零值。
添加腳註標記需要更深入的手術。將星號作為腳註標記的簡單解決方法如下。
\documentclass{amsart}
\makeatletter
\newcommand{\definetitlefootnote}[1]{%
\newcommand\addtitlefootnote{%
\makebox[0pt][l]{$^{*}$}%
\footnote{\protect\@titlefootnotetext}
}%
\newcommand\@titlefootnotetext{\spaceskip=\z@skip $^{*}$#1}%
}
\makeatother
% Just to make a short page for viewing the result
\setlength{\textheight}{6cm}
\calclayout
\begin{document}
\definetitlefootnote{\scshape I want this in Small Caps}
\title{Title\addtitlefootnote}
\author{A. U. Thor}
\maketitle
Some text with a footnote\footnote{Whatever}
\end{document}
答案2
這也是保留腳註標記的方法。您需要在發出命令之前保存定義並恢復它們\footnotemark
。然後需要進行一些處理才能獲得正確的計數器值。
這是標題:
而且這裡的註腳、展示\thanks
等都不受干擾。
\documentclass{amsart}
\makeatletter
\let\mymakefnmark\@makefnmark
\let\mythefnmark\@thefnmark
\newcommand{\restorefn}{\let\@makefnmark\mymakefnmark
\let\mythfnmakr\@thefnmark}
\makeatother
\begin{document}
\title{Title text\restorefn\footnotemark}
\author{A. N. Author}
\date{\today}
\thanks{Thanks}
\maketitle
\stepcounter{footnote}\footnotetext{\scshape Footnote.}
\end{document}
答案3
該解決方案提供了更多的自動化功能並保持使用者介面不變,也就是說您可以繼續編寫\title[short text]{text\footnote{text}}
。
基本思想是\@adminfootnotes
透過內部巨集禁用通常的腳註機制
\xpatchcmd\@adminfootnotes{\let\@makefnmark\relax}{}{}{}
然後使用\footnotemark
- \footnotetext
duo 。後者是透過一個簡單的補丁來完成的:\title{...\fotenotemark}
\footnotetext
\maketitle
\xapptocmd\maketitle{%
\stepcounter{footnote}
\ifx\@empty\titlefn\else
\footnotetext{\scshape\titlefn}\fi}{}{}
\titlefn
\footnote{...}
是在重新定義的版本中收集的腳註文字的儲存\title
(請注意,\footnote
此處僅用作分隔符號):
\def\title@aux#1\footnote#2#3{%
\global\let\shorttitle\@tempa
\gdef\titlefn{#2}
\ams@title{#1\ifx\@empty\titlefn\else\protect\footnotemark\fi}
\ifx#3\footnote\expandafter\@gobble\else\expandafter#3\fi
}
當然,在這個重新定義中,也\footnotemark
引進了。
完整程式碼
\documentclass{amsart}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\@adminfootnotes{\let\@makefnmark\relax}{}{}{}
\xapptocmd\maketitle{%
\stepcounter{footnote}
\ifx\@empty\titlefn\else
\footnotetext{\scshape\titlefn}\fi}{}{}
\let\ams@title\title
\def\title{\@dblarg\title@}
\def\title@[#1]#2{\gdef\@tempa{#1}\title@aux#2\footnote{}}
\def\title@aux#1\footnote#2#3{%
\global\let\shorttitle\@tempa
\gdef\titlefn{#2}
\ams@title{#1\ifx\@empty\titlefn\else\protect\footnotemark\fi}
\ifx#3\footnote\expandafter\@gobble\else\expandafter#3\fi
}
\makeatother
\title{text\footnote{text}}
\begin{document}
\maketitle
%for testing purposes
\vfill
\footnotesize\scshape\hskip3.5pt text
\end{document}