有人能向我解释一下如何做到这一点吗?http://prntscr.com/4y0t4x 我已经完成了两行,但是我找不到有关“while(true) do”循环以及 foreach 的任何地方。
这是我目前所拥有的。
\documentclass[10pt,conference]{IEEEtran}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\title{Example}
\author{John Doe}
\begin{document}
\maketitle
\begin{algorithm}
\caption{Secure introspection}\label{algo}
\begin{algorithmic}[1]
\State $\textit{TrustedCode} \gets \textit{\{hardware\}}$
\State $\textit{TrustedData} \gets \textit{0}
\While {true}
\EndWhile
\end{algorithmic}
\end{algorithm}
\end{document}
PS. 如果有人能告诉我一个网站,让我可以在其中找到如何在代码的第 2 行和第 5 行创建这些符号,我将不胜感激。
编辑:我尝试过 while{true} 和 while{$true} 但都不起作用。编辑:我不需要这个来工作,我只想让它成为文本中的一个例子。我只想重现链接的图片。
答案1
这是一个非常相似的显示。
\documentclass[10pt,conference]{IEEEtran}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\newcommand{\sfunction}[1]{\textsf{\textsc{#1}}}
\algrenewcommand\algorithmicforall{\textbf{foreach}}
\algrenewcommand\algorithmicindent{.8em}
\title{Example}
\author{John Doe}
\begin{document}
\maketitle
\begin{algorithm}
\caption{Secure introspection}\label{algo}
\begin{algorithmic}[1]
\State $\mathit{TrustedCode} \gets \{\mathit{hardware}\}$
\State $\mathit{TrustedData} \gets \emptyset$
\While {true}
\State $d\gets\emptyset$
\ForAll{$c\in\mathit{TrustedCode}$}
\State $d\gets d\cup\sfunction{CFDataUsed}(c)$
\State $d\gets d\setminus \mathit{TrustedCode}$
\EndFor
\ForAll{$\mathit{ptr}\in d$}
\If{$\sfunction{CodeIsValid}(\text{code at }\mathit{ptr})$}
\State add code at $\mathit{ptr}$ to $\mathit{TrustedCode}$
\State add $\mathit{ptr}$ to $\mathit{TrustedData}$
\Else
\State{raise alarm}
\EndIf
\EndFor
\State $\sfunction{MonitorForWrites}(\mathit{TrustedCode}\cup\mathit{TrustedData})$
\EndWhile
\State \textbf{end}
\end{algorithmic}
\end{algorithm}
\end{document}