如何在定理中将引用方括号和数字设置为直立,而其他内容保持倾斜?(这种风格是我的教授建议的。)
通常的外观如下
定理。没有最大的素数(参见[1,第 100 页定理 30])。
我想实现
定理。没有最大的素数(看[1,定理三十在页面100]。
我可以手动将\textup
数字设置为直立,但无法将方括号设置为直立。
答案1
\emph
似乎是你的朋友。
代码:
\documentclass{article}
\usepackage{amsthm,amsmath}
\newtheorem*{thm}{Theorem}
\begin{document}
\begin{thm}
There is no biggest prime number \emph{(\cite[Theorem 30 at page 100]{A})}.
\end{thm}
\begin{thm}
There is no biggest prime number \emph{(\cite[\emph{Theorem} 30 \emph{at page} 100]{A})}.
\end{thm}
\begin{thebibliography}{1}
\bibitem{A} author, title
\end{thebibliography}
\end{document}
答案2
这是一个可能的解决方案,它也会强制使用引用的项目编号
\textup
,因此如果对参考书目使用非数字标签,它将不完全合适。
它重新定义了几个命令latex.ltx
。它可以使用“补丁”机制更紧凑地表达,但我还不太擅长这种技术。
第三个“定理”采用了重新定义的机制。
\documentclass{article}
\usepackage{amsthm,amsmath}
\newtheorem*{thm}{Theorem}
\makeatletter
\DeclareRobustCommand\thmcite{%
\@ifnextchar [{\@tempswatrue\@thmcitex}{\@tempswafalse\@thmcitex[]}}
\def\@thmcitex[#1]#2{\leavevmode
\let\@citea\@empty
\@thmcite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\ }%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
\@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
\G@refundefinedtrue
\@latex@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
\def\@thmcite#1#2{\textup{[}{\textup{#1}\if@tempswa , #2\fi}\textup{]}}
\makeatother
\begin{document}
\begin{thm}
There is no biggest prime number \textup{(}see \textup{[1,}
Theorem \textup{30} at page \textup{100]}.
\end{thm}
\begin{thm}
There is no biggest prime number (see [1,
Theorem 30 at page 100].
\end{thm}
\begin{thm}
There is no biggest prime number \textup{(}see
\thmcite[Theorem \textup{30} at page \textup{100}]{A}.
\end{thm}
\begin{thebibliography}{1}
\bibitem{A}
author, title
\end{thebibliography}
\end{document}