我想包含内联代码示例,例如如果 我 < n 然后 我++和别的 我 - 。我使用以下 LaTeX:
\documentclass{article}
\usepackage{algorithmic}
\usepackage{algorithm2e}
\begin{document}
Inline code examples such as \lIf{i < n}{i++} and \lElse{i--} but
line breaks are being injected.
\end{document}
其结果为:
内联代码示例如如果 我 < n 然后 我++;
和别的 我 - ;
但正在注入换行符。
与我预期的相反:
内联代码示例如如果 我 < n 然后 我++; 和别的 我 - ;但正在注入换行符。
如何防止换行?
答案1
预计会使用所有algorithm2e
宏在algorithm
环境中编写伪代码。如果要在文本中内联使用它,则需要删除插入\par
,这是大多数结构伪代码语句都会发出的。
下面我定义了\llIf
并\llElse
通过范围限制删除了这个换行符\let\par\relax
:
\documentclass{article}
\usepackage{algorithm2e}
\newcommand{\llIf}[2]{{\let\par\relax\lIf{#1}{#2}}}
\newcommand{\llElse}[1]{{\let\par\relax\lElse{#1}}}
\begin{document}
Inline code examples such as \llIf{$i < n$}{$i{+}{+}$} and \llElse{$i{-}{-}$} without
line breaks being injected.
\end{document}
这两个宏都缺乏正式定义(包括注释),但我认为在内联使用中不需要这些。
最后,不要混合使用algorithmic
和algorithm2e
。它们是两个独立的包,不应一起使用。