我如何定义像“\copypaste{ref-label}”这样的命令?

我如何定义像“\copypaste{ref-label}”这样的命令?

我怎样才能得到这样的命令\copypaste{ref-label},将相应的环境复制到标签中\label{ref-label} 并将其粘贴到命令所在的位置\copypaste{ref-label}?或者至少(如果这样更容易的话)两个命令\copy{ref-label}(放在环境内部)和\paste{ref-label}(我们想要粘贴的位置)?

我知道这些命令可能没什么用,但对我来说很有趣也很有用,因为有时我想引用前面章节中的一些引理、定义……当然,我可以定义新的环境(new def、lem、thm……)并将其计数器设置为相应的环境。

答案1

类似这样的:

\documentclass{article}
\usepackage{scontents}
\pagestyle{empty}
\setlength{\parindent}{0pt}
\begin{document}
\section{Definitions}
Some text here...

\begin{scontents}[print-env=true,store-env=definitions]
First definition stored in memory.
\end{scontents}

More text here...

\begin{scontents}[print-env=true,store-env=definitions]
Second definition stored in memory.
\end{scontents}

\section{Other section}
Another little bit of text here, now I bring the definitions
I saved in memory...

\getstored[2]{definitions}\par

In reverse order

\getstored[1]{definitions}

\section{One more time}
Okay, I'll reoccupy the definitions, but in the right order.

\getstored[1]{definitions}\par
\getstored[2]{definitions}
\end{document}

输出

内容包是为完成这项工作而设计的,我使用了版本environment,但你也可以使用command版本。如果你有verbatim材料也支持,如果你想写入外部文件,好吧,你也可以做到:)。

相关内容