我需要在文本中放置一个算法。但是,它总是显示不正确。你能看看 LaTeX 代码并帮我找出错误吗?
这是我目前正在使用的代码:
\documentclass[12pt,oneside,a4paper,brazil]{report}
\usepackage{algorithm}
\usepackage{float}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[noend]{algpseudocode}
\newcommand\BB{BB}
\begin{document}
\begin{algorithm}
\caption{The \BB algorithm}
\begin{algorithmic}
\State \BB(G, Q, K)
\State $\text{C} \gets \text{Q}$
\If {$\text{K} \neq \emptyset$ }
\State $\text{v} \gets \text{a vertex in K}$
\State ${C_1 \gets BB(G, Q \cup \{v\}, U \cap \Gamma_G(v))$
\If {$|C_1| > |C|$}
\State $C \gets C_1$
\EndIf
\State $C_2 \gets BB(G, Q, K - v)$
\If {$|C_2| > |C|$}
\State $C \gets C_2$
\EndIf
\EndIf
\Return $C$
\end{algorithmic}
\end{algorithm}
\end{document}
任何帮助都感激不尽。
答案1
在您的代码中添加缺少的右括号后,}
我可以无错误地进行编译---并且对我来说没有缺少换行符!
请参阅以下 MWE:
\documentclass[12pt,oneside,a4paper,brazil]{report}
\usepackage{algorithm}
\usepackage{float}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[noend]{algpseudocode}
\newcommand\BB{BB}
\begin{document}
\begin{algorithm}
\caption{The \BB algorithm}
\begin{algorithmic}
\State \BB(G, Q, K)
\State $\text{C} \gets \text{Q}$
\If {$\text{K} \neq \emptyset$ }
\State $\text{v} \gets \text{a vertex in K}$
\State ${C_1 \gets BB(G, Q \cup \{v\}, U \cap \Gamma_G(v))}$
% ^ } added!
\If {$|C_1| > |C|$}
\State $C \gets C_1$
\EndIf
\State $C_2 \gets BB(G, Q, K - v)$
\If {$|C_2| > |C|$}
\State $C \gets C_2$
\EndIf
\EndIf
\Return $C$
\end{algorithmic}
\end{algorithm}
\end{document}
及其结果: