我想在文档中使用两种不同类型的引用:一种是使用命令默认的\refa{} “1.1”
,另一种是使用命令()
添加的。我使用:\ref
\ref{} “(1.1)”
在 \ref{} 周围添加 ()
对于类型 2。
\documentclass{article}
\usepackage{letltxmacro}
\usepackage[colorlinks=true,allcolors=blue]{hyperref}
\AtBeginDocument{%
\LetLtxMacro\oldref{\ref}%
\DeclareRobustCommand{\ref}[2][]{[\oldref#1{#2}]}%
}
\begin{document}
\section{Section}
brackets around cross references: \ref{S}\\
default type with \refa{s} i.e 1.1
\subsection{Subsection\label{S}}
This is a subsection.
\end{document}
答案1
你想要这样的东西吗?
\documentclass{article}
\usepackage{letltxmacro}
\usepackage[colorlinks=true,allcolors=blue]{hyperref}
\AtBeginDocument{%
\LetLtxMacro\refa{\ref}%
\DeclareRobustCommand{\ref}[2][]{(\refa#1{#2})}%
}
\begin{document}
\section{Section}
brackets around cross references: \ref{S}
default type with \refa{S} i.e.~1.1
\subsection{Subsection\label{S}}
This is a subsection.
\end{document}
答案2
下一个简单的解决方案是您正在寻找的:
\ref{...}
仅用于引用数字\pref{...}
供参考(<number>)
,其中refp
定义为:\newcommand{\pref}[1]{(\ref{#1})}
例子:
\documentclass{article}
\usepackage[colorlinks=true,allcolors=blue]{hyperref}
\newcommand{\pref}[1]{(\ref{#1})}
\begin{document}
\section{Section}
brackets around cross references: \pref{S}\\
default type with \ref{S} i.e 1.1
\subsection{Subsection\label{S}}
This is a subsection.
\end{document}
答案3
对于方程引用,这是自动完成的,\ref{}
与\eqref{}