¿Cómo crear un entorno "o" especial?

¿Cómo crear un entorno "o" especial?

Me gustaría crear un entorno que estuviera formado por una línea vertical a la izquierda y una "o" automática insertada en cada salto de línea. Su propósito sería en un contexto matemático.

Se vería así:

modelo

Respuesta1

Puede utilizar el tcolorboxpaquete para crear un entorno que cree una línea vertical.

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Podrías usar un entorno similar a una matriz y agregar eloantes de cada elemento que no sea el primero, no está muy limpio pero funciona.

    \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}

Respuesta3

Encontré una solución por mi cuenta:

\documentclass[a4paper]{article}

\newenvironment{ouenv}
{\left\lvert\begin{array}{l}}
{\end{array}\right.}

\begin{document}
\[\begin{ouenv}G\text{ abélien} \\ \text{ou} \\ I=\ensvide\end{ouenv}\]
\end{document}

Da el siguiente resultado:

resultado

(El texto está en francés pero no importa)

Respuesta4

Con la ayuda de un compañero de clase, pude crear una nueva solución que se parece aún más a lo que quería originalmente. Utiliza un comando en lugar de un entorno, ¡pero es mucho mejor!

Aquí está el código:

\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}}

Se puede utilizar de forma muy sencilla de la siguiente manera:

\[\orenv{G\text{ abélien} \\ I=\ensvide}\]

información relacionada