2

Does it exist a command like pageref with which I can indicate the column too? (I am writing a two-column text and I would like to give an indication more precise than the simple page).

Werner
  • 603,163
Gippo
  • 65

1 Answers1

1

Detecting/tracking the (current) column is not easy. However, a somewhat simplistic yet effective way of identifying the column can be done by labelling the x-coordinate on the page. If that x-coordinate is less than half the page width, you should be within the left (first) column, otherwise you're in the right (second) column.

Here is that implementation using the savepos module from zref:

enter image description here

\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}

You could update \columnref to output something of the format <page>-<column> in the following way:

% 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
}
Werner
  • 603,163
  • Thanks. Just a minor esthetic thing. I am sorry but I do not undersand how to properly write a code section in a comment. I want to add an hyperlink with something like this code \lipsum[1-5]
    \phantomsection\label{mylabel}{Important text} \lipsum[6-10] Check out in the document at Pag.~\columnref{mylabel}.
    code The red box of the link is only around the page number. Is it poss ible to make it larger so as to include the column number too?
    – Gippo Feb 11 '21 at 23:54
  • 1
    @Gippo: Use the definitions in this example. – Werner Feb 11 '21 at 23:58