定理的引用问题

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条回答
蹲个答案。 我目前查手册发现 `ntheorem` 配合 `amsmath` 和 `hyperref` 需要额外加选项,所以写代码为 ``` \documentclass{ctexart} \usepackage{amsmath} \usepackage[amsmath,hyperref]{ntheorem} \newtheorem{thm}{定理} \newtheorem{lem}{引理} \usepackage{hyperref} \begin{document} \begin{thm}[余弦定理]\label{theorem} \[a^2 = b^2 + c^2 - 2bc\cos A\] \end{thm} \begin{lem}[勾股定理]\label{lemma} \[a^2 + b^2 = c^2\] \end{lem} \begin{enumerate} \item 详见\nameref{theorem} \item 详见\nameref{lemma} \item 详见\autoref{theorem} \item 详见\autoref{lemma} \end{enumerate} \end{document} ``` 但是这样依然不足以解决你的问题。

一周热门 更多>