알고리즘 코드 너비 문제

알고리즘 코드 너비 문제

아래와 같이 작성한 알고리즘의 폭에 문제가 있어서 좀 더 좋은 방법으로 작성해야 하는데 안되네요 도움좀 부탁드립니다.

여기에 이미지 설명을 입력하세요

이것은 내 코드입니다.

  \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$로 설정되는데 이는 정확합니다. 단 , 기호/변수 , , , , , 의 곱셈으로 설정되지 는 않습니다 . 대신에 다음과 같은 것을 사용하십시오 . 다음 예제에서는 수동으로 줄 바꿈 및 들여쓰기를 사용하여 이 작업을 수행했습니다 .xyz$SpkReal$SpkReal\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}

관련 정보