我正在做
\chapter{chap_one} \newcommand{\chap_oneChapter}{\thechapter}
bla bla bla
\chapter{chap_two} \newcommand{\chap_twoChapter}{\thechapter}
\chap_oneChapter and then \chap_twoChapter
我预计会打印
1,然后 2
但我却
2,然后 2
好像每次 LaTeX 找到 \chap_oneChapter 时,它都会分配 \thechapter 的值,这不是我想要的。我该如何正确执行此操作?
答案1
您是在寻找\label{..}
和\ref{..}
吗?
\chapter{chap one vector operators} \label{chap:VectorOperators}
bla bla bla
\chapter{chap two another topic} \label{chap:AnotherTopic}
\ref{chap:VectorOperators} and then \ref{chap:AnotherTopic}
无论如何,如果这不是您想要的……
例如,粗略地说,你必须扩展它\edef
。请注意,你不能_
在命令名称中使用。
\chapter{chap one vector operators} \edef\VectorOperatorsChapter{\thechapter}
bla bla bla
\chapter{chap two another topic} \edef\AnotherTopicChapter{\thechapter}
\VectorOperatorsChapter{} and then \AnotherTopicChapter
这可能会在某些时候带来问题,你需要\protected@edef
确保安全。因此,你可能需要定义
\makeatletter
\newcommand\savevalue[2]{\protected@edef#1{#2}}
\makeatletter
然后使用 like \savevalue\AnotherTopicChapter{\thechapter}
。