我该怎么写
foreach triple ti in Q do
Q <- M
在乳胶中我尝试过
\foreach \triple ti in {Q} {Q \gets M}
但它不起作用
我希望结果显示如下这是一种写在报告中的算法
“..... Foreach 三元组模式 ti ∈ Q Do
问<-M“...
\documentclass{article}
\usepackage{amsmath}
\usepackage[linesnumbered,ruled]{algorithm2e}
\begin{document}
\begin{algorithm}
\SetKwInOut{Input}{Input}
\SetKwInOut{Output}{Output}
{MFS} $(Q,D)$\;
\Input{ A failing Query Q = t1$\wedge$t2$\wedge$...$\wedge$tn and RDF Database D ;}
\Output{An MFS denoted by Q* ;}
Q $\gets$ Q* ; \\
Q' $\gets$ Q* ; \\
\caption{Find An MFS in a failing SPARQL Query}
\end{algorithm}
\end{document}
我想要这个结果
答案1
你需要使用\ForEach{<condition>}{<stuff>}
\documentclass{article}
\usepackage{amsmath}
\usepackage[ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\caption{Find an \texttt{MFS} of a failing \texttt{SPARQL} query~$Q$}
\SetKwInOut{Input}{inputs}
\SetKwInOut{Output}{output}
\SetKwProg{FindAnMFS}{FindAnMFS}{}{}
\FindAnMFS{$(Q,D)$}{
\Input{A failing query $Q = t_1 \wedge \dots \wedge t_n$; an \texttt{RDF} database $D$}
\Output{An \texttt{MFS} denoted by $Q^*$}
$Q^* \gets \emptyset$\;
$Q' \gets Q$\;
\ForEach{triple pattern $t_i \in Q$}{%
$Q' \gets Q' - t_i$\;
\If{$[[Q' \wedge Q^*]]_D \neq \emptyset$}{%
$Q^* \gets Q^* \wedge t_i$\;
}
}
\KwRet{$Q^*$}\;
}
\end{algorithm}
\end{document}
我还定义了一个程序调用\FindAnMFS
以获取外部块。