我想添加一个可点击的引用\paragraph
,但不只是一个后面带有点的可点击数字,我还想\S
在链接中添加一个符号(而不是段落名称!)并删除点。
例如,
\paragraph{Name}\label{p1}
\ref{p1}
给出可点击的段落数字,例如“1”(数字后面有一个点)。如何将其更改为可点击的文本“§ 1”(带符号\S
,不带点)?
答案1
我建议您使用该cleveref
包及其\cref
命令来创建交叉引用,这些交叉引用会自动包含所引用对象的名称(在本例中为符号名称)。通过适当的设置(参见下面的 MWE),您可以分别定义符号的单数和复数形式 --§
和§§
--和使§
(或§§
)符号自动包含在超链接中。
\documentclass{article}
\usepackage[colorlinks=true]{hyperref}
\usepackage[nameinlink]{cleveref}
\crefname{paragraph}{\S}{\S\S} % default is {paragraph}{paragraphs}
\setcounter{secnumdepth}{4} % default: 3
% Optional: place dots after sectioning numbers
\usepackage{secdot}
\sectiondot{subsection}
\sectiondot{subsubsection}
\sectiondot{paragraph}
\begin{document}
\section{Section 1}
\subsection{Subsection 1}
\subsubsection{Subsubsection 1}
\paragraph{Paragraph 1}\label{para:1} Some thoughts \dots
\paragraph{Paragraph 2}\label{para:2} More thoughts \dots
\paragraph{Paragraph 3}\label{para:3} Delusions of grandeur \dots
\section{Section 2}
As we argued in \cref{para:1}, \dots
\noindent
As we further argued in \cref{para:2,para:3}, \dots
\end{document}
答案2
这似乎有效:
\documentclass[11pt]{article}
\setcounter{secnumdepth}{3} % this line can be removed
\let\OLDparagraph\paragraph
\renewcommand{\paragraph}{\refstepcounter{paragraph}\OLDparagraph}
\usepackage{hyperref}
\renewcommand{\theparagraph}{\S\arabic{paragraph}}
\begin{document}
\paragraph{Name:}\label{sec:p1} Here some Text
We have seen in \ref{sec:p1}, \dots
\end{document}
如果不想对段落进行编号,则\secnumdepth
必须小于 4。