我是这个包的新手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
看起来“差不多”。如果要加载newtxtext
和newtxmath
字体包,那么\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
答案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{}
。