我遇到了以下问题:我正在使用 algorithm2e 编写几个算法。我有许多较长的 if 语句和较长的 if 条件。这些行已断开,但新行未正确缩进:
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\KwInput{Parameters...}
\KwOutput{$\emptyset$}
\If{the lines through $x_{1}, x_{2}$ and $y_{1}, y_{2}$ intersect in a single point $z$
which lies on the circle $C$
}
{
Do something \;
}
\caption{Algoritm test...}
\end{algorithm}
\end{document}
我可以使用 \ 在某些位置强制换行,但这也不能解决缩进问题。我看到了这里提供的解决方案:如何使用 algorithm2e 在条件下断行?
但我不明白代码中发生了什么,我无法重现我的问题的结果。我该如何正确缩进代码(是否可以使用类似 mbox 的东西?)?
答案1
对我而言,效果与描述一致https://tex.stackexchange.com/a/101023。如果这是你想要的,我们应该将其作为重复关闭。如果不是,你必须更好地解释你想要什么,你尝试过什么,以及你在哪里遇到了困难。
% arara: pdflatex
\documentclass{article}
\usepackage{algorithm2e}
\SetKwInput{KwInput}{Input} % just a guess
\SetKwInput{KwOutput}{Output} % just a guess
\usepackage{showframe} % for demonstration
\usepackage{microtype}
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\KwInput{Parameters...}
\KwOutput{$\emptyset$}
\If{the lines through $x_{1}, x_{2}$ and $y_{1}, y_{2}$ intersect in a single point $z$ which lies\\
\mbox{}\phantom{\textbf{if}} on the circle $C$
}
{
Do something;
}
\caption{Algoritm test...}
\end{algorithm}
\end{document}