系统中显示系统

系统中显示系统

我是这个包的新手systeme。我正在阅读手动的去了解它,但不幸的是它是用法语写的。我想排版以下内容

在此处输入图片描述

我能想到的最好的方法是以下代码

\syscodeextracol{\kern 2.5em }{}
 \sysextracolsign{|}\sysdelim{\{}{|}\systeme{3x+7y=1 | 5,
        5x-8y=-18  |(-3)}

这显然不是我想要的。完整的 MWE 如下:

\documentclass[12pt]{standalone}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{systeme}

\begin{document}

\syscodeextracol{\kern 2.5em }{}
 \sysextracolsign{|}\sysdelim{\{}{|}\systeme{3x+7y=1 | 5,
        5x-8y=-18  |(-3)}

\end{document}

有什么建议么?

答案1

\systeme连续指令怎么样?

在此处输入图片描述

块之间所需的字距调整量\systeme取决于字体大小以及所使用的数学和文本字体。对于 Computer Modern 和 12pt 文档字体大小,\kern-26pt看起来“差不多”。如果要加载newtxtextnewtxmath字体包,那么\kern-22pt“差不多”。

\documentclass[12pt,border=1pt]{standalone}
\usepackage{systeme}

\begin{document}

 \sysdelim{\{}{|}
 \systeme{ 3x+7y=1 , 5x-8y=-18 }
 \kern-26pt % kerning amount obtained by trial and error :-)
 \sysdelim{.}{.} \sysalign{l,l}
 \systeme{ \cdot 5 , \cdot(-3) }

\end{document}

答案2

您可以将其设置为array

在此处输入图片描述

\documentclass{article}

\begin{document}

\[
  \left\{\begin{array}{ @{} r @{} l | l @{} }
    3x + 7y ={} &   1 & \cdot 5    \\[\jot]
    5x - 8y ={} & -18 & \cdot (-3)
  \end{array}\right.
\]

\end{document}

答案3

虽然不是完全自动化的,但输入也不难:您可以\tr在顶行、\mr中间行和\br底行中使用。

如果出现异常高的行,则每个命令都采用可选参数来表示额外的深度(英寸\tr)、额外的高度(英寸\br)以及额外的高度和深度(英寸)。\mr

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{systeme}

\newcommand{\tr}[1][0pt]{%
  \smash{%
    \vrule height \ht\strutbox depth \dimexpr\dp\strutbox+0.5ex+#1\relax
  }%
}
\newcommand{\mr}[1][0pt]{%
  \smash{
    \vrule height \dimexpr\ht\strutbox+0.5ex+#1\relax depth\dimexpr\dp\strutbox+0.5ex+#1\relax
  }%
}
\newcommand{\br}[1][0pt]{%
  \smash{
    \vrule height \dimexpr\ht\strutbox+0.5ex+#1\relax depth\dp\strutbox
  }%
}

\begin{document}

\[
\syscodeextracol{\kern 0.5em $}{$}
\sysextracolsign{|}
\systeme{
  3x+7y=1   |\tr \cdot 5,
  5x-8y=-18 |\br \cdot (-3)
}
\]

\[
\syscodeextracol{\kern 0.5em $}{$}
\sysextracolsign{|}
\systeme{
  3x+7y+z=1   |\tr \cdot 5,
  5x-8y-z=-18 |\mr \cdot (-3),
  2x+y+z=2    |\br
}
\]

\end{document}

在此处输入图片描述

一种不同的方法,您可以独立添加额外的高度和深度,并设置默认的垂直分离。

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{systeme}

\ExplSyntaxOn

\keys_define:nn { tolaso/sysrules }
 {
  t .bool_set:N = \l__tolaso_sysrules_top_bool,
  b .bool_set:N = \l__tolaso_sysrules_bot_bool,
  m .code:n = \keys_set:nn { tolaso/sysrules } { t,b },
  h .dim_set:N = \l__tolaso_sysrules_extra_height_dim,
  d .dim_set:N = \l__tolaso_sysrules_extra_depth_dim,
  s .dim_set:N = \l__tolaso_sysrules_default_sep_dim,
 }

\NewDocumentCommand{\SEP}{m}
 {
  \group_begin:
  \keys_set:nn { tolaso/sysrules } { s=0.5ex, #1 }
  \__tolaso_sysrules_make:
  \group_end:
 }

\cs_new_protected:Nn \__tolaso_sysrules_make:
 {
  \smash
   {
    \vrule
      height \dim_eval:n {
       \ht\strutbox + \l__tolaso_sysrules_extra_height_dim
       \bool_if:NF \l__tolaso_sysrules_top_bool { + \l__tolaso_sysrules_default_sep_dim }
      }
      depth \dim_eval:n { 
       \dp\strutbox + \l__tolaso_sysrules_extra_depth_dim
       \bool_if:NF \l__tolaso_sysrules_bot_bool { + \l__tolaso_sysrules_default_sep_dim }
      }
   }
 }

\ExplSyntaxOff

\begin{document}

\[
\syscodeextracol{\kern 0.5em $}{$}
\sysextracolsign{|}
\systeme{
  3x+7y=1   |\SEP{t} \cdot 5,
  5x-8y=-18 |\SEP{b} \cdot (-3)
}
\]

\[
\syscodeextracol{\kern 0.5em $}{$}
\sysextracolsign{|}
\systeme{
  3x+7y+z=1   |\SEP{t} \cdot 5,
  5x-8y-z=-18 |\SEP{} \cdot (-3),
  2x+y+z=2    |\SEP{b}
}
\]
\[
\syscodeextracol{\kern 0.5em $}{$}
\sysextracolsign{|}
\systeme{
  3x+7y+z=1   |\SEP{t} \cdot 5,
  5x-8y-z=-{\displaystyle\sum_{k=1}^n k} |\SEP{h=0.8ex,d=0.8ex} \cdot (-3),
  2x+y+z=2    |\SEP{b}
}
\]

\end{document}

为了统一,可以说\SEP{m}为中间一行,而不是\SEP{}

在此处输入图片描述

相关内容