xuyuan / pgf-umlcd

this project is transfered to https://github.com/pgf-tikz/pgf-umlcd
https://github.com/pgf-tikz/pgf-umlcd
Other
55 stars 17 forks source link

Can't use escaped special character in class name #3

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
- Use an escaped special character in a class name (mostly "\_", "\$", ...).

What version of the product are you using? On what operating system?

I'm using pgf-umlcd-0.2.1 on linux (Archlinux).

Please provide any additional information below.

There should be a way to give the displayed name independently of the internal 
class name (that could be used as default otherwise).

Original issue reported on code.google.com by CLe...@gmail.com on 13 Dec 2011 at 4:40

GoogleCodeExporter commented 9 years ago

Original comment by xuyuan...@gmail.com on 31 Jan 2012 at 1:58

davidschnermann commented 2 years ago

Maybe it's better to use a label to write the name of the class instead of the shape-name (ID) itself. I made a workaround by adding a label argument to the class-environment.

\renewenvironment{class}[4][]% add another argument
    {
        \def\umlcdClassLabel{#4}% define label here 
        \begin{classAndInterfaceCommon}{#1}{#2}{#3} 
    }%
    {
        \calcuateNumberOfParts{}
        % another change is in the following line, where "anchor=north" was moved before "this umlcd style" % this is an other tip from https://github.com/xuyuan/pgf-umlcd/pull/16
        \node[anchor=north,this umlcd style] (\umlcdClassName) at (\umlcdClassPos)
        {\textbf{\umlcdClassLabel} % ClassLabel instead of ClassName (ID)
            \insertAttributesAndOperations{}
        };
        \end{classAndInterfaceCommon}
    }