页面中段落的编号

页面中段落的编号

我需要提一下,第 y 页第 x 段解释了一个概念。

这里有一个错误地显示段落编号的示例。无论目标是页面的哪个段落,它都显示第 1 段。

Linux 的解释见此处第 3 页第 1 段。

\documentclass{article}

\usepackage[english]{babel}
\usepackage{lipsum}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}

\newcommand{\mylink}[1]{{\hypersetup{hidelinks=true}page \pageref{#1}, paragraph \ref{#1}} at \hyperlink{#1}{here}}
\newcommand{\mytarget}[1]{\hypertarget{#1}{\label{#1}}}


\title{Your Paper}

\begin{document}

\section{Introduction}

Linux is explained in \mylink{linux}.

\lipsum[1-13]

\mytarget{linux}
This is a paragraph about Linux.

\lipsum[1-2]

\end{document}

答案1

我添加了一个新的计数器(parno),其增量为\everypar。请注意,它\everypar会被重新定义,可能需要经常更新。

此外,\label指的是最后一个计数器递增\refstepcounter,因此应该比任何方程式或其他计数器递增命令更接近段落的开头。

\documentclass{article}

\usepackage[english]{babel}
\usepackage{lipsum}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}

\newcounter{parno}[page]
\renewcommand{\theparno}{page \thepage, paragraph \arabic{parno}}

\title{Your Paper}

\begin{document}

\section{Introduction}
\everypar{\refstepcounter{parno}}

Linux is explained in \ref{linux}.

\lipsum[1-13]

\leavevmode\label{linux}%
This is a paragraph about Linux. 

\lipsum[1-2]

\end{document}

相关内容