定理的引用问题

2020-08-17 10:16发布

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLi...

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [x] TexLive `年份` * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` ## 我的问题 我想要的引用效果是 1. 详见余弦定理 2. 详见勾股定理 3. 详见定理 1 4. 详见引理 2 但实际效果是 1. 详见test 2. 详见test 3. 详见定理 1 4. 详见引理 2 代码如下: ```tex \documentclass[scheme = chinese]{ctexart} \usepackage[a4paper]{geometry} \usepackage{amsmath} \usepackage{amssymb} \usepackage{aliascnt} \usepackage{hyperref} \usepackage{ntheorem} \theoremstyle{plain} \newtheorem{theorem}{定理} \renewcommand{\theoremautorefname}{定理} \newaliascnt{lemma}{theorem} \newtheorem{lemma}[lemma]{引理} \aliascntresetthe{lemma} \providecommand*{\lemmaautorefname}{引理} \begin{document} \section{test} \begin{theorem}[余弦定理]\label{theorem} \[a^2 = b^2 + c^2 - 2bc\cos A\] \end{theorem} \begin{lemma}[勾股定理]\label{lemma} \[a^2 + b^2 = c^2\] \end{lemma} \begin{enumerate} \item 详见\nameref{theorem} \item 详见\nameref{lemma} \item 详见\autoref{theorem} \item 详见\autoref{lemma} \end{enumerate} \end{document} ```
2条回答
U14021
2020-08-17 22:43
自问自答一下,似乎 `thmtools` 能解决这个问题,虽然不知道是怎么解决的。 代码如下: ```tex \documentclass[scheme = chinese]{ctexart} \usepackage[a4paper]{geometry} \usepackage{amsmath} \usepackage{amssymb} \usepackage{hyperref} \usepackage[thmmarks,amsmath]{ntheorem} \usepackage{thmtools} \declaretheorem[ style=plain, name={定理}, refname={定理} ]{theorem} \declaretheorem[ style=plain, sibling=theorem, name={引理}, refname={引理} ]{lemma} \begin{document} \section{test} \begin{theorem}[余弦定理]\label{theorem} \[a^2 = b^2 + c^2 - 2bc\cos A\] \end{theorem} \begin{lemma}[勾股定理]\label{lemma} \[a^2 + b^2 = c^2\] \end{lemma} \begin{enumerate} \item 详见\nameref{theorem} \item 详见\nameref{lemma} \item 详见\autoref{theorem} \item 详见\autoref{lemma} \end{enumerate} \end{document} ```

一周热门 更多>