如何 \label-\ref 未编号的部分

如何 \label-\ref 未编号的部分

我正在尝试“引用”\section*{Introduction}我的文章。我可以很容易地使用\section{InsertSectionName}a\label{}和 a来引用\ref{}(以此作为我对“引用”的定义),但对于未编号的部分,这种方式似乎行不通。

有没有办法做到这一点,或者至少引用第一行\section*{Introduction}

注意:我更喜欢将我的文章的“简介”不编号,然后从(章节)“1”开始。

答案1

你有一个逻辑问题:你如何引用未编号的部分?如果按名称引用,那么你(理论上)会遇到标题中的名称应该如何排版以及应该如何将其写成标签的问题。一种非常便宜的做法是劫持标签机制:

\documentclass{article}
\newcounter{intro}
\renewcommand{\theintro}{Introduction}
\begin{document}
 \section*{Preface to the article}
 \refstepcounter{intro}
 \label{s:intro}


 \ref{s:intro}
\end{document}

参考文献将打印“简介”(即无论您如何称呼该部分)。

答案2

hyperref捆绑包中有nameref一个包含命令的包,\nameref该命令使用部分名称作为参考标签来解决您的问题。

\documentclass{article}
\pagestyle{empty}
\usepackage{nameref}

\begin{document}
  \section*{Test}
  \label{sec:test}
  \section{Other}
  \nameref{sec:test}
\end{document}

编译结果

其他选项包括titlerefzrefgettitlestring包。JLDiaz 引用了TeX 常见问题解答列出了这些和其他包。

答案3

您没有提到这一点,但如果您正在寻找的是包提供的超链接功能hyperref,您可以简单地使用该\hyperref命令创建指向该部分的链接并在文档正文中提供链接的文本。

\documentclass{article}
\usepackage{hyperref}
\begin{document}
  \section*{Preface to the article}
  \label{s:intro}

  \hyperref[s:intro]{Introduction}
\end{document}

答案4

请注意,\ref{}会扩展为节的编号,例如“参见节~\ref{sectionname}”会生成“参见节 2.1”。如果节没有编号,您期望得到什么?

一个选项是引用该部分出现的页面。这很简单:“查看从第 ~\pageref{sectionname} 页开始的部分”。

另一个选项是通过其名称来引用该部分。您可以使用文字字符串来实现:“参见``简介''部分”,或者使用可以存储和提取部分名称以供参考的某些包,例如在此常见问题解答

相关内容