我正在尝试在公司实施 LaTeX,以避免大量的手动工作和错误
答案1
欢迎!您可以直接将内容附加到标签上(非常感谢 Phelype Oleinik 和 cfr 指出附加功能可用hyperref
!)\MyTag
\documentclass{memoir}
\usepackage{graphicx}
% \usepackage{hyperref}
% \usepackage{cleveref}
\newcommand{\MyLabel}[1]{\label{\MyTag#1}}
\newcommand{\MyRef}[1]{\ref{\MyTag#1}}
\pagestyle{empty}
\begin{document}
\setcounter{chapter}{1}
\newcommand{\MyTag}{Qn-11}
\input{fileex}
\renewcommand{\MyTag}{Qn-12}
\input{fileex}
\end{document}
这要求您将中的\label
和分别替换\ref
为\MyLabel
和:\MyRef
fileex.tex
\section{Header}
The component setting is \MyTag. See figure \MyRef{fig:setting}.
\begin{figure}[htbp]
\includegraphics[width=3cm]{example-image-a}
\caption{Caption}
\MyLabel{fig:setting}
\end{figure}
我已经测试过,它可以与 一起使用hyperref
,cleveref
也可以与 一起使用。我无法让它与 一起使用,但和fancyref
之间似乎存在一些冲突。可以找到有关这些相互(不)兼容性的详细讨论memoir
fancyref
这里。
在当前设置中,您还可以通过 添加标签\MyTag
。
\documentclass{memoir}
\usepackage{graphicx}
\pagestyle{empty}
\let\oldlabel\label
\let\oldref\ref
\renewcommand{\label}[1]{\oldlabel{\MyTag#1}}
\renewcommand{\ref}[1]{\oldref{\MyTag#1}}
\begin{document}
\setcounter{chapter}{1}
\newcommand{\MyTag}{Qn-11}
\input{fileex}
\renewcommand{\MyTag}{Qn-12}
\input{fileex}
\end{document}
如上所述,如果您使用更多花哨的引用方法,此解决方案可能不起作用。