Nicht nummerierte Zeilen im Algorithmus

Nicht nummerierte Zeilen im Algorithmus

Meine Frage ist ähnlich wieDieses hier, ich muss die Nummerierung für einige Zeilen des Algorithmus überspringen. Die Lösung aus dieser Frage funktioniert bei mir jedoch nicht. Wie kann ich mit dem algorithmicPaket die Nummerierung für einige Zeilen deaktivieren?

Folgendes habe ich versucht:

\documentclass{article}
\usepackage{algorithmic} 
\usepackage{algorithm} 

\def\NoNumber#1{{\def\alglinenumber##1{}\State #1}\addtocounter{ALG@line}{-1}}
\begin{document}

\begin{algorithmic}[1]
\STATE Compute $Pr(X_i < x)$ and $Pr(x < X_i)$ for all $i = 1, \dots, M$ and
\FOR {$i = 1, \dots, n$}
\STATE with a number
\NoNumber{ without number}
\ENDFOR
\end{algorithmic}

\end{document}

Antwort1

Eine Möglichkeit wäre die Verwendung der vielseitigerenalgorithmicxPaket mit seinem algcompatibleFormat (das Ihnen die Verwendung von Syntax ermöglicht ); Sie können für nicht nummerierte Zeilen Folgendes algorithmicverwenden :\STATEx

\documentclass{article}
\usepackage{algcompatible}

\begin{document}

\begin{algorithmic}[1]
\IF{some condition is true}
\STATE do some processing
\ELSIF{some other condition is true}
\STATEx do some different processing
\ELSIF{some even more bizarre condition is met}
\STATEx do something else
\ELSE
\STATE do the default actions
\ENDIF
\end{algorithmic}

\end{document}

Bildbeschreibung hier eingeben

Natürlich algcompatiblewurde die Verwendung von nur dann vorgeschlagen, wenn Sie Ihre Algorithmen bereits mit der algorithmicSyntax geschrieben haben und ohne größere Komplikationen zu wechseln möchten algorithmicx. Wenn Sie gerade erst mit dem Schreiben Ihrer Algorithmen beginnen, verwenden Sie algpseudocodestattdessen von Anfang an das Format:

\documentclass{article}
\usepackage{algpseudocode}

\begin{document}

\begin{algorithmic}[1]
\If{some condition is true}
\State do some processing
\ElsIf{some other condition is true}
\Statex do some different processing
\ElsIf{some even more bizarre condition is met}
\Statex do something else
\Else
\State do the default actions
\EndIf
\end{algorithmic}

\end{document}

Antwort2

Fügen Sie für den Zeilenumbruch eine leere Zeile ein und schreiben Sie dann in die nächste Zeile, was Sie möchten:

\documentclass{article}
\usepackage{algorithmic} 
\usepackage{algorithm} 

\def\NoNumber#1{{\def\alglinenumber##1{}\State #1}\addtocounter{ALG@line}{-1}}
\begin{document}

\begin{algorithmic}[1]
\STATE Compute $Pr(X_i < x)$ and $Pr(x < X_i)$ for all $i = 1, \dots, M$ and
\FOR {$i = 1, \dots, n$}
\STATE with a number

without number
\ENDFOR
\end{algorithmic}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen