![如何在 iopart 文档类中使用 \cases](https://linux22.com/image/448682/%E5%A6%82%E4%BD%95%E5%9C%A8%20iopart%20%E6%96%87%E6%A1%A3%E7%B1%BB%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5Ccases.png)
iopart 文档类在iopart.cls
文件中定义以下内容
\def\cases#1{%
\left\{\,\vcenter{\def\\{\cr}\normalbaselines\openup1\jot\m@th%
\ialign{\strut$\displaystyle{##}\hfil$&\tqs
\rm##\hfil\crcr#1\crcr}}\right.}%
amsmath
这是的环境的替代品吗cases
?我该如何使用它?该定义未出现在文件中的其他地方。
如何手动实现案例环境的问题已经被问过这里。考虑到该帖子的年限,我想知道这是否仍然是必需的。
答案1
此定义\cases
(不是环境)是对 LaTeX 内核中的定义进行修改,而 LaTeX 内核中的定义本质上与纯 TeX 中的定义相同。
顺便说一句,诸如\rm
和之类的命令\bf
已经过时并且已被弃用了近三十年。
有一种非常简单的方法可以amsmath
与 一起加载iopart
。我还将使用一个技巧来比较和iopart
的结果。\cases
amsmath
cases
\documentclass[10pt]{iopart}
% for using amsmath
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
%%% This is just to compare the results
\let\iopartcases\cases
%%%
\usepackage{amsmath}
\begin{document}
In the following display I'll be using \verb|\cases| as
defined by \verb|iopart| in order to check the differences
\[
f(x)=\iopartcases{1 & abc \\ 0 & uvw}
\]
The following display will use \verb|cases| as defined by
\verb|amsmath| in order to check the differences
\[
f(x)=\begin{cases} 1 & abc \\ 0 & uvw \end{cases}
\]
Now we can decide which one to use.
\end{document}
如果您喜欢这种方式iopart
,您可以定义一个iopcases
环境(我不会覆盖amsmath
它)。
\documentclass[10pt]{iopart}
% for using amsmath
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
%%% This is just to compare the results
\let\iopartcases\cases
%%%
\usepackage{amsmath}
\usepackage{mathtools}
\makeatletter
\newcases{iopcases}{\tqs}
{$\m@th\displaystyle##$\hfil}
{##\hfil}
{\lbrace}
{.}
\makeatother
\begin{document}
In the following display I'll be using \verb|\cases| as
defined by \verb|iopart| in order to check the differences
\[
f(x)=\iopartcases{1 & abc \\ 0 & uvw}
\]
The following display will use \verb|iopcases| as defined
above in order to check the differences
\[
f(x)=\begin{iopcases} 1 & abc \\ 0 & uvw \end{iopcases}
\]
Now we can decide which one to use.
\end{document}
您想要像那样的狭窄空间iopart
吗?更改为
\makeatletter
\newcases{iopcases}{\tqs}
{$\m@th\displaystyle\,##$\hfil}
{##\hfil}
{\lbrace}
{.}
\makeatother
你会得到
我不会将其用于iopart
私人目的。还有其他几个课程不需要技巧就可以使用基本工具来排版数学。