두 개의 카운터를 고려 A
하고 B
의 초기 값은 B
와 같습니다 A
.
\newcounter{A}
\newcounter{B}
\setcounter{A}{1}
\setcounter{B}{\theA}
명령을 고려 setA
하고 setB
변경하십시오.
\newcommand{\setA}[1]{\setcounter{A}{#1}}
\newcommand{\setB}[1]{\setcounter{B}{#1}}
MWE
\documentclass{report}
\newcounter{A}
\newcounter{B}
\setcounter{A}{1}
\setcounter{B}{\theA}
\newcommand{\setA}[1]{\setcounter{A}{#1}}
\newcommand{\setB}[1]{\setcounter{B}{#1}}
\begin{document}
A=\theA
B=\theB
\medskip
\setA{3}
A=\theA
B=\theB
\medskip
\setB{5}
A=\theA
B=\theB
\end{document}
첫 번째 변종
B
를 변경할 때 또한 변경하고 싶다고 가정해 보겠습니다 A
. 그래서 우리는 정의할 수 있었습니다
\newcommand{\setA}[1]{\setcounter{A}{#1}\setcounter{B}{\theA}}
하지만 이 경우 B
변경한 후에 변경하면 A
달라집니다.
1차 MWE
\documentclass{report}
\newcounter{A}
\newcounter{B}
\setcounter{A}{1}
\setcounter{B}{\theA}
\newcommand{\setA}[1]{\setcounter{A}{#1}\setcounter{B}{\theA}}
\newcommand{\setB}[1]{\setcounter{B}{#1}}
\begin{document}
A=\theA
B=\theB
\medskip
\setA{3}
A=\theA
B=\theB
\medskip
\setB{5}
A=\theA
B=\theB
\end{document}
먼저 변경 B
하고 나중에 변경하면 A
이전 것은 \theB
손실되고 당연히 동일해집니다.
\begin{document}
\setB{5}
A=\theA
B=\theB
\medskip
\setA{3}
A=\theA
B=\theB
\medskip
A=\theA
B=\theB
\end{document}
원하는 출력
B
나는 의존 하고 싶다A
만약에 그리고 만약에명령이 \setB
사용되지 않았습니다어딘가에코드에서.
즉, 아래 코드는 다음을 생성합니다.
\begin{document}
\setB{5}
A=\theA
B=\theB
\medskip
\setA{3}% from here I want to keep \theB because it was used
A=\theA
B=\theB
\medskip
A=\theA
B=\theB
\end{document}
답변1
이 같은?
\documentclass{report}
\newcounter{A}
\newcounter{B}
\setcounter{A}{1}
\setcounter{B}{\value{A}}
\newif\ifB
\Bfalse
\newcommand{\setA}[1]{\setcounter{A}{#1}\ifB\else\setcounter{B}{#1}\fi}
\newcommand{\setB}[1]{\global\Btrue\setcounter{B}{#1}}
\begin{document}
\setB{5}
A=\theA
B=\theB
\medskip
\setA{3}
A=\theA
B=\theB
\medskip
A=\theA
B=\theB
\end{document}
답변2
B
옵션은 다음과 같습니다. 인쇄 표시를 사용 \theA
하도록 합니다.\setB
\documentclass{article}
\newcounter{A}
\newcounter{B}
\setcounter{A}{1}
\setcounter{B}{\value{A}}
\renewcommand{\theB}{\theA}
\newcommand{\setA}[1]{\setcounter{A}{#1}}
\newcommand{\setB}[1]{\renewcommand{\theB}{\arabic{B}}\setcounter{B}{#1}}
\begin{document}
\setB{5}
A=\theA
B=\theB
\medskip
\setA{3}
A=\theA
B=\theB
\medskip
A=\theA
B=\theB
\end{document}
후자가 숫자가 아닐 수도 있으므로 설정 \value{A}
하는 데 사용합니다 .B
\theB