所有定理环境中 \cite、\ref 的普通文本

所有定理环境中 \cite、\ref 的普通文本

我正在使用我定义的几个定理环境,例如

\newtheorem{Th}{Теорема}[chapter]
\newtheorem{Tv}[Th]{Твърдение}

(这些文字是保加利亚语,但这并不重要)。在所有这些定理和证明环境中,我需要同时使用 \cite 和 \ref。

我想要的是统一的规则,使 \cite 或 \ref 中的所有内容在所有定理环境中都具有正常文本。我不想每次都使用 \textup 或类似的东西。

我很清楚帖子但他们并没有从整体上解决这个问题。

这是一个可行的示例,如果解决了,它将对我有用。

\documentclass{report}
\usepackage[cp1251]{inputenc}
\usepackage[bulgarian]{babel}
\usepackage{sidecap}
\usepackage{graphicx}
\usepackage{amsmath,amssymb,latexsym,eucal}
\usepackage{mathrsfs}
\usepackage{amsfonts}
\usepackage{wrapfig}
\usepackage{amscd}
\usepackage{appendix}
\usepackage[all]{xy}
\usepackage{xcolor}
\usepackage{hyperref} 
\hypersetup{
colorlinks,
linkcolor={blue!90!black},
citecolor={blue!60!black},
urlcolor={blue!90!black}
}
\usepackage{epstopdf} 
\usepackage{multirow} 
\usepackage{float} 
\usepackage{tikz} 
\usepackage{tikz-cd}
\usetikzlibrary{matrix,arrows,decorations.pathmorphing}
\usetikzlibrary{3d,calc}
\usepackage{pgfplots} 

\newtheorem{Th}{Theorem}[chapter]
\newtheorem{Tv}[Th]{Proposition}
\begin{document}
\begin{Th}\label{myProp}
The equation 
\begin{equation}\label{myEq}
x^2y+e^z-\sin{t} = 0.
\end{equation}
has a solution.
\end{Th}

\begin{Th}\cite{X}
The solutions for the equation defined in Proposition \ref{myProp} are
\[
\ldots
\]
\end{Th}



\begin{thebibliography}{999}\itemsep=-.2pc
\bibitem{X} Author X. Paper Y. Year Z.
\end{thebibliography}

\end{document}

答案1

有一个名为上行引用,它是 AMS Classes 分布的一部分。

答案2

由于底层类文件是report,并且没有加载定理或参考书目包,因此查找\cite和的定义的地方\refreport.cls。碰巧的是,这两个命令都没有在那里定义,所以下一个要查找的地方是latex.ltx,它是底层的全部乳胶。

的定义\cite相当复杂,相关部分不在“主”定义中。寻找包含括号并实际设置某些内容的“相关”定义,人们会发现\@cite,可以通过在\textup{...}打印部分周围添加内容轻松“修复”:

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

\ref没有以同样的方式完成,并且没有经过测试(我稍后会进行测试):

\makeatletter
\def\ref#1{\expandafter\@setref\csname r@#1\endcsname
    \@firstoftwo{\textup{#1}}}
\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
                                   \@secondoftwo{\textup{#1}}}
\makeatother

相关内容