<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.christophchamp.com/index.php?action=history&amp;feed=atom&amp;title=Pic_language</id>
		<title>Pic language - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.christophchamp.com/index.php?action=history&amp;feed=atom&amp;title=Pic_language"/>
		<link rel="alternate" type="text/html" href="http://wiki.christophchamp.com/index.php?title=Pic_language&amp;action=history"/>
		<updated>2026-05-21T17:27:38Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.christophchamp.com/index.php?title=Pic_language&amp;diff=4193&amp;oldid=prev</id>
		<title>Christoph: /* External links */</title>
		<link rel="alternate" type="text/html" href="http://wiki.christophchamp.com/index.php?title=Pic_language&amp;diff=4193&amp;oldid=prev"/>
				<updated>2007-07-03T05:47:46Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;External links&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 05:47, 3 July 2007&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-l45&quot; &gt;Line 45:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic.html Making Pictures With GNU PIC]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic.html Making Pictures With GNU PIC]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.kohala.com/start/troff/troff.html Troff resources (see the &amp;quot;pic&amp;quot; section)]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.kohala.com/start/troff/troff.html Troff resources (see the &amp;quot;pic&amp;quot; section)]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.kohala.com/start/troff/pic2html.html Turning PIC into HTML&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;*[http://www.kohala.com/start/troff/pic2html.html Turning PIC into HTML&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC], an implementation of the PIC language by Dwight Aplevich. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;This implementation has a few nice extensions and outputs many different image formats.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;*[http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC], an implementation of the PIC language by Dwight Aplevich. This implementation has a few nice extensions and outputs many different image formats.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*[http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC] &amp;amp;mdash; by Dwight Aplevich&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Linux Command Line Tools]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Linux Command Line Tools]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Graphics software]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Graphics software]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Christoph</name></author>	</entry>

	<entry>
		<id>http://wiki.christophchamp.com/index.php?title=Pic_language&amp;diff=4192&amp;oldid=prev</id>
		<title>Christoph at 05:47, 3 July 2007</title>
		<link rel="alternate" type="text/html" href="http://wiki.christophchamp.com/index.php?title=Pic_language&amp;diff=4192&amp;oldid=prev"/>
				<updated>2007-07-03T05:47:09Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Pic''' is a domain-specific language by Brian Kernighan for specifying diagrams in terms of objects such as boxes with arrows between them. The pic compiler translates this description into concrete drawing commands. Pic is a procedural programming language, with variable assignment, macros, conditionals, and looping.&lt;br /&gt;
&lt;br /&gt;
Pic has some similarity with [[wikipedia:MetaPost|MetaPost]] and the [[wikipedia:DOT language|DOT language]].&lt;br /&gt;
&lt;br /&gt;
==Example PIC file==&lt;br /&gt;
Create a file, &amp;lt;code&amp;gt;foo.pic&amp;lt;/code&amp;gt;, with the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.PS&lt;br /&gt;
# Draw a demonstration up left arrow with grid box overlay&lt;br /&gt;
define gridarrow&lt;br /&gt;
{&lt;br /&gt;
    move right 0.1&lt;br /&gt;
    [&lt;br /&gt;
        {arrow up left $1;}&lt;br /&gt;
        box wid 0.5 ht 0.5 dotted with .nw at last arrow .end;&lt;br /&gt;
        for i = 2 to ($1 / 0.5) do&lt;br /&gt;
        {&lt;br /&gt;
            box wid 0.5 ht 0.5 dotted with .sw at last box .se;&lt;br /&gt;
        }&lt;br /&gt;
        move down from last arrow .center;&lt;br /&gt;
        [&lt;br /&gt;
            if ( $1 == boxht ) \&lt;br /&gt;
            then { &amp;quot;\fBline up left\fP&amp;quot; } \&lt;br /&gt;
            else { sprintf(&amp;quot;\fBarrow up left %g\fP&amp;quot;, $1) };&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
    move right 0.1 from last [] .e;&lt;br /&gt;
}&lt;br /&gt;
gridarrow(0.5);&lt;br /&gt;
gridarrow(1);&lt;br /&gt;
gridarrow(1.5);&lt;br /&gt;
gridarrow(2);&lt;br /&gt;
undef gridarrow&lt;br /&gt;
.PE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, turn this PIC into a PNG with:&lt;br /&gt;
 pic2plot -T png -f 0.012 --bitmap-size 1000x1000 foo.pic &amp;gt;foo.png&lt;br /&gt;
 convert -crop 0x0 foo.png foo.png&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*Kernighan BW (1982). &amp;quot;PIC: a language for typesetting graphics&amp;quot;. ''Software Practice Experience, 12:1-20''.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic.html Making Pictures With GNU PIC]&lt;br /&gt;
*[http://www.kohala.com/start/troff/troff.html Troff resources (see the &amp;quot;pic&amp;quot; section)]&lt;br /&gt;
*[http://www.kohala.com/start/troff/pic2html.html Turning PIC into HTML&lt;br /&gt;
*[http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC], an implementation of the PIC language by Dwight Aplevich.  This implementation has a few nice extensions and outputs many different image formats.&lt;br /&gt;
*[http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC] &amp;amp;mdash; by Dwight Aplevich&lt;br /&gt;
&lt;br /&gt;
[[category:Linux Command Line Tools]]&lt;br /&gt;
[[category:Graphics software]]&lt;/div&gt;</summary>
		<author><name>Christoph</name></author>	</entry>

	</feed>