제목 각주에 작은 대문자(amsart)

제목 각주에 작은 대문자(amsart)

제목에 각주를 추가하려고 합니다.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)을 방지하는 것이고 텍스트에서 \spaceskip0이 아닌 값으로 설정되는 것입니다.

여기에 이미지 설명을 입력하세요

각주 표시를 추가하려면 더 깊은 수술이 필요합니다. 별표를 각주 표시로 사용하는 간단한 해결 방법은 다음과 같습니다.

\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도입됩니다.

출력1_자르기

출력2_자르기

완전한 코드

\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}

관련 정보