這是一個 MWE:
\documentclass{scrartcl}
\newcounter{main}[part]
\newenvironment{Remark}[1][]{\refstepcounter{main}\par\medskip
\noindent {\underline{\textit\Large{MAIN~:\arabic{part}.\themain}}\\ #1}}{\medskip}
\begin{document}
\part{A}
\begin{Remark}
\label{main:r1}aaa
\end{Remark}
\begin{Remark}
bbb
\end{Remark}
\ref{main:r1}
\end{document}
現在,我想要的是而不是1
底部的1.1
(主計數器和部分)。
它應該是一個命令,因為我使用的是 LyX。
有可能的?
謝謝你!
PS我知道我可以用其他計數器來做到這一點(即添加新計數器)。但我想知道我是否可以只用一個計數器來做到這一點......
答案1
你只需重新定義\themain
成為\arabic{part}.\arabic{main}
。然後在您的環境中僅使用\themain
而不再使用\arabic{part}.\arabic{main}
。這樣\ref
命令將\themain
按照重新定義的方式使用,一切都會如您所願。如果您只想列印main
計數器的值,請使用\arabic{main}
或\the\value{main}
\documentclass{scrartcl}
\newcounter{main}[part]
\renewcommand{\themain}{\arabic{part}.\arabic{main}}
\newenvironment{Remark}[1][]{\refstepcounter{main}\par\medskip
\noindent {\underline{\textit\Large{MAIN~:\themain}}\\ #1}}{\medskip}
\begin{document}
\part{A}
\begin{Remark}
\label{main:r1}aaa
\end{Remark}
\begin{Remark}
bbb
\end{Remark}
\ref{main:r1}
\end{document}