알고리즘 루프 내에서 들여쓰기 크기를 줄이는 방법

알고리즘 루프 내에서 들여쓰기 크기를 줄이는 방법

다음 알고리즘의 경우 루프 내부의 각 텍스트 줄에 대해 4개의 공백을 얻습니다. 어떻게 2~3자리만 확보할 수 있나요? 내 텍스트 줄 중 일부는 다음 줄로 이동합니다. 수평 공간을 절약하고 싶습니다.

\usepackage[noline,boxruled,commentsnumbered,linesnumbered,titlenumbered]{algorithm2e}

\IncMargin{0.5em}
\begin{algorithm}
\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
\SetKwFor{Foreach}{for each}{do}{endfor}
\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif}
\BlankLine
\Input{A method \emph{m}}
\Output{result}
\BlankLine
\Foreach { $x \in M_{x}$}{
 do something
}
\caption{Algorithm}\label{Method}
\end{algorithm}

답변1

사용

\SetInd{<space before>}{<space after>}

수직 눈금자 앞과 뒤의 간격을 제어합니다(해당 noline옵션을 통해 비활성화됨). 다음은 기본 설정과 다음 설정을 비교한 것입니다 \SetInd{0.25em}{0.1em}.

여기에 이미지 설명을 입력하세요

암호:

\documentclass{article}
\usepackage[noline,boxruled,commentsnumbered,linesnumbered,titlenumbered]{algorithm2e}

\IncMargin{0.5em}
\begin{document}
\noindent
Without setting \verb|\SetInd{}{}|: 
\begin{algorithm}
\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
\SetKwFor{Foreach}{for each}{do}{endfor}
\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif}
\BlankLine
\Input{A method \emph{m}}
\Output{result}
\BlankLine
\Foreach { $x \in M_{x}$}{
 do something
}
\caption{Algorithm}\label{Method}
\end{algorithm}

\noindent
With \verb|\SetInd{0.25em}{0.1em}|:
\SetInd{0.25em}{0.1em}
\begin{algorithm}
\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
\SetKwFor{Foreach}{for each}{do}{endfor}
\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif}
\BlankLine
\Input{A method \emph{m}}
\Output{result}
\BlankLine
\Foreach { $x \in M_{x}$}{
 do something
}
\caption{Algorithm}\label{Method}
\end{algorithm}
\end{document}

관련 정보