我想在算法环境中有一个彩色框。我在环境tcolorbox
中使用algorithm
。结果如下所示。我使用before skip balanced=-0.075cm
和after skip balanced=-0.075cm
选项删除彩色框与顶部和底部规则之间的空白。令人惊讶的是,这只适用于底部规则,而不适用于顶部规则。如您所见,彩色框和顶部规则之间有一个空白间隙。我想知道是否有一个好方法来处理这个问题?
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage[most]{tcolorbox}
\usepackage{setspace}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont{Persian Modern}
\setdigitfont{Persian Modern}
\setlatintextfont[Scale=0.9]{TeX Gyre Heros}
\algnewcommand{\LineComment}[1]{\State {\color{ForestGreen} \(\triangleright\) #1}}
\newcommand\norm[1]{\lVert#1\rVert}
\newtcolorbox{algBox}{sharp corners, before skip balanced=-0.075cm, after skip balanced=-0.075cm, boxrule=0pt, frame hidden}
\begin{document}
الگوریتم ناحیهی اعتماد یک روش برای حل مسالههای بهینهسازی نامقید است. جزییات آن در الگوریتم \ref{alg:tr:classic} آمده است.
\begin{algorithm}[b!]
\caption{الگوریتم ناحیهی اعتماد کلاسیک}
\label{alg:tr:classic}
\begin{algBox}
\begin{latin}
\setstretch{1}
\hspace*{\algorithmicindent} \textsc{Classic-Trust-Region}($f$, $\mathbf{x}_0$):
\begin{algorithmic}[1]
\LineComment{Initialization}
\State Set maximum value for trust region radius $\Delta_{\max} > 0$
\State Set an initial trust region radius $\Delta_0 \in (0, \Delta_{\max})$
\State Set $\eta \in [0, \frac{1}{4}]$
\end{algorithmic}
\end{latin}
\end{algBox}
\end{algorithm}
\end{document}
答案1
使用before=\vspace*{-0.075cm}
而不是before skip balanced=-0.075cm
。另一种方法是添加\usepackage[skip=0cm]{caption}
到前言中。