Ich habe ein Problem mit der Breite des Algorithmus, den ich wie unten gezeigt geschrieben habe, und ich muss ihn besser schreiben, kann es aber nicht. Kann mir jemand helfen?
Dies ist mein Code:
\begin{algorithmic}
\WHILE{$GenC[i] ! = null$}
\STATE $SpkRealC1 = GetSpikesInfo(GenC[i],RealC[1])$
\STATE $SpkRealC2 = GetSpikesInfo(GenC[i],RealC[2])$
\STATE $SpkRealC3 = GetSpikesInfo(GenC[i],RealC[3])$
\STATE $MappedRealtoGenClass[i] = $
\STATE $MaxSpikeNo(SpkRealC2,SpkRealC2,SpkRealC3)$
\STATE $MappedRealtoGenClassRatio[i]=$
\STATE $MaxSpikeNo(SpkRealC2,SpkRealC2,SpkRealC3)/spikesCount(GenClass[i])$
\ENDWHILE
\end{algorithmic}
Antwort1
Sie legen die gesamte Zeile als Inline-Mathematik fest, die nur an bestimmten Stellen (Operatoren und Beziehungen) umbricht. Und das würde nur passieren, wenn die Strafe für das Umbrechen nicht zu hoch ist. In Ihrem Fall (basierend auf der Zeilenbreite und Schriftgröße) ist die Strafe wahrscheinlich zu hoch, sodass es keinen geeigneten Umbruchpunkt gibt.
Unabhängig davon ist Ihre Verwendung von Text und Mathematik nicht korrekt. Intern wird als " multipliziert mit multipliziert mit " $xyz$
festgelegt , was korrekt ist. Sie müssen jedoch nicht als Multiplikation der Symbole/Variablen , , , , , und festlegen . Verwenden Sie stattdessen etwas wie . Ich habe dies im folgenden Beispiel getan (in gewisser Weise mittels ), einschließlich der Verwendung einiger manueller Zeilenumbrüche und Einrückungen:x
y
z
$SpkReal$
S
p
k
R
e
a
l
\textrm{SpkReal}
\algvar
\documentclass{article}
\usepackage{algorithmic}% http://ctan.org/pkg/algorithmic
\newcommand{\algvar}{\textrm}
\begin{document}
\begin{algorithmic}
\WHILE{$GenC[i] ! = null$}
\STATE $SpkRealC1 = GetSpikesInfo(GenC[i],RealC[1])$
\STATE $SpkRealC2 = GetSpikesInfo(GenC[i],RealC[2])$
\STATE $SpkRealC3 = GetSpikesInfo(GenC[i],RealC[3])$
\STATE $MappedRealtoGenClass[i] = $
\STATE $MaxSpikeNo(SpkRealC2,SpkRealC2,SpkRealC3)$
\STATE $MappedRealtoGenClassRatio[i]=$
\STATE $MaxSpikeNo(SpkRealC2,SpkRealC2,SpkRealC3)/spikesCount(GenClass[i])$
\ENDWHILE
\end{algorithmic}
\begin{algorithmic}
\WHILE{$\algvar{GenC}[i] \neq \algvar{null}$}
\STATE $\algvar{SpkRealC}_1 = \algvar{GetSpikesInfo}(\algvar{GenC}[i],\algvar{RealC}[1])$
\STATE $\algvar{SpkRealC}_2 = \algvar{GetSpikesInfo}(\algvar{GenC}[i],\algvar{RealC}[2])$
\STATE $\algvar{SpkRealC}_3 = \algvar{GetSpikesInfo}(\algvar{GenC}[i],\algvar{RealC}[3])$
\STATE $\algvar{MappedRealtoGenClass}[i] = $
\STATE \hspace*{\algorithmicindent}$\algvar{MaxSpikeNo}(\algvar{SpkRealC}_2,\algvar{SpkRealC}_2,\algvar{SpkRealC}_3)$
\STATE $\algvar{MappedRealtoGenClassRatio}[i] = $
\STATE \hspace*{\algorithmicindent}$\algvar{MaxSpikeNo}(\algvar{SpkRealC}_2,\algvar{SpkRealC}_2,\algvar{SpkRealC}_3)/$
\STATE \hspace*{2\algorithmicindent}$\algvar{spikesCount}(\algvar{GenClass}[i])$
\ENDWHILE
\end{algorithmic}
\end{document}