![如何创建一个特殊的“或”环境?](https://linux22.com/image/462351/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%89%B9%E6%AE%8A%E7%9A%84%E2%80%9C%E6%88%96%E2%80%9D%E7%8E%AF%E5%A2%83%EF%BC%9F.png)
答案1
您可以使用该tcolorbox
包来创建一个创建垂直线的环境。
\documentclass[a4paper]{article}
\usepackage[most]{tcolorbox}
% \usepackage{pgfplots}
\newtcolorbox{env}{
enhanced,
breakable, % This make the box breakable
boxrule=0pt,
frame hidden,
borderline west={2pt}{0pt}{black}, % this create the line
colback=white, % The background color,
math upper,
hbox,
center
}
\begin{document}
Text text text
\begin{env}
\int_{-\infty}^{\infty}f(x)\delta(x-a)dx = f(a)
\end{env}
\end{document}
答案2
您可以使用类似数组的环境并添加或者在每个非第一个元素之前,虽然不是很干净,但它有效。
\documentclass[a4paper]{article}
\usepackage{ifthen}
\newcounter{orcounter}
\newenvironment{orlist}{%
\noindent\begin{tabular*}{\textwidth}{|l}
\setcounter{orcounter}{0}
}{%
\end{tabular*}
}
\newcommand{\oritem}[1]{%
\ifthenelse{\equal{\theorcounter}{0}}{\hspace{-1em}}{\\ \textbf{or}\\}
#1\stepcounter{orcounter}
}
% -- Usage Example
\begin{document}
\begin{orlist}
\oritem{example 1}
\oritem{example 2}
\end{orlist}
\end{document}
答案3
答案4
在同学的帮助下,我能够做出一个新的解决方案,它看起来更像我最初想要的。它使用命令而不是环境,但效果要好得多!
以下是代码:
\newcounter{orcounter}
\newenvironment{orlist}
{
\begin{array}{|l}
\setcounter{orcounter}{0}
}
{
\end{array}
}
\newcommand{\oritem}[1]{%
\ifthenelse{\theorcounter<1}{}{\\ \text{ou} \\}#1\stepcounter{orcounter}
}
\NewDocumentCommand{\orenv}{>{\SplitList{\\}}m}{%
\begin{orlist}\ProcessList{#1}{\oritem}\end{orlist}}
可以非常简单地使用它,如下所示:
\[\orenv{G\text{ abélien} \\ I=\ensvide}\]