Giter Site home page Giter Site logo

metauml's People

Contributors

ogheorghies avatar pd-robgee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

metauml's Issues

diagram gets messed up by adding text

I have an mp file as follows:

input metauml;
%defaultscale := 0.8;
%defaultscale := 10pt/fontsize defaultscale;
beginfig(1);
%defaultscale := 8pt/fontsize defaultscale;
%defaultscale := 0.8;

Actor.devel("developer");
Class.editor("source editor")()();
Class.sviewer("source viewer")()();
Class.tviewer("target viewer")()();
Class.lviewer("log viewer")()();
Class.console("console")()();
devel.n + (-100, 50) = editor.sw;
devel.n + ( +50, 50) = sviewer.s;
devel.s - (   0, 50) = console.n;
devel.w - (  50,  0) = lviewer.e;
item(iAssoc)("typing")(obj.sw = 0.5[devel.n,editor.se]);
%item(iAssoc)("command")(obj.se = 0.5[devel.s,console.n]);

%label.top("test", (100,0));
drawObjects(devel, editor, sviewer, lviewer, console);%, tviewer, console

link(inheritance)(devel.n -- editor.se);
link(inheritance)(editor.sw -- devel.n);

link(realization)(sviewer.s -- devel.n);
link(realization)(lviewer.e -- devel.w);

link(realization)(0.7[console.n,console.ne] -- devel.s);
link(inheritance)(devel.s -- 0.7[console.n,console.nw]);


%currentpicture := currentpicture scaled 0.2;
endfig;
end

compilation with

mpost -interaction=nonstopmode -recorder -s prologues=3 -s 'outputtemplate="F3_01texUsagePlain.mps"' F3_01texUsagePlain.mp

works fine.
As you observe, there is a line

%item(iAssoc)("command")(obj.se = 0.5[devel.s,console.n]);

F3_01texUsagePlainMixedUp.pdf

F3_01texUsagePlain.pdf

which is commented out.
If I add this, then compilation yields an error indicating

! Inconsistent equation (off by 97.7471).

and the picture gets messed up.
I converted into PDF what I see without the line and the result with the line above.

Custom visibility markers

Hey there! 👋

I am using a UML derivative that has an additional visibility marker apart from the usual +. -. #, ~.

Is there a possibility to use a custom visibility marker on a single attribute?

I did not find anything about it in the docs, and from what I've seen in the source code, it seems like this is currently not supported.

Thanks! 🙏

Online playground is broken

  1. no examples displayed
  2. code typed in does not build anything - just goes into a 'building...' mode and does nothing.

how to assign same fixedwidth for multiple packages.

Package.A("A")(a0,a1);
Package.B("B")(b0,b1,b2);
mwidth:=max(A.what, B.what);
A.what.fixedwidth := mwidth;
B.what.fixedwidth := mwidth;

how to get expected width of package before draw it?
and then how to change the width of package?

This doesn't build but I'm pretty sure it should

Class.mem("Member")()();
Class.pop("Population")()();
Class.pairedPop("PairedPopulation")()();
Class.pair("Pair")("+fatherMember","+motherMember")();                                                       

leftToRight.top(20)(mem, pop, pair, pairedPop);
drawObjects(mem,pop,pairedPop,pair);

If I add an s to the pair it works:

Class.mem("Member")()();
Class.pop("Population")()();
Class.pairedPop("PairedPopulation")()();
Class.pairs("Pair")("+fatherMember","+motherMember")();                                                       

leftToRight.top(20)(mem, pop, pairs, pairedPop);
drawObjects(mem,pop,pairedPop,pairs);

[MetaUML App] Compile Error in Building “examples gof AbstractFactory 1”

Hello.
When compiling “examples of AbstractFactory 1” on MetaUML App, it causes errors probably due to improper use of the color type or so on.
Sorry but I am not familiar with programming in MetaPost, so I can only report an issue here.
Could you please fix it?

Part of the log message follows:

>> "Macro classStereotypes is deprecated, use Class_stereotypes instead."
>> (redpart productAb.info.foreColor,greenpart productAb.info.foreColor,bluepar
t productAb.info.foreColor)
>> yellow
! Equation cannot be performed (color=numeric).
<to be read again> 
                   ;
l.27 ...lor := productAb.info.foreColor := yellow;

Manual's "Test suite" text looks garbled

Hello,
this is my first issue, thus it's more of a hello and thank-you-for-such-a-nice-tool message, although the issue that I've stumbled upon is:
In manual, page 42 - Util library -, the text is garbled and is floating above other text.

CTAN update required

Could you update this on CTAN so distributions (such as Arch) which pull TexLive directly from CTAN don't have horrifically out of date versions of metauml?

Thanks :)

Uneven spacing between attributes in class diagram

I am using MetaUML to generate some simple class diagrams. For example:

input metauml;
iClass.foreColor := (1, 1, 1);

  beginfig(1);
    Class.A("Cat")
      ("active",
       "color",
       "hungry",
       "name",
       "weight")
      ("printInformation()",
        "runAndMeow()");

    Class_noVisibilityMarkers.A;

    drawObject(A);
  endfig;

end

I noticed that there is some uneven spacing between the attributes in the generated PDF document:

image

Any idea how to make this spacing uniform?

labels for transitions in composite states are in the background

Although it is possible to draw transitions of states in a compound state,
it is not possible to endow them with labels: in fact, the label may be drawn but is "behind" the compound state.

A bit similar behave notes which are also hidden by composite states.
I feel, a concept of layer is missing: composite states shall be in the background.
The layers can be computed by the containment tree(s).

Q: how to specify to draw some classes with more (or no) shadow than others?

Hi,

Right now, all the classes are draw with a bit shadow. I'm just wondering how to specify to draw some classes with more (or no) shadow than others?

Basically I want to mark some classes as special, maybe related question is: how to draw a class with a different background color than the default gray ?

Thanks.

Unicode or assigning pictures as names

Hey,

I am unsure if this is a feature request.
My problem is, that I want to use special characters in my UML Diagram,
since my Diagram must be in german.
Therefore I want to use the following letters:
ä,ö,ü,ß

I tried using pictures like:

Usecase.U(btex "a etex)

but it did not work because the Usecase is expacting a string.
Is there any way I can assign a picture instead?

Thanks in advance,
Arwed

Installation Intstructions

Hi, first of all thank you for this wonderful library.

I'm trying to run the latest version of the master branch. Unfortunately, (at least for me) the installation instructions at https://github.com/ogheorghies/MetaUML are a bit vague.

What I've done so far:

More or less by accident I realized that sudo apt-get install texlive-metapost installs MetaUML by default (I'm using Ubuntu 18.04). With this version I've been able to create UML diagrams.

Then, I realized that the abstract keyword for methods did not work for me. I've seen here that abstract methods require at least MetaUML 0.2.5. Is there a possibility to determine the MetaUML version used by MetaPost?

Since the abstract keyword did not work for me, I've downloaded the latest release version and ran the make command. At this point got a bit lost. Since I ran the make command without sudo, I understand that the make command did not overwrite the files installed with sudo apt-get install texlive-metapost. Can I copy some files to a specific folder to overwrite the default files? Or do I need to build the metapost library as well? But in that case I'm wondering how I could integrate an external build of the metapost library into my system texlive version, since I'm creating my diagrams directly within latex (see this link).

Side note: I think it would make sense to add some information about the installation and basic usage to this repository (e.g. something like sudo apt-get install texlive-metapost or that it is possible to use MetaUML directly within Latex), since this is information is very useful, but not obvious for someone who found this repository with a google search.

Bests,
Sebastian

Text fits into elements only for prologues=3

I have a mp file

F3_01texUsagePlain.mp.txt

to be more precise the according mp file (github does not allow to upload)
which i would like to compile with

mpost -interaction=nonstopmode -recorder -s prologues=2 -s 'outputtemplate="F3_01texUsagePlain.mps"' F3_01texUsagePlain.mp

F3_01texUsagePlain3.pdf
F3_01texUsagePlain2.pdf

But then, the texts don't fit into the boxes at least if previewed in okular.
What I see is exactly what you can see after converting with epstopdf into the two PDF files.

This changes if I use option -s prologues=3 which also changes the font.
As you know prologues=3 leads to huge headers in the MPS file.

I observe also that the font style changes.
I would like to understand what happens and I would like to fit the texts into the boxes without prologues=3.

Strange Error: Cannot open file, eventhrough it is available.

Hey,
this might be a bug. It says:

(luamplib) ! I can't open file `metauml_component'.
(luamplib) l.62 input metauml_component;

metauml_component.mp is in the same folder like the other files, and I checked spelling in the file and the name of the file. I even wrote "input metauml_component;" myself, just to confirm there are no invisable characters.
UML.log

See also here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.