У меня возникла проблема с шириной алгоритма, который я написал, как показано ниже, и мне нужно написать его лучше, но я не могу. Кто-нибудь может помочь?
Вот мой код:
\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}
решение1
Вы устанавливаете всю строку как встроенную математику, которая разрывается только в определенных местах (операторы и отношения). И это будет происходить только в том случае, если штраф за разрыв не слишком высок. В вашем случае (исходя из ширины строки и размера шрифта) штраф, вероятно, слишком высок, поэтому нет подходящей точки разрыва.
Независимо от этого, ваше использование текста и математики неверно. Внутренне $xyz$
установлено как " 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}