当我引用标签时,我希望获得引用的完整路径。
基本示例:
\documentclass[a4paper,12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{xpatch}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage[hidelinks]{hyperref}
\begin{document}
\chapter{Chapter One}
\section{Section Alpha}
\subsection{Subsection 1}
\begin{enumerate}[label={\alph*)\,}]
\item Item a
\item Item b
\begin{enumerate}[label={\arabic*.}]
\item \label{subitemOne} Sub-Item 1
\end{enumerate}
\end{enumerate}
Reference example (ref: \ref{subitemOne})
\end{document}
我正在寻找可以让我的最后一行看起来像这样的东西:
Reference example (ref: 1-1-1b-1)
答案1
这是一个采用枚举项包来(a)创建一个两级自定义枚举类环境(称为myenum
——可以自由选择不同的名称)和(b)使用包的ref
选项为相应的 1 级和 2 级枚举项设置所需的交叉引用格式。
\documentclass{report} % or some other suitable document class
\usepackage{enumitem}
\newlist{myenum}{enumerate}{2} % create 2-level enumerate-like env.
\setlist[myenum,1]{label=\alph*), ref=\thesubsection-\alph*}
\setlist[myenum,2]{label={\arabic*.}, ref=\themyenumi-\arabic*}
\begin{document}
\refstepcounter{chapter}
\section{Section Alpha}
\subsection{Subsection Uno}
\begin{myenum}
\item Item a \label{itemOne}
\item Item b
\begin{myenum}
\item Sub-Item 1 \label{subitemOne}
\end{myenum}
\end{myenum}
\section{Section Beta}
\subsection{Subsection Due}
\begin{myenum}
\item Item ax \label{itemOnex}
\item Item bx
\begin{myenum}
\item Sub-Item 1x
\item Sub-Item 2x \label{subitemTwox}
\end{myenum}
\end{myenum}
\noindent
Cross-referenced enumerated items:
\ref{itemOne}\ \ref{subitemOne}\ \ref{itemOnex}\ \ref{subitemTwox}
\end{document}
答案2
您似乎正在使用enumitem
一个ref
键来控制它:
\documentclass{report}
\usepackage{enumitem}
\begin{document}
\chapter{Chapter One}
\section{Section Alpha}
\subsection{Subsection 1}
\begin{enumerate}[label={\alph*)\,}]
\item Item a
\item Item b
\begin{enumerate}[label={\arabic*.},ref=\thesubsection-\alph{enumi}-\arabic*]
\item \label{subitemOne} Sub-Item 1
\end{enumerate}
\end{enumerate}
Reference example (ref: \ref{subitemOne})
\end{document}