fbox 没有产生预期的输出

fbox 没有产生预期的输出

由于我在文档中使用算法包的算法时遇到了一些问题(由于使用 xepersian),我决定将算法改为图形。因此,在下面的 MWE 中,我尝试使算法看起来像它应该的样子,但我定义的边框没有按预期显示,项目符号也显示出来。(见输出图像)

\documentclass[a4paper,12pt]{report}
\usepackage{amsthm,amssymb,amsmath}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{mathtools} 
\usepackage{titlesec}
\usepackage{xepersian}
 %\usepackage{./styles/tempfix}
\settextfont[Scale=1.1]{B Nazanin}
\defpersianfont\nastaliq[Scale=2]{IranNastaliq}
\defpersianfont\titr[Scale=1]{B Titr}
\defpersianfont\traffic[Scale=1]{B Traffic}
\deflatinfont\calibri{Calibri}

\begin{document}
    % News Commands
    \newsavebox\mybox
    \newenvironment{myfbox}{%
    \begin{lrbox}{\mybox}%
    \begin{minipage}{\dimexpr(\textwidth-2\fboxsep-2\fboxrule)}
    }{%
    \end{minipage}
    \end{lrbox}%
    \vskip10pt
    \noindent
    \fbox{\usebox\mybox}%
    \vskip10pt
    }
    \newenvironment{myshadowbox}{%
    \begin{lrbox}{\mybox}%
    \begin{minipage}{\dimexpr(\textwidth-2\fboxsep-2\fboxrule-\shadowsize)}
    }{%
    \end{minipage}
    \end{lrbox}%
    \vskip10pt
    \noindent
    \shadowbox{\usebox\mybox}%
    \vskip10pt
    }
\begin{figure}[t]
\begin{myfbox}
\begin{itemize}
    \item \textbf{هدف: }  محاسبه‌ی نمایش تُنُک $y$ برحسب اتم‌های $D$
    \item \textbf{مقداردهی اولیه:} $r^0=y$ و $x^0=0$
    \item \textbf{شروع الگوریتم:}  قرار بده $k=1$ و گام‌های زیر را تا رسیدن به شرط توقف انجام بده:
    \begin{enumerate}
    \item محاسبه‌ی همبستگی اتم‌ها با باقی‌مانده: $c^k=D^T r^{k-1}$
    \item انتخاب بهترین اتم: $i^k=\arg\max_i |c_i^k|$
    \item به‌روز کردن نمایش تُنُک: $x_{i^k}^k=x_{i^k}^{k-1}+c_{i^k}^k$
    \item به‌روز کردن باقی‌مانده: $r^k=r^{k-1}-c_{i^k}^k d_{i^k}$
    \item چک کردن شرط توقف: اگر شرط توقف برآورده نشده است، قرار بده $k=k+1$ و برگرد به گام 1
    \end{enumerate}
    \item \textbf{خروجی:} $x^k$
\end{itemize}
\end{myfbox}
\caption{الگوریتم جستجوی تطابق \lr{(MP)}.}
\label{fig: mp}
\end{figure} 
\end{document} 

那么,我做错了什么? 在此处输入图片描述

答案1

在此处输入图片描述

只需添加这样的\leavevmode定义\myfbox

\newsavebox\mybox
\newenvironment{myfbox}{%
\begin{lrbox}{\mybox}%
\begin{minipage}{\dimexpr(\textwidth-2\fboxsep-2\fboxrule)}
\leavevmode}{%
\end{minipage}
\end{lrbox}%
\vskip10pt
\noindent
\fbox{\usebox\mybox}%
\vskip10pt
}

相关内容