我正在使用“program”包来描述一个函数。当我使用 IF-THEN-ELSE 语句时,我希望行相对于“if”对齐。但是这些行相对于“then”对齐。这是一个简单的例子:
\documentclass[conference]{IEEEtran}
\usepackage{program}
\begin{document}
\begin{program}
\IF A = B \THEN
eaual
\ELSE
not equal
\FI
\end{program}
\end{document}
我怎样才能使它与“if”对齐?
还有一个问题:是否有可能抑制“fi”?
答案1
您可以调整定义,以便
\THEN
不运行\THENtrue
\ELSE
表现得更像\THEN
\FI
取消缩进但不打印关键字
如下
\usepackage{program}
\makeatletter
\def\THEN{\@marginspace\untab\keyword{then}\ \tab}
\def\ELSE{\@marginspace\untab\keyword{else}\ \tab}%
\def\FI{\@marginspace\untab}
\makeatother
\documentclass{article}
\usepackage{program}
\makeatletter
\def\THEN{\@marginspace\untab\keyword{then}\ \tab}
\def\ELSE{\@marginspace\untab\keyword{else}\ \tab}%
\def\FI{\@marginspace\untab}
\makeatother
\begin{document}
\begin{program}
\IF A = B
\THEN
equal
\ELSE
not equal
\FI
\IF C = D
\THEN
equal
\ELSE
not equal
\FI
\end{program}
\end{document}
我从 中定义的命令开始,并删除了大部分不需要的操作。由于命令名称包含字符 ,因此需要program.sty
该对。\makeatletter ... \makeatother
marginspace
@