Problema al usar el "paquete mdframed" para crear un marco de lema

Problema al usar el "paquete mdframed" para crear un marco de lema

he cambiado elambiente lemamuestra dentro delmdframedpaquete para crear unentorno de ejemplo. Estoy escribiendo en idioma persa (que tiene dirección RTL) usando el paquete XePersian. El problema que tengo es que la primera letra de la frase no aparece en el archivo PDF final compilado. Por ejemplo, la oración comienza con "برای", pero en el resultado final aparece como "رای", que se muestra en un rectángulo rojo en la siguiente foto. Le agradecería que me ayudara a encontrar mi error. El código que estoy usando es el siguiente:

\documentclass[a4paper,11pt,aleqn]{article}
\usepackage{amsmath, mathtools}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Niloofar}
\setlatintextfont[Scale=1]{XB Niloofar}
\setdigitfont[Scale=0.85]{Yas}


%Lemma
\newcounter{example}[section] \setcounter{example}{0}
\renewcommand{\theexample}{\arabic{example}.\arabic{section}}
\newenvironment{example}[2][]{%
    \refstepcounter{example}%
    \ifstrempty{#1}%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,rectangle,fill=red!20]
                {\strut \theexample~{مثال}};}}
    }%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,rectangle,fill=blue!20]
                {\strut 
                    ~#1
                    :\theexample
                    ~مثال
                };}}%
    }%
    \mdfsetup{innertopmargin=5pt,roundcorner=10pt,backgroundcolor=gray!10,linecolor=green!20,linewidth=2pt,topline=true,        frametitleaboveskip=\dimexpr-\ht\strutbox\relax
    }
    \begin{mdframed}[]\relax%
        \label{#2}}{\end{mdframed}}


\title{\textbf{روش‌های جبران‌سازی}}
\date{}
\author{نویسنده }


\begin{document}
\maketitle

    
    
\section{تبدیلات ریاضی
        }
    تبدیل فوریه یک تبدیل از زمان به فرکانس است.
\begin{example}[فوریه]
برای محاسبه تبدیل فوریه  .....

\end{example}

\end{document}

Foto de muestra de la salida.

Respuesta1

Creo que el resultado no deseado se debe a que tiene dos argumentos en su exampleentorno e ingresó solo un argumento y el sistema selecciona automáticamente la primera letra de su texto como segundo argumento. Para más detalles leaesta publicación de desbordamiento de pila.

De todos modos, deberías utilizar tu nuevo entorno de la siguiente manera:

\begin{example}[فوریه]{second rags} %it is not optional and it is a label for this env.
برای محاسبه تبدیل فوریه  .....

\end{example}

y puedes hacer referencia en tu texto a este ejemplo mediante \ref{second arg}. Puede eliminar este segundo argumento modificándolo de la siguiente manera:

\newenvironment{example}[1][]{%
    \refstepcounter{example}%
    \ifstrempty{#1}%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,rectangle,fill=red!20]
                {\strut \theexample~{مثال}};}}
    }%
    {\mdfsetup{%
            frametitle={%
                \tikz[baseline=(current bounding box.east),outer sep=0pt]
                \node[anchor=east,rectangle,fill=blue!20]
                {\strut 
                    ~#1
                    :\theexample
                    ~مثال
                };}}%
    }%
    \mdfsetup{innertopmargin=5pt,roundcorner=10pt,backgroundcolor=gray!10,linecolor=green!20,linewidth=2pt,topline=true,        frametitleaboveskip=\dimexpr-\ht\strutbox\relax
    }
    \begin{mdframed}[]\relax%
        }{\end{mdframed}}

información relacionada