我正在使用systeme
包来创建一个方程组。我还使用mtpro2
数学符号包。
当我想创建一个带有花括号的 2x2 系统时,使用命令 就可以正常工作\sysdelim\{.
。但是,在 3x3 系统或更高版本中,花括号似乎看起来不一样。
\documentclass[b5paper,11pt]{article}
\usepackage{pgfplots}
\usepackage{psfrag}
\usepackage{amsmath}
\usepackage{mtpro2}
\usepackage{calc}
\usepackage{systeme}
\begin{document}
\sysdelim\{.\systeme{2x+3y=5,x-4y=-3\quad}
\sysdelim\{.\systeme[xzy]{2x+3y-z=5,x+2z-4y=-3,x+y=2}
\end{document}
我怎样才能使第二个支架看起来像第一个?
EDIT 2020 - 2020 年 10 月 4 日更新后 TeXLive 出现问题
我刚刚将 TeXLive 发行版更新为 TexLive 2020,并尝试使用 egreg 在其回答的第二部分推荐的补丁运行相同的代码。显然有一个新问题
LaTeX3 错误:'\msg_term:n' 已于 2020-01-01 弃用。请使用 '\iow_term:n '。{}{}
我到底应该在哪里替换该代码?
答案1
如果您不想要那些讨厌的花括号,请使用以下选项加载包straightbraces
:
\documentclass[b5paper,11pt]{article}
\usepackage{amsmath}
\usepackage[lite,straightbraces]{mtpro2} % lite because I only have that
\usepackage{systeme}
\begin{document}
\[
\systeme{2x+3y=5,x-4y=-3}
\quad
\systeme[xzy]{2x+3y-z=5,x+2z-4y=-3,x+y=2}
\]
\end{document}
请注意,这\sysdelim\{.
是默认设置。
如果您喜欢使用麻烦的括号,则必须使用\LEFTRIGHT
,因此必须遵循间接路径:
\documentclass[b5paper,11pt]{article}
\usepackage{amsmath}
\usepackage[lite]{mtpro2} % lite because I only have that
\usepackage{systeme,xparse}
\NewDocumentCommand{\csysteme}{som}{%
\LEFTRIGHT\{.{%
\sysdelim..
\IfBooleanTF{#1}
{\IfNoValueTF{#2}{\systeme*{#3}}{\systeme*[#2]{#3}}}
{\IfNoValueTF{#2}{\systeme{#3}}{\systeme[#2]{#3}}}%
}%
}
\begin{document}
\[
\csysteme{2x+3y=5,x-4y=-3}
\quad
\csysteme[xzy]{2x+3y-z=5,x+2z-4y=-3,x+y=2}
\]
\end{document}
使用补丁可以避免改变语法;其思想是使用\LEFTRIGHT
ofmtpro2
而不是\left
and \right
。
\documentclass[b5paper,11pt]{article}
\usepackage{amsmath}
\usepackage[lite]{mtpro2}
\usepackage{systeme,regexpatch}
\makeatletter
% change the definition of \sysdelim not to store `\left` and `\right`
\def\sysdelim#1#2{\def\SYS@delim@left{#1}\def\SYS@delim@right{#2}}
\sysdelim\{. % reinitialize
% patch the internal command to use
% \LEFTRIGHT<left delim><right delim>{<system>}
% instead of \left<left delim<system>\right<right delim>
\regexpatchcmd\SYS@systeme@iii
{\cB.\c{SYS@delim@left}(.*)\c{SYS@delim@right}\cE.}
{\c{SYS@MT@LEFTRIGHT}\cB\{\1\cE\}}
{}{}
\def\SYS@MT@LEFTRIGHT{%
\expandafter\expandafter\expandafter\LEFTRIGHT
\expandafter\SYS@delim@left\SYS@delim@right}
\makeatother
\begin{document}
\[
\systeme{2x+3y=5,x-4y=-3}
\quad
\systeme[xzy]{2x+3y-z=5,x+2z-4y=-3,x+y=2}
\]
\end{document}