Пользовательская среда приводит к появлению «Постороннего ввода»

Пользовательская среда приводит к появлению «Постороннего ввода»

Мотивация

Я использую пакетплантумлдля построения диаграмм uml. К сожалению, стиль по умолчанию plantuml (инструмента) уродлив, и мне нужно определить пользовательский стиль в каждой среде plantuml. Чтобы избежать частого повторения определения стиля, я хочу определить пользовательскую среду, которая использует среду plantuml и уже включает стиль. К сожалению, я получаю некоторые ошибки (подробности ниже).

Обходной путь найден — решение больше не требуется

Я обнаружил, что plantuml поддерживает темы. Они содержат все необходимые мне стили и могут быть добавлены в одну строку, что приемлемо для меня, даже если они повторяются. В учебных целях мне все еще были бы интересны идеи, но они мне больше не нужны для решения исходной проблемы.

MWE со стандартным использованием plantuml

\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: посторонний ввод ` @startuml skinparam sequence { ParticipantBorderColor blac k ParticipantBackgroundColor white } ' между \begin{plantuml}[<key=value>] и концом строки

Дальнейшие идеи

Заключение определения окружения в makeatletter/makeatother не сработало, хотя, возможно, оно мне понадобится в любом случае, когда исходная проблема будет исправлена?

Связанный контент