Tengo un problema en el ancho del algoritmo que escribí como se muestra a continuación y necesito escribirlo de una mejor manera pero no puedo, ¿alguna ayuda?
Este es mi código:
\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}
Respuesta1
Está configurando toda la línea como matemática en línea, que solo se rompe en ubicaciones específicas (operadores y relaciones). Y sólo lo haría si la pena por infringir la norma no es demasiado alta. En su caso (según el ancho de línea y el tamaño de fuente), la penalización probablemente sea demasiado alta, por lo que no existe un punto de interrupción adecuado.
De todos modos, su uso del texto y las matemáticas no es correcto. Internamente, $xyz$
está configurado como " x
multiplicado por y
multiplicado por z
", lo cual es correcto. Sin embargo, no debe $SpkReal$
configurarse como la multiplicación de símbolos/ variables S
, p
, k
, R
, e
y . En su lugar, utilice algo como . He hecho esto en el siguiente ejemplo (en cierto modo mediante ), incluido el uso de algunos saltos de línea y sangrías manuales: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}