如何在双栏文本中引用页面和列

如何在双栏文本中引用页面和列

是否存在类似 pageref 的命令,我也可以用它来指示列?(我正在写一个双列文本,我想给出比简单页面更精确的指示)。

答案1

检测/跟踪(当前)列不简单。但是,可以通过标记页面上的 x 坐标来识别列,这种方法虽然有些简单,但非常有效。如果 x 坐标小于页面宽度的一半,则您应该位于左(第一)列内,否则您位于右(第二)列内。

savepos以下是使用模块的实现zref

在此处输入图片描述

\documentclass[twocolumn]{article}

\usepackage{xcolor}
\usepackage[savepos]{zref}

\newcommand{\columnlabel}[1]{\label{#1}\zsaveposx{#1}}
\newcommand{\columnref}[1]{%
  \ifdim\zposx{#1}sp<.5\pdfpagewidth
    left% column 1
  \else
    right% column 2
  \fi
}

\usepackage{lipsum}

\begin{document}

\sloppy% Just for this example
\lipsum[1-5]
\textcolor{red}{\columnlabel{important}Some important text}%

\lipsum[6-10]

See \textcolor{red}{page~\pageref{important} (\columnref{important} column)}.

\end{document}

您可以更新以按以下方式\columnref输出某些格式:<page>-<column>

% Output <page>-<column> as a reference
\newcommand{\columnref}[1]{%
  \pageref{#1}-%
  \ifdim\zposx{#1}sp<.5\pdfpagewidth
    1% column 1
  \else
    2% column 2
  \fi
}

相关内容