カスタム環境により「余分な入力」が発生する

カスタム環境により「余分な入力」が発生する

モチベーション

私はパッケージを使用していますプランタムルUML ダイアグラムをプロットします。残念ながら、plantuml (ツール) のデフォルトのスタイルは見苦しいため、すべての plantuml 環境でカスタム スタイルを定義する必要があります。スタイル定義を頻繁に繰り返さないようにするには、plantuml 環境を使用し、スタイルを既に含むカスタム環境を定義します。残念ながら、いくつかのエラーが発生します (詳細は後述)。

回避策が見つかりました - 解決策はもう必要ありません

plantuml がテーマをサポートしていることを知りました。これらには必要なスタイルがすべて含まれており、1 行で追加できます。繰り返しても問題ありません。学習目的であれば、アイデアには引き続き興味がありますが、元の問題を解決するためにアイデアはもう必要ありません。

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 sequence { ParticipantBorderColor blac k ParticipantBackgroundColor white } ' があります

さらなるアイデア

環境定義を makeatletter/makeatother で囲むことは機能しませんでしたが、元の問題が修正されたらいずれにせよ必要になるかもしれません。

関連情報