Erster Verweis auf Gleichung unterstrichen

Erster Verweis auf Gleichung unterstrichen

Ich schreibe gerade an meiner Bachelorarbeit und habe ein neues Problem. Ich muss die ersten Verweise auf Abbildungen, Tabellen und Gleichungen unterstreichen. Durch Recherche im Internet habe ich bereits eine Lösung für die Abbildungen und Tabellen gefunden. Es ist mir jedoch nicht gelungen, den Code so zu bearbeiten, dass er mit Gleichungen funktioniert. Weiß jemand, wie ich die Lösung von Abbildungen/Tabellen für die Gleichungen ändern kann? Ich verwende die Align-Umgebung für die Gleichungen und kennzeichne sie mit dem Präfix eqn:( \ref{eqn:abc})

Mein Code-Beispiel:

\documentclass[
    pagesize,
    DIV = calc,
    liststotoc,
    bibtotoc,
    idxtotoc]{scrreprt}

    \usepackage{amsmath}


\newif\ifMeinFormat
%\MeinFormattrue
\MeinFormatfalse

\makeatletter
\@ifdefinable\evtlfett{%
\ifMeinFormat
\let\evtlfett\@firstofone
\else
\let\evtlfett\underline
\fi
}%

\def\p@figure{\expandafter\p@@figure}%
\def\p@@figure#1{\@figmkdef{#1}}%
\DeclareRobustCommand\@figmkdef[1]{%
\@ifundefined{figmk#1}
{%
\global\@namedef{figmk#1}{}%
\evtlfett{Abbildung #1}%
}%
{Abbildung #1}%
}%

\def\p@table{\expandafter\p@@table}%
\def\p@@table#1{\@tablemkdef{#1}}%
\DeclareRobustCommand\@tablemkdef[1]{%
\@ifundefined{tblmk#1}
{%
\global\@namedef{tblmk#1}{}%
\evtlfett{Tabelle #1}%
}%
{Tabelle #1}%
}%

\makeatother

\begin{document}
\section{test}
{\begingroup erster Verweis auf die Figur: \ref{fig} \endgroup}\\
zweiter Verweis auf die Figur: \ref{fig}\\
erster Verweis auf die Table: \ref{tab}\\
zweiter Verweis auf die Table: \ref{tab}\\
erster Verweis auf die Gleichung: \ref{eqn:abc}\\
zweiter Verweis auf die Gleichung: \ref{eqn:abc}\\

\begin{figure}
Irgend ne Figur
\caption{\label{fig}Text}
\end{figure}

\begin{table}
Irgend ne Table
\caption{\label{tab}Text}
\end{table}

\begin{align}
a + b = c \label{eqn:abc}
\end{align}

\end{document}

Antwort1

Bildbeschreibung hier eingeben

Mit zusätzlichen Verbesserungen schlägt egreges nun Folgendes vor:

\documentclass[
    pagesize,
    DIV = calc,
    liststotoc,
    bibtotoc,
    idxtotoc]{scrreprt}

\usepackage{amsmath}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\usepackage{letltxmacro}
\usepackage[ngerman]{cleveref}

\AtBeginDocument{%
  \LetLtxMacro\oldcref\cref% 
  \renewcommand{\cref}[1]{% 
  \ifcsname[#1]\endcsname\relax%
  {\oldcref{#1}}%
  \else%
  {\underline{\oldcref{#1}}%
  }%
  \expandafter\gdef\csname[#1]\endcsname{1}%
  \fi%
  }% 
}

\begin{document}
\section{test}
erster Verweis auf die Figur: \cref{fig} \\
zweiter Verweis auf die Figur: \cref{fig}\\
erster Verweis auf die Table: \cref{tab}\\
zweiter Verweis auf die Table: \cref{tab}\\
erster Verweis auf die Gleichung: \cref{eqn:abc} \\
zweiter Verweis auf die Gleichung: \cref{eqn:abc}\\
dritte Verweis auf die Gleichung:  \cref{eqn:abc}\\


\begin{figure}
Irgend ne Figur
\caption{\label{fig}Text}
\end{figure}

\begin{table}
Irgend ne Table
\caption{\label{tab}Text}
\end{table}

\begin{align}
a + b = c \label{eqn:abc}
\end{align}

\end{document}

verwandte Informationen