밑줄 친 방정식에 대한 첫 번째 참조

밑줄 친 방정식에 대한 첫 번째 참조

요즘 학사 논문을 쓰고 있는데 새로운 문제가 생겼습니다. 나는 그림, 표, 방정식에 대한 첫 번째 참조에 밑줄을 쳐야 합니다. 인터넷에서 검색하여 이미 그림과 표에 대한 해결책을 찾았습니다. 하지만 코드 편집에 성공하지 못했기 때문에 방정식에서도 작동할 것입니다. 방정식에 대한 그림/표의 해를 변경하는 방법을 아는 사람이 있습니까? 방정식에 정렬 환경을 사용하고 접두사 eqn:( \ref{eqn:abc}) 로 레이블을 지정합니다.

내 코드 샘플:

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

답변1

여기에 이미지 설명을 입력하세요

추가 개선 사항을 통해 제안된 내용은 egreg다음과 같습니다.

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

관련 정보