<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=MetaUML</id>
	<title>MetaUML - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=MetaUML"/>
	<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MetaUML&amp;action=history"/>
	<updated>2026-04-04T18:54:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=16250&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;$&quot; to &quot;
{{edutechwiki}}&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=16250&amp;oldid=prev"/>
		<updated>2021-04-10T00:18:57Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;$&amp;quot; to &amp;quot; {{edutechwiki}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:18, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l269&quot;&gt;Line 269:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 269:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:UML]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:UML]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mediawiki documentation]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mediawiki documentation]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{edutechwiki}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=15437&amp;oldid=prev</id>
		<title>Daniel K. Schneider: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=15437&amp;oldid=prev"/>
		<updated>2021-04-09T22:46:52Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:46, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=15436&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;&lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt;&quot; to &quot;&lt;!-- &lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt; --&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MetaUML&amp;diff=15436&amp;oldid=prev"/>
		<updated>2016-08-22T17:12:24Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;&amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt;&amp;quot; to &amp;quot;&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Incomplete}}&lt;br /&gt;
&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SORRY&amp;#039;&amp;#039;&amp;#039; this page is broken. Had to remove an uml extension for security reasons - [[User:Daniel K. Schneider|Daniel K. Schneider]] ([[User talk:Daniel K. Schneider|talk]]) 16:57, 21 August 2013 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
&lt;br /&gt;
MetaUML is a GNU GPL MetaPost library for typesetting [[UML]] diagrams, using a human-friendly textual notation. Currently (nov 2008) it offers support for&lt;br /&gt;
class diagrams, package diagrams, activity diagrams, state machine diagrams  use case diagrams and component diagrams. &lt;br /&gt;
&lt;br /&gt;
MetaUML can be used to:&lt;br /&gt;
* Create UML diagrams readily usable in a LaTeX article or book.&lt;br /&gt;
* Create independent PDF-s&lt;br /&gt;
* Create jpeg-s, png-s etc.&lt;br /&gt;
* Insert UML diagrams in Mediawikis (provided that the extension is installed)&lt;br /&gt;
&lt;br /&gt;
This page is for people who don&amp;#039;t mind to draw by writing code. If you are looking for a simple drawing program to draw UML diagrams (or quasi UML diagrams), see the [[Unified modeling language]], e.g. have a look at the free Dia program.&lt;br /&gt;
&lt;br /&gt;
Sorry, there is no how-to for now. Look at examples and the manual.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
; Some drawing that uses empty classes and notes&lt;br /&gt;
&lt;br /&gt;
To make simple drawings, I figured that it is enough to do the following:&lt;br /&gt;
* Define each object&lt;br /&gt;
* Stack them by using constraints (x, y z are distributed horizontally or vertically)&lt;br /&gt;
* Then draw lines from x.compass_direction to y.compass_direction&lt;br /&gt;
&lt;br /&gt;
Look at the source of the follwing example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;uml&amp;gt;&lt;br /&gt;
ClassName.FB(&amp;quot;Flex Builder 3&amp;quot;);&lt;br /&gt;
ClassName.MXML(&amp;quot;MXML Compiler&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Note.HTML(&amp;quot;application.html&amp;quot;);&lt;br /&gt;
Note.SWF(&amp;quot;application.swf&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Note.AP(&amp;quot;Application Project&amp;quot;,&amp;quot;(directory structure)&amp;quot;);&lt;br /&gt;
Note.CO(&amp;quot;Code&amp;quot;, &amp;quot;(MXML and ActionScript)&amp;quot; );&lt;br /&gt;
Note.A(&amp;quot;Multimedia Assets&amp;quot;, &amp;quot;(Images, Audio, ..)&amp;quot;);&lt;br /&gt;
Note.L(&amp;quot;Libraries&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
leftToRight(30)(FB,MXML,HTML);&lt;br /&gt;
topToBottom(20)(HTML,SWF);&lt;br /&gt;
topToBottom(20)(FB,AP);&lt;br /&gt;
leftToRight(30)(CO,A,L);&lt;br /&gt;
topToBottom(20)(AP,A);&lt;br /&gt;
&lt;br /&gt;
drawObjects(FB, MXML,HTML,SWF,AP,CO,A,L);&lt;br /&gt;
&lt;br /&gt;
link(association)(FB.e -- MXML.w);&lt;br /&gt;
link(association)(FB.s -- AP.n);&lt;br /&gt;
link(association)(AP.s -- CO.n);&lt;br /&gt;
link(association)(AP.s -- A.n);&lt;br /&gt;
link(association)(AP.s -- L.n);&lt;br /&gt;
&lt;br /&gt;
link(associationUni)(MXML.e -- HTML.w);&lt;br /&gt;
link(associationUni)(MXML.e -- SWF.w);&lt;br /&gt;
&amp;lt;/uml&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uml&amp;gt;&lt;br /&gt;
ClassName.FB(&amp;quot;Flex Builder 3&amp;quot;);&lt;br /&gt;
ClassName.MXML(&amp;quot;MXML Compiler&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Note.HTML(&amp;quot;application.html&amp;quot;);&lt;br /&gt;
Note.SWF(&amp;quot;application.swf&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Note.AP(&amp;quot;Application Project&amp;quot;,&amp;quot;(directory structure)&amp;quot;);&lt;br /&gt;
Note.CO(&amp;quot;Code&amp;quot;, &amp;quot;(MXML and ActionScript)&amp;quot; );&lt;br /&gt;
Note.A(&amp;quot;Multimedia Assets&amp;quot;, &amp;quot;(Images, Audio, ..)&amp;quot;);&lt;br /&gt;
Note.L(&amp;quot;Libraries&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
leftToRight(30)(FB,MXML,HTML);&lt;br /&gt;
topToBottom(20)(HTML,SWF);&lt;br /&gt;
topToBottom(20)(FB,AP);&lt;br /&gt;
leftToRight(30)(CO,A,L);&lt;br /&gt;
topToBottom(20)(AP,A);&lt;br /&gt;
&lt;br /&gt;
drawObjects(FB, MXML,HTML,SWF,AP,CO,A,L);&lt;br /&gt;
&lt;br /&gt;
link(association)(FB.e -- MXML.w);&lt;br /&gt;
link(association)(FB.s -- AP.n);&lt;br /&gt;
link(association)(AP.s -- CO.n);&lt;br /&gt;
link(association)(AP.s -- A.n);&lt;br /&gt;
link(association)(AP.s -- L.n);&lt;br /&gt;
&lt;br /&gt;
link(associationUni)(MXML.e -- HTML.w);&lt;br /&gt;
link(associationUni)(MXML.e -- SWF.w);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/uml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following was copied from the [http://www.mediawiki.org/wiki/Extension:UML Extension:UML] page&lt;br /&gt;
&lt;br /&gt;
; Activity diagram&lt;br /&gt;
&amp;lt;uml&amp;gt;&lt;br /&gt;
Begin.b;&lt;br /&gt;
Activity.eat(&amp;quot;Eat something good&amp;quot;, &amp;quot;from the kitchen&amp;quot;);&lt;br /&gt;
Branch.enough;&lt;br /&gt;
Fork.fork(&amp;quot;h&amp;quot;, 50);&lt;br /&gt;
Activity.read(&amp;quot;Read a book&amp;quot;);&lt;br /&gt;
Activity.listen(&amp;quot;Listen to music&amp;quot;, &amp;quot;(and ignore it)&amp;quot;);&lt;br /&gt;
Fork.join(&amp;quot;h&amp;quot;, 50);&lt;br /&gt;
End.e;&lt;br /&gt;
&lt;br /&gt;
leftToRight.top(10)(read, listen);&lt;br /&gt;
Group.readListen(read, listen);&lt;br /&gt;
&lt;br /&gt;
leftToRight(30)(b, eat);&lt;br /&gt;
topToBottom(20)(eat, enough, fork, readListen, join, e);&lt;br /&gt;
&lt;br /&gt;
drawObjects(b, eat, enough, fork, readListen, join, e);&lt;br /&gt;
&lt;br /&gt;
clink(transition)(b, eat);&lt;br /&gt;
clink(transition)(eat, enough);&lt;br /&gt;
link(transition)(pathStepX(enough.e, eat.e, 80));&lt;br /&gt;
clink(transition)(enough, fork);&lt;br /&gt;
clink(transition)(fork, read);&lt;br /&gt;
clink(transition)(fork, listen);&lt;br /&gt;
clink(transition)(read, join);&lt;br /&gt;
clink(transition)(listen, join);&lt;br /&gt;
clink(transition)(join, e);&lt;br /&gt;
&lt;br /&gt;
item(iGuard)(&amp;quot;still hungry&amp;quot;)(obj.sw = enough.e + (20, 0));&lt;br /&gt;
item(iGuard)(&amp;quot;had enough&amp;quot;)(obj.nw = enough.s + (0, -4));&lt;br /&gt;
&amp;lt;/uml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; State diagram&lt;br /&gt;
&lt;br /&gt;
&amp;lt;uml&amp;gt;&lt;br /&gt;
Begin.b;&lt;br /&gt;
  State.reading(&amp;quot;Reading commands&amp;quot;)();&lt;br /&gt;
  State.processing(&amp;quot;Processing commands&amp;quot;)();&lt;br /&gt;
End.e;&lt;br /&gt;
&lt;br /&gt;
State.composite(&amp;quot;Working&amp;quot;)(b, reading, processing, e);&lt;br /&gt;
composite.info.left := composite.info.right := 10;&lt;br /&gt;
composite.info.drawNameLine := 1;&lt;br /&gt;
&lt;br /&gt;
topToBottom(20)(b, reading, processing, e);&lt;br /&gt;
drawObject(composite);&lt;br /&gt;
&lt;br /&gt;
clink(transition)(b, reading);&lt;br /&gt;
clink(transition)(reading, processing);&lt;br /&gt;
clink(transition)(processing, e);&lt;br /&gt;
&lt;br /&gt;
ExitPoint.exit;&lt;br /&gt;
exit.c=(composite.right, reading.midy);&lt;br /&gt;
drawObject(exit);&lt;br /&gt;
item(iAssoc)(&amp;quot;error&amp;quot;)(obj.nw = exit.s);&lt;br /&gt;
&lt;br /&gt;
clink(transition)(reading, exit);&lt;br /&gt;
&lt;br /&gt;
State.error(&amp;quot;Preparing error report&amp;quot;)();&lt;br /&gt;
State.result(&amp;quot;Writing result&amp;quot;)();&lt;br /&gt;
End.theEnd;&lt;br /&gt;
&lt;br /&gt;
topToBottom(20)(error, result, theEnd);&lt;br /&gt;
leftToRight(30)(exit, error);&lt;br /&gt;
&lt;br /&gt;
drawObjects(error, result, theEnd);&lt;br /&gt;
&lt;br /&gt;
clink(transition)(exit, error);&lt;br /&gt;
clink(transition)(error, result);&lt;br /&gt;
clink(transition)(result, theEnd);&lt;br /&gt;
&lt;br /&gt;
link(transition)(rpathHorizontal(result.w, composite.right));&lt;br /&gt;
&amp;lt;/uml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the MediaWiki extension ==&lt;br /&gt;
&lt;br /&gt;
Using the MetaUML uml tag in a mediawiki is quite tricky. The only way to figure out errors is to install this software locally (or log on to your wiki server machine) and then test like this. E.g code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;uml&amp;gt;&lt;br /&gt;
 Fork.forkA(&amp;quot;h&amp;quot;, 100);&lt;br /&gt;
 Fork.forkB(&amp;quot;v&amp;quot;, 20);&lt;br /&gt;
 leftToRight(10)(forkA, forkB);&lt;br /&gt;
 drawObjects(forkA, forkB);&lt;br /&gt;
 &amp;lt;/uml&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
goes into a xxx.mp file like this:&lt;br /&gt;
 input metauml;&lt;br /&gt;
 beginfig(1);&lt;br /&gt;
  Fork.forkA(&amp;quot;h&amp;quot;, 100);&lt;br /&gt;
  Fork.forkB(&amp;quot;v&amp;quot;, 20);&lt;br /&gt;
  leftToRight(10)(forkA, forkB);&lt;br /&gt;
  drawObjects(forkA, forkB);&lt;br /&gt;
 endfig;&lt;br /&gt;
 end&lt;br /&gt;
Then, type in a console:&lt;br /&gt;
 mpost xxx.mp&lt;br /&gt;
&lt;br /&gt;
== Installation notes for Linux Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
Install textlive first via aptitude, apt-get or synaptic.&lt;br /&gt;
&lt;br /&gt;
As of Sept 2009, Ubuntu distributes a very old version, since it relies on the CTAN archive which isn&amp;#039;t updated with MetaUML. The old version is 0.2.3 and since 1996 the good version is 0.2.5.&lt;br /&gt;
&lt;br /&gt;
You can copy the files to:&lt;br /&gt;
 usr/share/texmf-texlive/metapost/metauml/&lt;br /&gt;
Then type:&lt;br /&gt;
 texhash&lt;br /&gt;
(though I wonder what happens if you then upgrade textlive to an other old MetaUML distro. There certainly must be smarter way...)&lt;br /&gt;
&lt;br /&gt;
Also, I found a missing font: ptmr8r&lt;br /&gt;
 &lt;br /&gt;
 apt-get install texlive-fonts-recommended&lt;br /&gt;
&lt;br /&gt;
Note on debugging. If you use this with the MediaWiki extension. Quote lines in MetaUML.php.&lt;br /&gt;
 //    unlink($wgTmpDirectory.&amp;quot;/&amp;quot;.$tmp_filename.&amp;quot;.mp&amp;quot;);&lt;br /&gt;
 //      unlink($wgTmpDirectory.&amp;quot;/&amp;quot;.$tmp_filename.&amp;quot;.log&amp;quot;);&lt;br /&gt;
 //      unlink($wgTmpDirectory.&amp;quot;/&amp;quot;.$tmp_filename.&amp;quot;.1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Then watch the *.log files in the Mediawiki /images/tmp directory.&lt;br /&gt;
You also then can directly type something like:&lt;br /&gt;
 mpost c35cdfb376362cf4eabede45a0762dd7.mp &lt;br /&gt;
... and enjoy the error messages (*.mp is the temporary file that mpost then must process)&lt;br /&gt;
&lt;br /&gt;
== Installation notes for MetaUML and Mediawiki extension for Solaris ==&lt;br /&gt;
&lt;br /&gt;
Installing the necessary software requires some installation skills. Here are my (rough) installation notes&lt;br /&gt;
&lt;br /&gt;
Step: Make sure that latex, dvips, gs (ghostscript), and convert (ImageMagick) installed and available in the PATH. Depending on how&lt;br /&gt;
the system is installed, this also means to fix the path of the Apache webserver. &lt;br /&gt;
&lt;br /&gt;
It probably would be a good idea to install livetex, but since I found I binary for (older) teTex I went with this.&lt;br /&gt;
texTex in /opt/sfw wasn&amp;#039;t correctly installed. Got a new version from http://www.sunfreeware.com/. This package installs in /usr/local&lt;br /&gt;
 gunzip tetex-3.0-sol10-sparc-local.gz&lt;br /&gt;
 pkgadd -d tetex-3.0-sol10-sparc-local&lt;br /&gt;
teTex now should be installed and there is some postinstall work to do&lt;br /&gt;
* Add /usr/local/teTeX/bin/sparc-sun-solaris2.10 to the path.&lt;br /&gt;
* Configure&lt;br /&gt;
 texconfig conf&lt;br /&gt;
&lt;br /&gt;
Step: Install texvc (maybe not needed). This is a standard Mediawiki&lt;br /&gt;
script to render Latex math fragments.&lt;br /&gt;
* It&amp;#039;s already in the mediawiki distribution&lt;br /&gt;
* Read: http://en.wikipedia.org/wiki/Texvc and compile.&lt;br /&gt;
&lt;br /&gt;
Step: Get the MediaWiki extension&lt;br /&gt;
:http://www.mediawiki.org/wiki/Extension:UML&lt;br /&gt;
&lt;br /&gt;
Step: Fix some configuration variables. Some documentation on variables is here:&lt;br /&gt;
* http://www.mediawiki.org/wiki/Manual:Configuration_settings&lt;br /&gt;
You have to make sure that all these variables are defined: &lt;br /&gt;
&lt;br /&gt;
 $wgUseTeX	    = true;&lt;br /&gt;
 $wgMathPath         = &amp;quot;{$wgUploadPath}/math&amp;quot;;&lt;br /&gt;
 $wgMathDirectory    = &amp;quot;{$wgUploadDirectory}/math&amp;quot;;&lt;br /&gt;
 $wgTmpDirectory     = &amp;quot;{$wgUploadDirectory}/tmp&amp;quot;;&lt;br /&gt;
 $wgImageMagickIdentifyCommand=&amp;quot;/usr/local/bin/identify&amp;quot;;&lt;br /&gt;
 $wgImageMagickConvertCommand = &amp;quot;/usr/local/bin/convert&amp;quot;;&lt;br /&gt;
 $wgDvipsCommand=&amp;quot;/usr/local/teTeX/bin/sparc-sun-solaris2.10/dvips&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Step: Install MetaUML, UML for LaTeX/MetaPost&lt;br /&gt;
&lt;br /&gt;
* Get the archive from http://metauml.sourceforge.net/&lt;br /&gt;
* Decompress &lt;br /&gt;
* Copy files into /usr/local/teTeX/share/texmf-dist/metauml&lt;br /&gt;
* texhash&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://metauml.sourceforge.net/ MetaUML home page] (sourceforge). Includes a manual and examples&lt;br /&gt;
** [https://sourceforge.net/project/showfiles.php?group_id=141524&amp;amp;package_id=156966 PDF manual]&lt;br /&gt;
&lt;br /&gt;
[[Category:UML]]&lt;br /&gt;
[[Category:Mediawiki documentation]]&lt;/div&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
</feed>