% Demonstrates class member visibility, including the protected marker "#".
%
% The diagram body is read verbatim, so write PlantUML exactly as in a .puml
% file -- including characters LaTeX treats specially, such as "#". Write them
% as-is; do NOT escape them (e.g. use "#balance", not "\#balance"). See #24.
%
% SVG output: needs graphviz and inkscape, but no xelatex.
\documentclass{scrartcl}

\usepackage{graphics}
\usepackage{epstopdf}
\epstopdfDeclareGraphicsRule{.svg}{pdf}{.pdf}{%
  inkscape "#1" --export-text-to-path --export-filename="\OutputFile"
}

\usepackage[output=svg]{plantuml}
\begin{document}
\begin{plantuml}
class BankAccount {
  +owner : String
  #balance : double
  -pin : int
  ~auditTrail : List
  +deposit(amount : double)
  #applyInterest()
  -validatePin(pin : int)
}
\end{plantuml}
\end{document}
