在文本中穿插编号命题

在文本中穿插编号命题

我想在文本中穿插编号命题,因此我定义了一个不会重置计数器的列表。

    \documentclass{article}
    \usepackage{enumitem}

    \newlist{propositions}{enumerate}{1}%
    \setlist[propositions]{
      label=(\arabic*),
      resume,
    }

    \begin{document}

    \begin{propositions}
      \item foo
    \end{propositions}

    \begin{propositions}
      \item bar
    \end{propositions}
    

这按预期工作,但是,由于我通常一次只给出一个命题,因此\item似乎是多余的,因此我将环境包装在一个包含的新环境中 \item

    \newenvironment{proposition}{\begin{propositions}\item}{\end{propositions}}


    \begin{proposition}
      baz
    \end{proposition}

    \begin{proposition}
      boo
    \end{proposition}

    \end{document}

但是现在发生了一些不理想的情况,因为生成的数字是 1、2、3、3。大概是包装使计数器局部化,因此它无法存活到下一个命题环境?我该如何补救?

答案1

这有效:

\documentclass{article}
\usepackage{enumitem}

\newlist{propositions}{enumerate}{1}%
\setlist[propositions]{
  label=(\arabic*),
  resume,
}
\newenvironment{proposition}
  {\propositions\item}
  {\endpropositions}

\begin{document}

\begin{proposition}
foo
\end{proposition}

\begin{proposition}
bar
\end{proposition}

\end{document}

在此处输入图片描述

但是,您应该考虑采用不同的方法。

\documentclass{article}
\usepackage{amsthm}

\newtheoremstyle{propositions}
  {\topsep}     % ABOVESPACE
  {\topsep}     % BELOWSPACE
  {\itshape}    % BODYFONT
  {0pt}         % INDENT 
  {\normalfont} % HEADFONT
  {}            % HEADPUNCT
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {(\thmnumber{#2})}       % CUSTOM-HEAD-SPEC

\theoremstyle{propositions}
\newtheorem{proposition}{}

\begin{document}

\begin{proposition}
foo
\end{proposition}

\begin{proposition}
bar
\end{proposition}

\end{document}

如果您喜欢直立式身体,请换成\itshape\normalfont

您还可以支持“命名提案”

\documentclass{article}
\usepackage{amsthm}

\newtheoremstyle{propositions}
  {\topsep}     % ABOVESPACE
  {\topsep}     % BELOWSPACE
  {\itshape}    % BODYFONT
  {0pt}         % INDENT 
  {\normalfont} % HEADFONT
  {}            % HEADPUNCT
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {(\thmnumber{#2})}       % CUSTOM-HEAD-SPEC

\theoremstyle{propositions}
\newtheorem{proposition}{}

\newenvironment{proposition*}[1]
 {\addtocounter{proposition}{-1}\renewcommand{\theproposition}{#1}\proposition}
 {\endproposition}

\begin{document}

References: \ref{prop:foo}, \ref{prop:bar}, \ref{prop:K}, \ref{prop:check}.

\begin{proposition}\label{prop:foo}
foo
\end{proposition}

\begin{proposition}\label{prop:bar}
bar
\end{proposition}

\begin{proposition*}{K}\label{prop:K}
K is this one
\end{proposition*}

\begin{proposition}\label{prop:check}
check
\end{proposition}

\end{document}

在此处输入图片描述

如果你也想hyperref配合的话,就得对之前的代码稍微修改一下。

\documentclass{article}
\usepackage{amsthm}
\usepackage{hyperref}

\newtheoremstyle{propositions}
  {\topsep}     % ABOVESPACE
  {\topsep}     % BELOWSPACE
  {\itshape}    % BODYFONT
  {0pt}         % INDENT 
  {\normalfont} % HEADFONT
  {}            % HEADPUNCT
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {(\thmnumber{#2})}       % CUSTOM-HEAD-SPEC

\theoremstyle{propositions}
\newtheorem{proposition}{}

\newenvironment{proposition*}[1]
 {%
  \addtocounter{proposition}{-1}%
  \renewcommand{\theproposition}{#1}%
  \renewcommand{\theHproposition}{#1}%
  \proposition
 }
 {\endproposition}

\begin{document}

References: \ref{prop:foo}, \ref{prop:bar}, \ref{prop:K}, \ref{prop:check}.

\begin{proposition}\label{prop:foo}
foo
\end{proposition}

\begin{proposition}\label{prop:bar}
bar
\end{proposition}

\begin{proposition*}{K}\label{prop:K}
K is this one
\end{proposition*}

\begin{proposition}\label{prop:check}
check
\end{proposition}

\end{document}

相关内容