我刚开始学习 LaTeX,需要一些计数器方面的帮助。
我的目标是将某个计数器在某个时间点达到的值存储在文档中,并在以后使用。这是我的尝试:
\documentclass{article}
\begin{document}
\section{title}
text
\let\myvalue\thesection
\section{title}
text
\myvalue
\end{document}
但\myvalue
打印的是 2 而不是 1。
我读过这个:\let 和 \def 之间有什么区别?但在我看来,在定义时 let 似乎没有存储该值。
我究竟做错了什么?
答案1
以下是一个如何做到这一点的简单示例,
\documentclass{article}
\newcounter{foo}
\begin{document}
\section{title}
text
\setcounter{foo}{\value{section}}
\section{title}
text
\thefoo
\end{document}
您只需使用命令创建一个新的计数器\newcounter
,然后将其设置为所需的值\setcounter
。
笔记如果您正在寻找一些参考工具,那么包括\label{}
和\ref{}
在内的更好的解决方案。
\documentclass{article}
\newcounter{foo}
\begin{document}
\section{title}
\label{sec:mylabel}
text
\setcounter{foo}{\value{section}}
\section{title}
This is using the new counter: \thefoo
\noindent
This is using the label and ref commands: \ref{sec:mylabel}
\end{document}
答案2
您也可以使用,\edef
但不能\def
如下所示。
\documentclass[preview,border=12pt,varwidth]{standalone}
\begin{document}
\section{Andy}
Saving \ldots
\edef\fixed{\thesection}
\def\notfixed{\thesection}
\section{Billy}
fixed: \fixed\ and notfixed: \notfixed
\section{Charlie}
fixed: \fixed\ and notfixed: \notfixed
\end{document}