xparse 回归?无法使用单个可选参数创建环境

xparse 回归?无法使用单个可选参数创建环境

我创建了一个自定义环境,用于在beamer演示文稿中显示代码示例(用于入门级 LaTeX 课程),但编译我的“旧”代码时突然出现错误。根据旧日志文件,版本为xparse 2011/10/09 v2900。定义如下(为简洁起见,略作了清理):

\NewDocumentEnvironment{codeblock}{o}{
    \IfNoValueTF{#1}
        {\begin{exampleblock}{Code}}
        {\begin{exampleblock}{Code: #1}}}
{\end{exampleblock}}

错误是

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "xparse/expandable-ending-optional"
! 
! Argument specification for expandable command ends with optional argument.
! 
! See the LaTeX3 documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

xparse 2012/08/29 v4160在我最新的 TeX Live 2012 安装上使用时。调试此问题的第一步是创建 MWE,但这会导致一个完全不同的错误。代码

\documentclass{article}
\usepackage{xparse}

\NewDocumentEnvironment{xptest}{o}{\begin{center}
    \IfNoValueTF{#1}{\textbf{Test}}{\textbf{Test: #1}}\par}
  {\end{center}}

\begin{document}
\begin{xptest}[Arg]
  World
\end{xptest}

\begin{xptest}
  World
\end{xptest}
\end{document}

没有产生预期的结果(即两段居中的文本,第一行加粗),但是:

意想不到的结果

我已阅读我当前安装的 版本的文档xparse,但其中未提及有关终止可选参数的任何限制。这是一种倒退还是预期但尚未记录的行为?

相关内容