我正在使用这个hyperref
包。我的命题通常由 a)、b)、c)、d)、e) 等多个部分组成。当我引用某个命题时,我想指定我指的是哪个部分。我该怎么做?
例如,\cite[p.66]{citeShastriEDT}
创建
,
正如我想要的那样,但\ref[b)]{01.04.subgroupGeneratedBy}
创造了
。
即使我写\ref{01.04.subgroupGeneratedBy} b)
,我也会得到
。
我怎样才能创建
或者
?
编辑:Werner 的解决方案非常好,而且易于使用。但我正在寻找其他东西。我大多不想使用环境enumerate
,因为经常会发生一些点很短(即不值得单独使用新行),而其他点很长的情况。以下是我希望引用的命题示例:
我试图节省空间。另外,我真的希望避免在我的theorem
和proposition
环境中使用额外的环境,除非绝对必要。抱歉,我之前没有澄清这一点。那么,有没有一种不涉及使用新环境的解决方案?我的参考不需要指向命题的特定部分(例如 b)),只需指向整个命题的开头。
答案1
这是一种依赖于hyperref
能够打印与实际引用不同的字符串,以及enumitem
能够对列表执行相同的操作。我提供了一个最小示例来说明这两种操作,具体取决于您的需要。
指某东西的用途amsthm
只是创建一个theorem
和/或proposition
环境以供参考,但您可以使用任何其他结构。
\documentclass{article}
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newtheorem{theorem}{Theorem}
\renewcommand{\thetheorem}{\thesection.\arabic{theorem}}
\newtheorem{proposition}[theorem]{Proposition}
\begin{document}
\section{Some section}
Here is a theorem.
\begin{theorem} This is a theorem \end{theorem}
And here is a proposition.
\begin{proposition} \label{ref:prop}
A proposition with some items:
\begin{enumerate}[label=\alph*),ref=\thetheorem.\alph*)]
\item \label{ref:prop1} Some item
\item \label{ref:prop2} Another item
\item \label{ref:prop3} Last item
\end{enumerate}
\end{proposition}
See, for example, \ref{ref:prop2}. There is also \hyperref[ref:prop3]{\ref*{ref:prop}.c)}.
\end{document}
提供的两个选项是
使用和
enumitem
options 。指定事物在列表中的打印方式,而表示引用样式。我只将命题计数器添加到引用中(在本例中是,因为环境基于来自 的环境);label
ref
label
ref
theorem
proposition
theorem
\newtheorem{proposition}[theorem]{Proposition}
amsmath
hyperref
提供使用引用的\hyperref[<ref>]{<stuff>}
超引用。我过去常常从中删除超引用功能,而只是添加到引用列表中的第三项。<stuff>
<ref>
\ref*
\ref
.c)
请注意,就像使用amsthm
是任意的一样(你可以使用ntheorem
或者根本没有与定理相关的包,因为 LaTeX 本身支持),并且和/或的\newtheorem
使用与 无关。因此,如果你enumitem
enumerate
hyperref
仅有的想要hyperref
不需要任何“花哨的附加环境”的功能,最后使用引用即可:
%...
\begin{proposition} \label{ref:prop}
A proposition with some items: a) Some item; b) Another item; and c) Last item.
\end{proposition}
See, for example, \hyperref[ref:prop]{\ref*{ref:prop}.c)}.
%...
当然,这将使超链接指向 的开头,proposition
而不是指向 item c)
。但是,如果需要,也可以通过适当放置 来实现\phantomsection
:
%...
\begin{proposition} \label{ref:prop}
A proposition with some items: a) Some item; b) Another item; and
c)\phantomsection\label{ref:prop3} Last item.
\end{proposition}
See, for example, \hyperref[ref:prop3]{\ref*{ref:prop}.c)}.
%...