将系统包中的编号放在左侧

将系统包中的编号放在左侧

我怎样才能将系统包中的编号放在左边而不是右边?

以下示例中的“天真”方法是行不通的。

\documentclass{article}

\usepackage{systeme}
\begin{document}
\sysdelim..

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}

% This doesn't work:
% \systeme{
% \mathrm{I} @ 2x + 3y = 4,
% \mathrm{II} @ -x + 7y = -1
% }

\end{document}

答案1

这里有一个解决方法,我们可以改变编号的位置,默认编号\syscodeextracol
是从等式末尾\syscodeextracol{\kern1.5em$}{$}算起,两个编号放在数学模式中。根据等式的长度,我们可以使用负空间改变编号的位置。1.5em$

\documentclass{article}
\usepackage{systeme}


\begin{document}

\sysdelim..

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}

\bigskip
\syscodeextracol{\kern-8.5em\hfill$}{$\kern8.5em}

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}

\bigskip
\syscodeextracol{\kern1.5em$}{$}% return to default

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}


\end{document}

在此处输入图片描述

更新 1

为了简化代码,我们可以创建两个命令\rightnum{width of equation}\leftnum在右侧和左侧的编号之间切换。

\documentclass{article}
\usepackage{systeme}

\newcommand{\rightnum}[1]{\syscodeextracol{\kern-#1\hfill$}{$\kern#1}}
\newcommand{\leftnum}{\syscodeextracol{\kern1.5em$}{$}}% return to default

\begin{document}

\sysdelim..

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}

\bigskip
\rightnum{8.5em}

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}

\bigskip
\leftnum

\systeme{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II} 
}


\end{document}

更新 2

您可以将包含整个方程组的框的宽度定义为负空间的长度,
在这种情况下,您不需要手动输入任何空格来左对齐编号。

在这里,我们使用命令在左侧编号\systemeL,使用命令在右侧编号\systeme

\documentclass{article}

\usepackage{systeme}
\newlength{\systemewd}

\newcommand\systemeL[2][]{
\settowidth{\systemewd}{\systeme{#2}}
\syscodeextracol{\kern-\systemewd\hfill$}{$\kern\systemewd}
\systeme [#1]{#2}
\syscodeextracol{\kern1.5em$}{$}}


\begin{document}

\sysdelim..

\systemeL{
2x + 3y + 4z = 4 @ \mathrm{I},
-x + 7y - 6z = -1 @ \mathrm{II}, 
3x +  y - 2z = 3 @ \mathrm{III}
}

\bigskip

\systeme{
2x + 3y + 4z = 4 @ \mathrm{I},
-x + 7y - 6z = -1 @ \mathrm{II}, 
3x +  y - 2z = 3 @ \mathrm{III}
}

\bigskip

\systemeL[yx]{
2x + 3y = 4 @ \mathrm{I},
-x + 7y = -1 @ \mathrm{II}
}

\end{document}

在此处输入图片描述

相关内容