问题已经在标题中了。我使用“algorithmic”作为包,找不到“FOREACH”定义的任何参考。我已经知道对于“algpseudocode”,我可以使用
% define macro foreach
\algnewcommand\algorithmicforeach{\textbf{for each}}
\algdef{S}[FOR]{ForEach}[1]{\algorithmicforeach\ #1\ \algorithmicdo}
但我找不到与“算法”类似的东西。
答案1
您可以复制创建的内容\FORALL
并替换必要的元素以创建\FOREACH
:
\documentclass{article}
\usepackage{algorithmic}
\makeatletter
% Taken from \FORALL within
% http://mirrors.ctan.org/macros/latex/contrib/algorithms/algorithms.dtx
\newcommand{\algorithmicforeach}{\textbf{for each}}
\newcommand{\FOREACH}[2][default]{%
\ALC@it\algorithmicforeach\ #2\ \algorithmicdo%
\ALC@com{#1}\begin{ALC@for}}
\makeatother
\begin{document}
\begin{algorithmic}[1]
\FORALL{$i$ such that $0 \leq i \leq 10$}
\STATE carry out some processing
\ENDFOR
\FOREACH{$i$ such that $0 \leq i \leq 10$}
\STATE carry out some processing
\ENDFOR
\end{algorithmic}
\end{document}
答案2
我刚刚意识到算法中似乎有“FORALL”,因此可以这样做:
\begin{algorithmic}[1]
\FORALL{$i$ such that $0\leq i\leq 10$}
\STATE carry out some processing
\ENDFOR
\end{algorithmic}