6

I have a label that references what is currently section 1.4. Can I tweak either the \ref or \label so that it appears as 4 (i.e. only the subsection number) when reffed?

7

Assuming you're sure that your reference have the form m.n, then the following code

\usepackage{refcount}
\newcommand\subsecref[1]{%
  \edef\temp{\getrefnumber{#1}}%
  \ifnum0=\temp ??\else
    \expandafter\eatsection\temp\eatsection
  \fi}
\def\eatsection#1.#2\eatsection{#2}

will do: call \subsecref{label}.

It's more complicated if the form of the references is different (say if they are chapter.section.subsection, but not conceptually more difficult.

A less efficient implementation that works also in expansion context is

\usepackage{refcount}
\newcommand\subsecref[1]{%
  \ifnum0=\romannumeral-`0\getrefnumber{#1}??%
  \else
    \expandafter\eatsection\romannumeral-`0\getrefnumber{#1}\eatsection
  \fi}
\def\eatsection#1.#2\eatsection{#2}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.