有没有办法将\ref
和\nameref
命令合并为一个命令?我想在标题前显示章节编号。现在我这样做:
\ref{sec:optimizations} \nameref{sec:optimizations}
问题是我重复引用了。我宁愿将其作为一个命令。例如:
\myref{sec:optimizations}
答案1
对于不支持链接内换行符的驱动程序(dvips
/pdfmark
驱动程序),您可以使用 jon 在评论:
\newcommand*{\myref}[1]{\ref{#1} \nameref{#1}}
或者在后面不换行\ref
:
\newcommand*{\myref}[1]{\ref{#1}~\nameref{#1}}
对于其他驱动程序,完整的表达可以做成一个链接:
\newcommand*{\myref}[1]{%
\hyperref[{#1}]{\ref*{#1} \nameref*{#1}}%
%\hyperref[{#1}]{\ref*{#1}~\nameref*{#1}}%
}
评论:
\ref
和的星号形式\nameref
可防止嵌套链接。 链接已由 完成\hyperref
。可选参数采用标签名称。