Mdframed 带有 LuaTex + Babel + Urdu 的错误

Mdframed 带有 LuaTex + Babel + Urdu 的错误

我最近将乌尔都语从 XeTex 换成了 LuaTeX (Texlive 2022),总体来说一切顺利。但是,mdframed 似乎有一个错误(在 XeTeX 中我从未遇到过这种情况):

    \documentclass[fontsize=12pt]{scrbook}
    \usepackage[a6paper,left=1cm, right=1cm, bottom=1.2cm, top=1.5cm]{geometry} 
    \usepackage[dvipsnames,svgnames,x11names]{xcolor}
    \usepackage[framemethod=tikz]{mdframed}
    \mdfdefinestyle{rightbar}{leftmargin=0cm,rightmargin=0cm, topline=false,bottomline=false,rightline=false, leftline=true,align=right}
    \mdfsetup{linecolor=black, linewidth=2pt,backgroundcolor=green}

    \usepackage[english,bidi=basic]{babel}
    \babelprovide[import,main]{urdu}
    \babelfont[urdu]{}{AwamiNastaliq}
    \babelfont[english]{rm}{Source Serif Pro}

    \usepackage{fontspec}

    \setmainfont[Renderer=Graphite,RawFeature={Short forms=All}]{AwamiNastaliq}

    \begin{document}

    \begin{mdframed}[style=rightbar]
    جاتے ہیں اِس راستے پر۔ کیا کریں؟
    \end{mdframed}

    \end{document}

在这个例子中,如果 leftline=true,它会显示在右侧,并且整个框架会出现在它的右侧。

有解决方法吗?

答案1

我建议改用 tcolorbox。它功能更强大,更重要的是它得到了积极维护。因此,如果 bidi 出现问题,则更有机会得到纠正。它layout=graphics似乎适用于您的示例(我没有尝试微调布局和纠正边框长度):

\documentclass[fontsize=12pt]{scrbook}
    \usepackage[a6paper,left=1cm, right=1cm, bottom=1.2cm, top=1.5cm]{geometry}
    \usepackage[dvipsnames,svgnames,x11names]{xcolor}
    
    \usepackage[most]{tcolorbox}
    \usepackage[framemethod=tikz]{mdframed}
    \mdfdefinestyle{rightbar}{leftmargin=0cm,rightmargin=0cm, topline=false,bottomline=false,rightline=false, leftline=true,align=right}
    \mdfsetup{linecolor=black, linewidth=2pt,backgroundcolor=green}

    \usepackage[english,bidi=basic,layout=graphics]{babel}
    \babelprovide[import,main]{urdu}

    \usepackage{fontspec}
    \setmainfont[Renderer=HarfBuzz]{Noto Nastaliq Urdu}

    \begin{document}

    \begin{mdframed}[style=rightbar]
    جاتے ہیں اِس راستے پر۔ کیا کریں؟
    \end{mdframed}

    \begin{tcolorbox}[colback=green,enhanced,frame hidden,borderline west={4pt}{0pt}{black},sharp corners]
    جاتے ہیں اِس راستے پر۔ کیا کریں؟
    \end{tcolorbox}
    
     
    \end{document}

在此处输入图片描述

相关内容