summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tlc2/Escher.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/tlc2/Escher.ps')
-rw-r--r--Master/texmf-dist/doc/latex/tlc2/Escher.ps63
1 files changed, 63 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tlc2/Escher.ps b/Master/texmf-dist/doc/latex/tlc2/Escher.ps
new file mode 100644
index 00000000000..87e6b36a84f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tlc2/Escher.ps
@@ -0,0 +1,63 @@
+%!
+%%BoundingBox: 0 0 236 236
+% M. C. Escher style impossible triangle
+% written by Guy Shaw
+
+% Things that are easy to play with:
+% Position on paper, overall size, and linewidth
+/inch { 72 mul } bind def
+
+gsave
+
+.15 inch 0 translate
+3 inch dup scale
+1 3 inch div setlinewidth
+
+% Thickness parameter:
+% /Thick is the thickness of the structural members of the triange,
+% as a fraction of the height of the triangle.
+% Reasonable looking impossible triangles can be obtained with Thick <= 1/6.
+% right at /Thick == 1/6, there is no space left inside the triangle.
+% /Thick > 1/6 yields bizarre, but not very interesting results.
+% /Thick < 1/20 is less interesting, because the "impossibility"
+% is not so striking when the structural members are that thin.
+% A good "standard" value is 1/8.
+
+/Thick 1 8 div def
+
+% You would not normally want to change anything that follows.
+
+/Tall 1 def
+/HalfThick Thick .5 mul def
+
+newpath
+ HalfThick Thick moveto
+ Thick 0 lineto
+ 1 Thick sub 0 lineto
+ 1 HalfThick sub Thick lineto
+ .5 HalfThick add Tall Thick sub lineto
+
+ 1 Thick sub 0 moveto
+ .5 HalfThick add Tall 3 Thick mul sub lineto
+ Thick 3 mul Thick 2 mul lineto
+
+ 1 Thick 2.5 mul sub Thick moveto
+ .5 Tall Thick 4 mul sub lineto
+stroke
+
+newpath
+ HalfThick Thick moveto
+ 1 Thick 2.5 mul sub Thick lineto
+ HalfThick neg Thick rlineto
+ Thick Thick add Thick Thick add lineto
+ .5 HalfThick add Tall Thick sub lineto
+ Thick neg 0 rlineto
+ closepath
+fill
+grestore
+/Helvetica findfont 30 scalefont setfont
+0 5 moveto (L) show
+3.1 inch 5 moveto (R) show
+1.6 inch 2.7 inch moveto (T) show
+showpage
+