Como ter texto não itálico de \cite[]{} dentro do teorema usando amsthm e classe de artigo?

Como ter texto não itálico de \cite[]{} dentro do teorema usando amsthm e classe de artigo?

Eu tenho um arquivo tex:

\documentclass[11pt]{amsart}
\usepackage{amssymb,amsthm,enumitem,mathtools,fullpage,microtype}
\usepackage[hypertexnames=false]{hyperref}
\hypersetup{
  colorlinks=true,
  linkcolor=blue,
  filecolor=blue,
  urlcolor=red,
  citecolor=magenta
}
\usepackage[noabbrev,capitalize,nameinlink]{cleveref}
\usepackage{autonum}

\numberwithin{equation}{section}
\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{assumption}[theorem]{Assumption}

\newcommand{\RR}{\mathbb{R}}
\newcommand{\TT}{\mathbb{T}}
\setlist{font=\normalfont}

\begin{document}

\section{Introduction}

\begin{assumption} \label{main_assmpt1}
There exist constants $C>0, \alpha \in (0, 1), \beta \in (0, 1)$ such that for $t \in \TT$ and $x, y \in \RR^d$:
\begin{enumerate}[label=(A\arabic*)]
\item $\nu$ has a density $\ell_\nu \in C^\alpha_b (\RR^d)$.
\item $a_t$ is invertible.
\end{enumerate}
\end{assumption}

\begin{theorem}
Let \cref{main_assmpt1} hold.
\begin{enumerate}
\item \cite[Theorem 2.1]{mckean1966class} ...
\end{enumerate}
\end{theorem}

\begin{thebibliography}{10}
\bibitem{mckean1966class}
Henry~P McKean~Jr.
\newblock A class of markov processes associated with nonlinear parabolic
  equations.
\newblock {\em Proceedings of the National Academy of Sciences},
  56(6):1907--1911, 1966.
\end{thebibliography}
\end{document}

Gosto particularmente do nome do teorema citado sem itálico:

insira a descrição da imagem aqui

Quando mudo de \documentclass[11pt]{amsart}para \documentclass[11pt]{article}, perdi essa aparência desejada:

insira a descrição da imagem aqui

Você poderia explicar como manter essa característica estética dentro da aula article?

Responder1

amsartusa:

\def\@citestyle{\m@th\upshape\mdseries}
\let\citeform\@firstofone
\def\@cite#1#2{{%
  \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}}

para definir explicitamente cita \upshape. O comando cite padrão do LaTeX não faz algo assim. A definição padrão \@citede LaTeX é:

\def\@cite#1#2{[{#1\if@tempswa , #2\fi}]}

Portanto, dentro de um teorema, a fonte do corpo do teorema também é usada para a citação. Mas você pode redefini-lo de forma semelhante, copiando o amsartcódigo:

\documentclass[11pt]{article}
\usepackage{amsthm}
\usepackage{amssymb,enumitem,mathtools,fullpage,microtype}
\usepackage[hypertexnames=false]{hyperref}
\hypersetup{
  colorlinks=true,
  linkcolor=blue,
  filecolor=blue,
  urlcolor=red,
  citecolor=magenta
}
\usepackage[noabbrev,capitalize,nameinlink]{cleveref}
\usepackage{autonum}
\newcommand{\RR}{\mathbb{R}}
\newcommand{\TT}{\mathbb{T}}
\setlist{font=\normalfont}

\numberwithin{equation}{section}
\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{assumption}[theorem]{Assumption}

\makeatletter
\def\@citestyle{\m@th\upshape\mdseries}
\let\citeform\@firstofone
\def\@cite#1#2{{%
  \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}}
\makeatother

\begin{document}

\section{Introduction}

\begin{assumption} \label{main_assmpt1}
There exist constants $C>0, \alpha \in (0, 1), \beta \in (0, 1)$ such that for $t \in \TT$ and $x, y \in \RR^d$:
\begin{enumerate}[label=(A\arabic*)]
\item $\nu$ has a density $\ell_\nu \in C^\alpha_b (\RR^d)$.
\item $a_t$ is invertible.
\end{enumerate}
\end{assumption}

\begin{theorem}
Let \cref{main_assmpt1} hold.
\begin{enumerate}
\item \cite[Theorem 2.1]{mckean1966class} ...
\end{enumerate}
\end{theorem}

\begin{thebibliography}{10}
\bibitem{mckean1966class}
Henry~P McKean~Jr.
\newblock A class of markov processes associated with nonlinear parabolic
  equations.
\newblock {\em Proceedings of the National Academy of Sciences},
56(6):1907--1911, 1966.
\end{thebibliography}
\end{document}

insira a descrição da imagem aqui

Notas:

  • O código acima funciona se você realmente fizer sua bibliografia manualmente. Se você usar um pacote como o biblatex, consulte o manual desse pacote para obter mais informações sobre a formatação de citações. E sim, eu recomendaria usar esse pacote, ou seja,biblatex.

  • Se quiser que não apenas as citações, mas também o resto do corpo do teorema não usem uma forma em itálico, você deve usar \newtheoremstylepara definir um estilo correspondente ou usar, por exemplo, \theoremstyle{definition}.

  • Se você, por exemplo, usa, natbibpode usar algo como \bibpunct{\upshape\mdseries[}{]}{,}{n}{}{,}. Consulte o natbibmanual para obter mais informações sobre \bibpunct.

informação relacionada