我正在使用pseudocode
包进行算法开发。(这里是文档:伪代码包文档)
伪代码块内的普通文本之间没有空格。我必须\
在每个单词后手动插入空格。
\documentclass{report}
\usepackage{pseudocode}
\begin{document}
This is a text area. Another text\\
\begin{pseudocode}{Celsius To Fahrenheit}{c}
f \GETS {9c/5} + 32\\
\RETURN{f}\\
\\
\BEGIN
basic\ algo\ for\ nothing\\
secondary\ algo
\END
\\\\
This\ is\ experimental\ text
\\\\
\end{pseudocode}
Outside Pseudocode
\begin{pseudocode}{Name}{Parameter 1, 2 ,3}
\IF True
\THEN
\BEGIN
something\ to\ do\\
or\ ther\ thing\ to\ do
\END
\ELSEIF otherwise
\THEN
\BEGIN
Do\ other\ things\\
Don't\ do\ something\ else
\END
\\
\FOR i \GETS 0 \TO 10
\DO something\ processing
\\
\WHILE not\ true \DO don't\ do\ it
\\\\
\REPEAT something
\UNTIL exception
\\\\
\PROCEDURE{Procedure name}{proc\ params}
something
\ENDPROCEDURE
\DO \BEGIN
1.something\\
2.anything\\
3.nothing\\
4.many\ things\\
5.everything
\END
\\
\REPEAT repeat something
\UNTIL some condition is met
\end{pseudocode}
\end{document}
但是,根据文档,它应该自动在文本中的单词之间插入空格。请帮忙,有什么办法可以激活空格吗?或者还有其他人遇到这些问题吗?我真的很喜欢这个包的输出。
谢谢!
答案1
手册还说
请注意,语句的内容是在数学模式下排版的。因此,非数学模式的文本必须用 括起来
\mbox{}
。
通过使用\mbox
或\text
(需要amsmath
)作为文本部分,它可以工作。实际上,手册在第一个例子中有点错误,这里是pseudocode.tex
用于创建手册的代码摘录:
To form compound statements from simple statements, the {\em begin-end}
construct is used as follows:
\begin{verbatim}
\BEGIN
some statement\\
another statement\\
yet another statement
\END
\end{verbatim}
This generates the following:
\medskip
\begin{pseudocode}[display]{}{}
\BEGIN
\mbox{some statement}\\
\mbox{another statement}\\
\mbox{yet another statement}
\END
\end{pseudocode}
第一个代码不会创建后面显示的输出,因为它使用了\mbox
,而代码示例则不会。下面是您的原始代码的示例,其中我使用了\text
和\mbox
。不过,只使用其中一个。还请考虑\COMMENT
LaRiFaRi 在评论中提到的宏。
\documentclass{article}
\usepackage{pseudocode,amsmath}
\begin{document}
\begin{pseudocode}{Name}{Parameter 1, 2 ,3}
\COMMENT{This is experimental text} \\
\IF \mbox{using \texttt{mbox}}
\THEN
\BEGIN
\mbox{something to do}\\
\mbox{or other thing to do}
\END
\ELSEIF \text{using \texttt{text}}
\THEN
\BEGIN
\text{Do other things}\\
\text{Don't do something else}
\END
\end{pseudocode}
\end{document}