自定义环境导致“无关输入”

自定义环境导致“无关输入”

动机

我正在使用这个包植物绘制 uml 图。不幸的是,plantuml(工具)的默认样式很丑陋,我需要在每个 plantuml 环境中定义自定义样式。为了避免经常重复样式定义,我想定义一个使用 plantuml 环境并已包含样式的自定义环境。不幸的是,我遇到了一些错误(详情如下)。

找到解决方法 - 不再需要解决方案

我发现 plantuml 支持主题。这些主题包含我需要的所有样式,并且可以在一行中添加 - 即使重复,我也可以接受。出于学习目的,我仍然对想法感兴趣,但我不再需要它们来解决原始问题。

使用 plantuml 标准的 MWE

\documentclass{scrbook}
\usepackage{plantuml}

\begin{document}

\begin{plantuml}
    @startuml % required by plantuml (the tool, not the package)
    skinparam sequence { % style definition
        ParticipantBorderColor black
        ParticipantBackgroundColor white
    }

    Alice -> Bob: test % diagram content
    @enduml
\end{plantuml}

\end{document}

我的方法

\documentclass{scrbook}
\usepackage{plantuml}

% environment definition
\newenvironment{bplantuml}{
\begin{plantuml}
@startuml
skinparam sequence {
ParticipantBorderColor black
ParticipantBackgroundColor white
}
}{
@enduml
\end{plantuml}
}

\begin{document}

% usage
\begin{bplantuml}
    Alice -> Bob: test
\end{bplantuml}

\end{document}

错误

FancyVerb 错误:在 \begin{plantuml}[<key=value>] 和行尾之间有多余的输入 `@startuml skinparam serial {ParticipantBorderColor blac kParticipantBackgroundColor white}'

进一步的想法

使用 makeatletter/makeatother 来定义环境不起作用,但是一旦原始问题得到解决,我可能仍然需要它?

相关内容