제목에 각주를 추가하려고 합니다.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
0이 아닌 값으로 설정되는 것입니다.
각주 표시를 추가하려면 더 깊은 수술이 필요합니다. 별표를 각주 표시로 사용하는 간단한 해결 방법은 다음과 같습니다.
\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
- duo를 사용합니다. 마크는 대문자의 영향을 받지 않도록 하기 위해 다음 \footnotetext
과 같은 것을 통해 작성되고 \title{...\fotenotemark}
the는 외부에 선언됩니다. \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}