systeme 包中的方程编号

systeme 包中的方程编号

我使用该包生成了以下代码systeme

\documentclass{article}
\usepackage{amsmath}
\usepackage{systeme}

\begin{document}

\[
\systeme{3x+y+2z=6,x+3y+2z=-6,x+y+z=1}
\]

\end{document}

这将按照我期望的方式显示方程式,除了我想为三个方程式中的每一个方程式添加方程式编号,以使编号与文档其余部分中的方程式编号保持一致。

方程式编号应紧接着每个方程式的右侧出现。

这可能吗?

答案1

对于自动方程编号,方程编号(用括号括起来)放在方程的右边,只需@(*)在方程后面立即插入即可第一的方程。如果您需要更多分离 -- 比如说\qquad-- 您可以插入@\qquad(*)

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,systeme}

\begin{document}
\begin{gather*}
\systeme{3x+y+2z=6,x+3y+2z=-6,x+y+z=1} \\[2ex]        % no numbering
\systeme{3x+y+2z=6@(*), x+3y+2z=-6, x+y+z=1} \\[2ex]  % default separation
\systeme{3x+y+2z=6@\qquad(*), x+3y+2z=-6, x+y+z=1}    % separation by '\qquad'
\end{gather*}
\end{document}

附录,为了回答 OP 的后续问题:为了让生成的方程数字\systeme获取计数器的值equation,我建议你插入指令

\renewcommand{\SYSeqnum}{\value{equation}}
\sysautonum{(**)}

在序言中(加载systeme包)并省略@(*)上面提到的指令。例如,像这样:

\documentclass{article}
\usepackage{systeme}
\renewcommand{\SYSeqnum}{\value{equation}}
\sysautonum{(**)}

\begin{document}
\addtocounter{equation}{5}\theequation
\[
\systeme{3x+y+2z=6, x+3y+2z=-6 , x+y+z=1 }
\]

\stepcounter{equation}\theequation
\[
\systeme{3x+y+2z=6  , 
         x+3y+2z=-6 , 
         x+y+z=1    }
\]
\theequation
\end{document}

按照这种设置,前三个systeme方程的编号分别为 6、7 和 8,后三个systeme方程的编号分别为 10、11 和 12。


或者,请看以下例子:

\documentclass{article}
\usepackage{amsmath,systeme}
\renewcommand{\SYSeqnum}{\value{equation}}
\sysautonum{(**)}
\begin{document}
\begin{gather} % create 7 dummy numbered equations:
a \\ b \\ c \\ d \\ e \\ f \\ g 
\end{gather}
\[
\systeme{3x+y+2z=6, x+3y+2z=-6 , x+y+z=1 }
\]
\end{document}

按照这种设置,这三个systeme方程式将被编号为 8、9 和 10。


第二附录,以解决如何在系统内创建方程的交叉引用这一主题systeme(双关语)。需要注意的是,标准\label-\ref机制不适用于此类方程。以下 MWE 基于systeme软件包用户指南第 7 页中对 的方法的描述。

\documentclass{article}
\usepackage{systeme}
\renewcommand{\SYSeqnum}{\value{equation}} 
\sysautonum{(**)}

\begin{document}
\setcounter{equation}{15}
\systeme{3x+y+2z=6 @\gdef\foo{**}(**),  % see p. 7 of the package's user guide
         x+3y+2z=-6@\gdef\bar{**}(**), 
         x+y+z=1   @\gdef\baz{**}(**)}      

Cross-references to equations (\foo) and (\baz).
\end{document}

该 MWE 输出“对方程 (16) 和 (18) 的交叉引用”。

答案2

如果系统方程的数字可以不放在右边距,这里有一个简单的解决方案:

\documentclass{article}
\usepackage{amsmath}
\usepackage{systeme}
\usepackage{linegoal} 

\begin{document}

\setcounter{equation}{10}

\[ \sysautonum*{\stepcounter{equation}\hbox{(\theequation)}}
\systeme{3x+y+2z=6,x+3y+2z=-6,x+y+z=1} \]%

\[ \sysautonum*{\stepcounter{equation}\hbox{(\theequation)}}
\systeme{3x+y+2z=6,x+3y+2z=-6,x+y+z=1} \]

\begin{equation}
  a + c = b +d
\end{equation}

\end{document}

在此处输入图片描述

相关内容