\documentclass[14pt]{article}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\newtheorem{thm}{Theorem}[section]
\newtheorem{defn}[thm]{Definition}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\begin{document}
\section{Sample}
\begin{thm}\label{mmm}
qwerty
\end{thm}
\begin{defn}
\label{ppp}
qwerty
\end{defn}
Theorem \ref{mmm}
\end{document}
当将此代码实现到 LaTeX 中时,我的定理和定义显示为
Theorem 1.1.
和Definition 1.2.
我怎样才能删除.
末尾的 ?这样它就会显示为Theorem 1.1
和Definition 1.2
?Theorem \ref{mmm}
Theorem
可以正确地转换为定理 1.1,但是有没有一种方法可以让我不必在 之前键入\ref{mmm}
?也就是说,我不需要theorem
每次引用定理时都键入。
答案1
回答你的第一个问题,这是plain
定理风格的默认行为amsthm
为了消除这个问题,定义你自己的定理风格,比如mytheorem
使用\newtheoremstyle
:
\documentclass{article}
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheoremstyle{mytheorem}% <name>
{\topsep}% <space above>
{\topsep}% <space below>
{\itshape}% <body font>
{}% <indent amount>
{\bfseries}% <theorem head font>
{}% <punctuation after theorem head>
{.5em}% <space after theorem head>
{}% <theorem head spec>
\theoremstyle{mytheorem}% choose style
\newtheorem{thm}{Theorem}[section]
\newtheorem{defn}[thm]{Definition}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\begin{document}
\section{Sample}
\begin{thm}\label{mmm}
qwerty
\end{thm}
\begin{defn}
\label{ppp}
qwerty
\end{defn}
Theorem \ref{mmm}
\end{document}
标点符号作为 的第七个参数给出\newtheoremstyle
。对于(默认)plain
样式,这是.
。此外,plain
具有\topsep
“上方”和“下方”空格。
回答你的第二个问题,cleveref
包裹提供了一个简单的解决方法。您可以使用 定义与该特定引用关联的引用名称\crefname{<style>}{<singular>}{<plural>}
,其中<style>
是您定义的定理thm
:
\documentclass{article}
\usepackage{cleveref}% http://ctan.org/pkg/cleveref
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheoremstyle{mytheorem}% <name>
{\topsep}% <space above>
{\topsep}% <space below>
{\itshape}% <body font>
{}% <indent amount>
{\bfseries}% <theorem head font>
{}% <punctuation after theorem head>
{.5em}% <space after theorem head>
{}% <theorem head spec>
\theoremstyle{mytheorem}% choose style
\newtheorem{thm}{Theorem}[section] \crefname{thm}{Theorem}{Theorems}
\newtheorem{defn}[thm]{Definition}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\begin{document}
\section{Sample}
\begin{thm}\label{mmm}
qwerty
\end{thm}
\begin{defn}
\label{ppp}
qwerty
\end{defn}
Theorem \ref{mmm}, or \cref{mmm}.
\end{document}
上述示例结合了两个问题的解决方案。