3

I'm using the package proof for drawing deductions. The package supports labels. However, I'd like to have clickable cross-references to them. Is this possible? Note that I want the label to be a custom text, not a number. The package doesn't seem to have inbuilt support for cross-references (neither clickable nor non-clickable). Neither does the seemingly more comprehensive bussproof. Below's an example of intended use:

\documentclass{llncs}   %or {article}
\usepackage{proof}      %\infer

\begin{document}

\[
\infer[\mbox{mylabel}]{a : A}{a ~\mbox{exists}}
\]

As %\intendedrefto{mylabel} shows, ...

\end{document}
3

2 Answers 2

3

You can set the reference text yourself, since \label uses the current definition of \@currentlabel:

\documentclass{article}
\usepackage{proof}             

\makeatletter
\newcommand{\labelthis}[2]{%
  \def\@currentlabel{#2}\label{#1}#2%
}
\makeatother

\begin{document}

\[
\infer[\mbox{\labelthis{ml}{mylabel}}]{a : A}{a ~\mbox{exists}}
\]

As \ref{ml} shows, ...

\end{document}

enter image description here

If you are also using amsmath, you need to use \ltx@label instead of \label

\makeatletter
\newcommand{\labelthis}[2]{%
  \def\@currentlabel{#2}\ltx@label{#1}#2%
}
\makeatother
5
  • Thanks. Could you expand on the meaning of [2]{\def\@currentlabel{#2}\label{#1}#2}?
    – jaam
    Commented Jun 13, 2016 at 21:33
  • @jaam The macro has two arguments; #1 is used to set the label, #2 is the text that you want to be printed by \ref (so it's stored in \@currentlabel) and also in the formula.
    – egreg
    Commented Jun 13, 2016 at 21:44
  • I unaccepted the answer since I couldn't get the solution to work in my manuscript (my solution works but isn't ideal)
    – jaam
    Commented Feb 12, 2017 at 5:56
  • @jaam Unaccepting, in this case, seems unfair in my opinion. Commented Mar 20, 2018 at 19:02
  • @Dr.ManuelKuehner Well, at least it retained the upvote
    – jaam
    Commented Mar 20, 2018 at 19:07
1

Here's a solution:

\documentclass{llncs}
\usepackage{proof}      %\infer
\usepackage{mathtools}  %\tag   
\usepackage{hyperref}
\usepackage{xcolor}     %\color

\begin{document}

\begin{equation}\label{wha}
\infer[\mbox{mylabel}]{a : A}{a ~\mbox{exists}}
\color{white}{\tag*{mylabel}}
\end{equation}

As \ref{wha} shows, ...

\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .