Как использовать \cases в классе документа iopart

Как использовать \cases в классе документа iopart

iopart.clsКласс документа iopart определяет в файле следующее:

\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, которое, в свою очередь, по сути такое же, как в простом TeX.

Кстати, такие команды, как \rmи \bfустарели и считаются неактуальными уже почти три десятилетия.

Есть очень простой способ загрузить amsmathвместе с iopart. Я также воспользуюсь трюком, чтобы сравнить результат iopart's \casesи amsmath's 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в личных целях. Есть несколько других классов, которым не нужны трюки, чтобы использовать базовые инструменты для набора математики.

Связанный контент