\label{} 和 \ref{} 出现奇怪的问题;“Frankenstein-y 模板”的帮助

\label{} 和 \ref{} 出现奇怪的问题;“Frankenstein-y 模板”的帮助

我是长期听众,第一次来电。请保持礼貌;我会尽力遵守规则,但这对我来说有点困难。请允许我做一点解释:

我对 LaTeX 的了解始于 5 年前我的第一位物理老师给我的一个模板。从那时起,我用这种美妙的语言编写了各种漂亮而清晰的实验报告/技术文档/简历/等等,但不幸的是,我从来没有时间好好学习这门语言,而只是重复使用/调整/谷歌搜索以取得成功。所以,最后,虽然我努力为将来的参考添加新评论,并编写了不少代码和许多看起来很棒的文档,但就更高级的封面而言,我真的不知道我在做什么;我通常只是将一个文档中的所有封面剪切/粘贴到另一个文档,因为我不确定哪个奇怪的部分可能是将重要的东西粘在一起的粘合剂。因此,事情可能有点“弗兰肯斯坦式”的,因为以奇怪/可能不必要的方式拼凑在一起。

我之所以解释这一点,是因为我无法提供真正“最小”的工作示例,因为我真的不知道哪些包/命令/环境可能是必需/冗余/冲突的。因此,我不得不把我的整个前言 + 最小冲突区域都包括进去,希望有人能帮我理清一些事情。

在发布此帖之前,我尝试搜索论坛,但似乎找不到针对我所遇到的问题的有效解决方案。非常感谢任何人提供的有用意见。

问题描述:我试图在本身带有环境的环境\ref{}中,在文档末尾添加带有 的附录。附录使用给出,并带有手动书签。我尝试将命令放在各种位置,例如书签之前和之后;我尝试将命令本身放在/环境中的不同位置,包括命令内部,以防出现问题;我甚至尝试在前言中调整和包的顺序。但都无济于事。奇怪的是,当我将鼠标悬停在 上时(在 Texstudio 中),它正确地识别了和它所指的内容,并且将鼠标悬停在 上时,它正确地识别了“1 个对此标签的引用”。当我输入 时,标签也会显示在自动下拉标签列表中。但是,当我将鼠标悬停在相关标签上时,引用显示为,然后,当我实际输出到 .pdf 时,什么都没有显示。我曾在输出中看到过之前的内容并处理过它,有时只需重新编译一次即可,但这种冲突行为(并且根本没有显示任何内容)对我来说是新的。(我不确定这是否相关,但我也是在一个月左右前从 TexMaker 转换过来的。因此,Texstudio 的一切对我来说也是新的。)\pmatrix\align{}\label{}\newcommand\question\label{}\ref{}pmatrixalign\text{}bookmarkhyperref\ref{}\label\label\ref\end{align}????.pdf.pdf

\documentclass{article}

\usepackage{amsmath,amssymb,amsthm}
\usepackage{hyperref}
\usepackage[numbered]{bookmark}

\newcommand\question[2]{\vspace{.25in}\hrule\textbf{#1: #2}\vspace{.5em}\hrule\vspace{.10in}}
\newcommand\headNote[2]{\vspace{.25in}\hrule\textbf{#1 #2}\vspace{.5em}\hrule\vspace{.10in}}
\begin{document}

\begin{align*}
e^{\begin{pmatrix}1 & \lambda\\0 &1\end{pmatrix}} &= \mathbb{1} + M + \frac{M^{2}}{2!} + \frac{M^{3}}{3!} + ... + \frac{M^{n}}{n!}\\
&...\\
&= \begin{pmatrix}\left[1 + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + ...\right] &\left[0 + \frac{\lambda}{1!} + \frac{2\lambda}{2!} + \frac{3\lambda}{3!} + ...\right]^{\text{(\ref{B})}}\\0 & \left[1 + 1 + \frac{1}{2!} + \frac{1}{3!} + ...\right] \end{pmatrix}\\
&...
\end{align*}

\newpage

\question{\large{Appendix B - Esplains}}{}
\bookmark[page = 2, level = 0]{APPENDIX B}
\headNote{Note:  Here we feel compelled to esplains a step in Problem 8... blah blah:}{}\label{B}

math stuff

\end{document}

答案1

crossreftools在这篇文章的末尾更新!

这仅回答了 TeX/LaTeX 方面的标签和参考问题本身,而不是 TeX 编辑器可能出现的问题。

如果宏中没有计数器,则\label无法真正提供有关名称、值和超锚点的任何信息。可以使用\phantomlabel{}{}提供超锚点的宏来修复此问题,宏中应包含\phantomsection\@currentlabel\@currentlabelname

\phantomlabel{B}{App B}将插入一个名为的标签,稍后B会产生对它的引用。App B

\documentclass{article}

\usepackage{amsmath,amssymb,amsthm}
\usepackage{hyperref}
\usepackage[numbered]{bookmark}

\makeatletter
\AtBeginDocument{%
\newcommand{\phantomlabel}[2]{%
  \begingroup
  \phantomsection
  \def\@currentlabel{#2}%
  \def\@currentlabelname{#2}%
  \label{#1}%
  \endgroup
}
}
\makeatother

\newcounter{question}


\newcommand\question[2]{\vspace{.25in}\hrule\textbf{#1: #2}\vspace{.5em}\hrule\vspace{.10in}}
\newcommand\headNote[2]{\vspace{.25in}\hrule\textbf{#1 #2}\vspace{.5em}\hrule\vspace{.10in}}
\begin{document}

\begin{align*}
e^{\begin{pmatrix}1 & \lambda\\0 &1\end{pmatrix}} &= \mathbb{1} + M + \frac{M^{2}}{2!} + \frac{M^{3}}{3!} + ... + \frac{M^{n}}{n!}\\
&...\\
&= \begin{pmatrix}\left[1 + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + ...\right] &\left[0 + \frac{\lambda}{1!} + \frac{2\lambda}{2!} + \frac{3\lambda}{3!} + ...\right]^{\text{(\ref{B})}}\\0 & \left[1 + 1 + \frac{1}{2!} + \frac{1}{3!} + ...\right] \end{pmatrix}\\
&...
\end{align*}


\newpage

\question{\large{Appendix B - Esplains}}{}\phantomlabel{B}{App. B}
\bookmark[page = 2, level = 0]{APPENDIX \ref{B}}

\headNote{Note:  Here we feel compelled to esplains a step in Problem 8... blah blah:}{}

math stuff

\end{document}

在此处输入图片描述

更新

\phantomlabel功能现已成为我的crossreftools包,但是名称和语法不同:

\phantomlabel{B}{App. B}\crtcrossreflabel*{App. B}[B]

\documentclass{article}

\usepackage{amsmath,amssymb,amsthm}
\usepackage{hyperref}
\usepackage[numbered]{bookmark}

\usepackage{crossreftools}

\newcounter{question}


\newcommand\question[2]{\vspace{.25in}\hrule\textbf{#1: #2}\vspace{.5em}\hrule\vspace{.10in}}
\newcommand\headNote[2]{\vspace{.25in}\hrule\textbf{#1 #2}\vspace{.5em}\hrule\vspace{.10in}}
\begin{document}

\begin{align*}
e^{\begin{pmatrix}1 & \lambda\\0 &1\end{pmatrix}} &= \mathbb{1} + M + \frac{M^{2}}{2!} + \frac{M^{3}}{3!} + ... + \frac{M^{n}}{n!}\\
&...\\
&= \begin{pmatrix}\left[1 + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + ...\right] &\left[0 + \frac{\lambda}{1!} + \frac{2\lambda}{2!} + \frac{3\lambda}{3!} + ...\right]^{\text{(\ref{B})}}\\0 & \left[1 + 1 + \frac{1}{2!} + \frac{1}{3!} + ...\right] \end{pmatrix}\\
&...
\end{align*}


\newpage

\question{\large{Appendix B - Esplains}}{}\crtcrossreflabel*{App. B}[B]
\bookmark[page = 2, level = 0]{APPENDIX \ref{B}}

\headNote{Note:  Here we feel compelled to esplains a step in Problem 8... blah blah:}{}

math stuff

\end{document}

相关内容