使用章节符号 (§) 来交叉引用章节

使用章节符号 (§) 来交叉引用章节

在一些论文和书籍中,你会看到作者使用§1.3代替第 1.3 节。如何自动在节(或部分、章节等)编号前添加 § 符号?请提供关于此样式的任何有用提示。

也可以看看: 奇特的交叉引用

答案1

您可以使用cleveref封装并重新定义\crefname{section}

\documentclass{article}

\usepackage[utf8]{inputenc}

\usepackage{cleveref}
\crefname{section}{§}{§§}
\Crefname{section}{§}{§§}

\begin{document}

\section{foo}\label{sec:foo}

Some text.

\section{bar}

As explained in \cref{sec:foo}~\dots

\end{document}

在此处输入图片描述

答案2

hyperref提供\autoref{<label>}检查引用中使用的计数器并设置带有前缀的标签\<counter>autorefname。这是一个小例子:

在此处输入图片描述

\documentclass{article}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\renewcommand{\sectionautorefname}{\S}
\begin{document}
\section{A section}
See~\autoref{another-section}.
\section{Another section}\label{another-section}
\end{document}​

答案3

经常被遗忘的是宏\p@<counter>。如果 LaTeX 生成一个引用值,这不仅仅是。如果定义了一个新的计数器, 则定义为\the<counter>空。但可以重新定义它以添加前缀,例如。因此不需要额外的包。\p@<counter>\the<counter>\p@<counter>

\documentclass{article}

\makeatletter
\renewcommand*{\p@section}{\S\,}
\renewcommand*{\p@subsection}{\S\,}
\makeatother

\begin{document}

\section{Hello World}
\label{sec:hello}
\subsection{Subsection A}
\subsection{Subsection B}
\subsection{Subsection C}
\label{sec:C}

See \ref{sec:C} inside \ref{sec:hello}.
\end{document}

答案4

我花了一点时间才找到解决方案,所以我想分享一下。万一像我一样:

这是修复方法,找到了这里

\addto\extrasenglish{
  \def\sectionautorefname{\S}
}

这是一个最小的工作示例:

\documentclass{article}

\usepackage[english]{babel}
\usepackage{mathtools}
\usepackage{hyperref}

\mathtoolsset{showonlyrefs=true}

\addto\extrasenglish{%
  \def\sectionautorefname{\S}%
}    

\begin{document}

\section{Foo}
Cf \autoref{sec:bar}.
\section{Bar}\label{sec:bar}

\end{document}​

在此处输入图片描述

相关内容