Problem mit der Algorithmuscodebreite

Problem mit der Algorithmuscodebreite

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?

Bildbeschreibung hier eingeben

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:xyz$SpkReal$SpkReal\textrm{SpkReal}\algvar

Bildbeschreibung hier eingeben

\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}

verwandte Informationen