\ref 和 \nameref 作为一个命令?

\ref 和 \nameref 作为一个命令?

有没有办法将\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。可选参数采用标签名称。

相关内容