
및 을 \pref{<cross-reference>}
사용하여 상호 참조에 대한 명령( 호출)을 만드는 것이 차단되었습니다 . 상황에 맞게 조정할 수 있기를 바랍니다.cleveref
varioref
먼저, 참조가 참조된 개체와 동일한 페이지에 있을 때 쉼표를 제거할 수 있도록 하고 싶습니다. 이것이 내가 현재 가지고 있는 것입니다:
둘째, 호출하지 않고도 참조가 이루어진 장이나 섹션의 이름을 추가하여 다른 상황에서 기본 동작으로
\crefformat
명령을 사용할 수 있는지 알고 싶었습니다 .\cref
\documentclass{article}
\usepackage{varioref, hyperref, cleveref}
\setlength{\parindent}{0pt}
\def\reftextcurrent{}
\def\reftextfaraway#1{p.~\pageref{#1}}
\crefformat{figure}{#2\textsc{Fig.}~#1#3}
\crefformat{section}{#2\textsc{Sec.}~#1#3}
\newcommand{\pref}[1]{(\cref{#1}, \vpageref{#1})}
\begin{document}
\pref{fig1}\qquad\pref{sec1}
\clearpage
\pref{fig1}\qquad\pref{sec1}\\
(\cref{sec1} : \textit{\nameref{sec1}}, \vpageref{sec1})% desired behaviour
\clearpage
\section{My section}\label{sec1}
\begin{figure}
\centering\Huge Figure
\caption{Bla bla.}
\label{fig1}
\end{figure}
\pref{fig1}\qquad\pref{sec1}\\
(\cref{fig1})\qquad(\cref{sec1} : \textit{\nameref{sec1}})% desired behaviour
\clearpage
\pref{fig1}\qquad\pref{sec1}
\clearpage
\pref{fig1}\qquad\pref{sec1}
\end{document}