如何打印
\FOR{$j:=0,\ldots,i-1$}
\STATE{$\C_{ij}:=\C_{ii}\cdot\C_{ij}$};
\ENDFOR
一行而不是两行?
答案1
您应该定义自己的命令,将算法内容放在一行上。建议考虑:
\newcommand{\LINEFOR}[2]{%
\STATE\algorithmicfor\ {#1}\ \algorithmicdo\ {#2} \algorithmicend\ \algorithmicfor%
}
algorithmic
它打印在 for 语句构造中使用的常规包关键字( \algorithmicfor
、\algorithmicdo
等),但所有这些都在单个\STATE
语句(或行)中完成。
这是一个完整的最小示例,说明了结果:
\documentclass{article}
\usepackage{algorithmic}%
\begin{document}
\newcommand{\LINEFOR}[2]{%
\STATE\algorithmicfor\ {#1}\ \algorithmicdo\ {#2} \algorithmicend\ \algorithmicfor%
}
\begin{algorithmic}
\STATE \ldots
\FOR{$j:=0,\ldots,i-1$}%
\STATE $\mathcal{C}_{ij}:=\mathcal{C}_{ii}\cdot\mathcal{C}_{ij}$;%
\ENDFOR%
\STATE \ldots
\LINEFOR{$j:=0,\ldots,i-1$}{$\mathcal{C}_{ij}:=\mathcal{C}_{ii}\cdot\mathcal{C}_{ij}$}%
\STATE \ldots
\end{algorithmic}
\end{document}