[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: doc: Add reference card.
From: |
Ludovic Courtès |
Subject: |
01/01: doc: Add reference card. |
Date: |
Fri, 19 Oct 2018 09:17:37 -0400 (EDT) |
civodul pushed a commit to branch master
in repository maintenance.
commit 1f6ba595f4bb2121c84e30101595f952fbc227a2
Author: Ludovic Courtès <address@hidden>
Date: Tue Oct 9 15:53:51 2018 +0200
doc: Add reference card.
* doc/refcard: New directory.
---
doc/refcard/Guix-horizontal-print.eps | 367 +++++++++++++++++++++++++++++
doc/refcard/build.scm | 138 +++++++++++
doc/refcard/charis-fonts.ld | 40 ++++
doc/refcard/cm-fonts.ld | 35 +++
doc/refcard/gentium-fonts.ld | 29 +++
doc/refcard/guix-refcard.lout | 233 ++++++++++++++++++
doc/refcard/refcard-style.lout | 432 ++++++++++++++++++++++++++++++++++
7 files changed, 1274 insertions(+)
diff --git a/doc/refcard/Guix-horizontal-print.eps
b/doc/refcard/Guix-horizontal-print.eps
new file mode 100644
index 0000000..be9200a
--- /dev/null
+++ b/doc/refcard/Guix-horizontal-print.eps
@@ -0,0 +1,367 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.10 (http://cairographics.org)
+%%CreationDate: Mon Oct 1 09:31:17 2018
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 -1 185 64
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind
def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file
flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 185 64
+%%EndPageSetup
+q 0 -1 185 65 rectclip q
+1 0.74902 0.176471 rg
+101.789 63.496 m 100.711 61.52 99.613 59.91 98.492 58.645 c 97.414 57.414
+ 96.223 56.43 94.918 55.684 c 93.648 54.977 92.211 54.465 90.609 54.168
+c 89.043 53.906 87.246 53.773 85.195 53.773 c 83.684 53.773 82.324 53.852
+ 81.133 54 c 81.129 54 81.117 54 81.113 54 c 80.961 54.008 80.648 54.062
+ 80.328 54.113 c 79.988 54.164 79.641 54.215 79.09 54.316 c 69.043 56.176
+ 65.707 49.199 64.988 47.277 c 64.875 46.973 64.82 46.789 64.82 46.789 c
+ 52.609 12.738 l 45.117 0.004 l 60.082 0.004 l 66.227 13.688 72.137 42.262
+ 78.453 44.785 c 79.824 44.594 81.52 44.504 83.566 44.504 c 86.25 44.504
+ 88.652 44.824 90.777 45.496 c 92.902 46.168 94.812 47.207 96.527 48.625
+ c 98.242 50.078 99.793 51.93 101.172 54.168 c 102.59 56.402 103.93 59.09
+ 105.199 62.223 c h
+101.789 63.496 m f
+Q q
+77 63.5 29 -20 re W n
+101.789 63.492 m 100.707 61.52 99.613 59.91 98.492 58.645 c 97.414 57.414
+ 96.219 56.43 94.914 55.684 c 94.602 55.508 94.277 55.348 93.945 55.199
+c 93.941 55.199 93.938 55.191 93.934 55.191 c 93.516 54.895 92.973 54.641
+ 92.238 54.465 c 83.77 52.449 78 44.898 77.457 44.172 c 77.703 44.371 77.949
+ 44.535 78.199 44.664 c 78.234 44.684 78.27 44.699 78.309 44.719 c 78.312
+ 44.719 78.32 44.727 78.324 44.727 c 78.367 44.746 78.414 44.766 78.457
+44.785 c 79.824 44.59 81.523 44.5 83.566 44.5 c 86.25 44.5 88.652 44.824
+ 90.777 45.496 c 92.902 46.168 94.812 47.207 96.527 48.621 c 98.242 50.074
+ 99.793 51.93 101.172 54.168 c 102.59 56.402 103.934 59.09 105.199 62.223
+ c h
+101.789 63.492 m W n
+q
+77 63.5 29 -20 re W n
+[ 1 0 0 1 0 -0.5 ] concat
+ q
+q
+101.789 63.992 m 100.707 62.02 99.613 60.41 98.492 59.145 c 97.414 57.914
+ 96.219 56.93 94.914 56.184 c 94.602 56.008 94.277 55.848 93.945 55.699
+c 93.941 55.699 93.938 55.691 93.934 55.691 c 93.516 55.395 92.973 55.141
+ 92.238 54.965 c 83.77 52.949 78 45.398 77.457 44.672 c 77.703 44.871 77.949
+ 45.035 78.199 45.164 c 78.234 45.184 78.27 45.199 78.309 45.219 c 78.312
+ 45.219 78.32 45.227 78.324 45.227 c 78.367 45.246 78.414 45.266 78.457
+45.285 c 79.824 45.09 81.523 45 83.566 45 c 86.25 45 88.652 45.324 90.777
+ 45.996 c 92.902 46.668 94.812 47.707 96.527 49.121 c 98.242 50.574 99.793
+ 52.43 101.172 54.668 c 102.59 56.902 103.934 59.59 105.199 62.723 c h
+101.789 63.992 m W n
+[0.599312 0 0 -0.599312 -8.258654 92.461508] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 0.890196 0.27451 0.27451 ]
+ /C1 [ 1 0.74902 0.176471 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 142.96875 63.65625 176.604767 70.667412 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+ Q
+Q
+Q q
+1 0.74902 0.176471 rg
+3.41 63.496 m 4.488 61.52 5.586 59.91 6.707 58.645 c 7.785 57.414 8.977
+ 56.43 10.281 55.684 c 11.551 54.977 12.988 54.465 14.59 54.168 c 16.156
+ 53.906 17.953 53.773 20.004 53.773 c 21.516 53.773 22.875 53.852 24.066
+ 54 c 24.07 54 24.082 54 24.086 54 c 24.238 54.008 24.551 54.062 24.871
+54.113 c 25.211 54.164 25.559 54.215 26.109 54.316 c 36.156 56.176 39.492
+ 49.199 40.211 47.277 c 40.324 46.973 40.379 46.789 40.379 46.789 c 52.59
+ 12.738 l 60.082 0.004 l 45.117 0.004 l 38.973 13.688 33.062 42.262 26.746
+ 44.785 c 25.375 44.594 23.68 44.504 21.633 44.504 c 18.949 44.504 16.547
+ 44.824 14.422 45.496 c 12.297 46.168 10.387 47.207 8.672 48.625 c 6.957
+ 50.078 5.406 51.93 4.027 54.168 c 2.609 56.402 1.27 59.09 0 62.223 c h
+3.41 63.496 m f
+Q q
+0 63.5 59 -64 re W n
+3.41 63.496 m 4.488 61.52 5.586 59.91 6.703 58.645 c 7.785 57.414 8.977
+ 56.43 10.281 55.684 c 11.551 54.977 12.988 54.465 14.59 54.168 c 16.156
+ 53.906 17.953 53.773 20.004 53.773 c 21.516 53.773 22.871 53.852 24.066
+ 54 c 24.07 54 24.078 54 24.086 54 c 24.234 54.012 24.547 54.062 24.871
+54.113 c 25.211 54.164 25.559 54.215 26.109 54.316 c 36.156 56.176 39.488
+ 49.199 40.211 47.277 c 40.324 46.977 40.379 46.789 40.379 46.789 c 52.59
+ 12.742 l 58.883 0.004 l 45.117 0.004 l 38.973 13.688 33.062 42.262 26.746
+ 44.785 c 25.375 44.594 23.676 44.504 21.633 44.504 c 18.949 44.504 16.547
+ 44.824 14.422 45.496 c 12.297 46.168 10.387 47.207 8.672 48.625 c 6.957
+ 50.078 5.406 51.934 4.027 54.168 c 2.609 56.402 1.266 59.09 0 62.223 c
+h
+3.41 63.496 m W n
+q
+0 63.5 59 -64 re W n
+[ 1 0 0 1 0 -0.5 ] concat
+ q
+q
+3.41 63.996 m 4.488 62.02 5.586 60.41 6.703 59.145 c 7.785 57.914 8.977
+ 56.93 10.281 56.184 c 11.551 55.477 12.988 54.965 14.59 54.668 c 16.156
+ 54.406 17.953 54.273 20.004 54.273 c 21.516 54.273 22.871 54.352 24.066
+ 54.5 c 24.07 54.5 24.078 54.5 24.086 54.5 c 24.234 54.512 24.547 54.562
+ 24.871 54.613 c 25.211 54.664 25.559 54.715 26.109 54.816 c 36.156 56.676
+ 39.488 49.699 40.211 47.777 c 40.324 47.477 40.379 47.289 40.379 47.289
+ c 52.59 13.242 l 58.883 0.504 l 45.117 0.504 l 38.973 14.188 33.062 42.762
+ 26.746 45.285 c 25.375 45.094 23.676 45.004 21.633 45.004 c 18.949 45.004
+ 16.547 45.324 14.422 45.996 c 12.297 46.668 10.387 47.707 8.672 49.125
+c 6.957 50.578 5.406 52.434 4.027 54.668 c 2.609 56.902 1.266 59.59 0 62.723
+ c h
+3.41 63.996 m W n
+[0.599312 0 0 -0.599312 -8.278026 603.293107] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 0.890196 0.27451 0.27451 ]
+ /C1 [ 1 0.74902 0.176471 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 113.514603 1004.803284 78.000107 922.071777 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+ Q
+Q
+Q q
+45 13.5 16 -14 re W n
+52.586 12.746 m 45.125 0.004 l 60.082 0.004 l W n
+q
+45 13.5 16 -14 re W n
+[ 1 0 0 1 0 -0.5 ] concat
+ q
+q
+52.586 13.246 m 45.125 0.504 l 60.082 0.504 l W n
+[-0.335594 0 0 -0.335594 86.287438 351.768063] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 1 0.713726 0.219608 ]
+ /C1 [ 0.941176 0.682353 0.14902 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 108.087738 1025.708984 80.655251 1043.708984 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+ Q
+Q
+Q q
+0 63.5 28 -20 re W n
+3.41 63.492 m 0 62.223 l 0.398 61.242 0.801 60.309 1.211 59.418 c 1.293
+ 59.238 1.375 59.062 1.457 58.887 c 1.539 58.715 1.625 58.543 1.707 58.371
+ c 1.734 58.316 1.762 58.262 1.793 58.203 c 1.93 57.922 2.066 57.641 2.207
+ 57.363 c 2.211 57.363 2.211 57.363 2.211 57.363 c 2.297 57.203 2.379 57.039
+ 2.465 56.879 c 2.805 56.234 3.148 55.621 3.5 55.031 c 3.586 54.887 3.672
+ 54.742 3.762 54.602 c 3.797 54.543 3.828 54.488 3.863 54.434 c 3.918 54.348
+ 3.973 54.258 4.027 54.172 c 4.113 54.035 4.199 53.895 4.285 53.758 c 4.426
+ 53.539 4.57 53.328 4.715 53.117 c 4.75 53.062 4.785 53.012 4.82 52.957
+c 4.91 52.824 5 52.695 5.094 52.57 c 5.277 52.312 5.461 52.062 5.648 51.82
+ c 5.746 51.699 5.84 51.578 5.934 51.461 c 6.125 51.223 6.32 50.992 6.516
+ 50.766 c 6.664 50.598 6.816 50.43 6.969 50.266 c 7.016 50.215 7.062 50.164
+ 7.113 50.109 c 7.316 49.898 7.52 49.691 7.727 49.488 c 7.828 49.391 7.93
+ 49.293 8.035 49.195 c 8.141 49.098 8.246 49 8.352 48.906 c 8.457 48.812
+ 8.562 48.723 8.672 48.633 c 8.992 48.367 9.32 48.113 9.656 47.875 c 10.551
+ 47.234 11.496 46.691 12.492 46.242 c 12.617 46.184 12.738 46.129 12.867
+ 46.074 c 13.121 45.969 13.375 45.867 13.637 45.77 c 13.766 45.723 13.895
+ 45.68 14.023 45.633 c 14.156 45.59 14.289 45.547 14.422 45.504 c 14.555
+ 45.461 14.688 45.422 14.82 45.383 c 15.094 45.305 15.367 45.23 15.645 45.16
+ c 15.785 45.129 15.926 45.098 16.066 45.066 c 16.207 45.035 16.352 45.004
+ 16.492 44.977 c 16.637 44.945 16.781 44.922 16.93 44.895 c 17.219 44.844
+ 17.516 44.797 17.816 44.754 c 18.266 44.695 18.727 44.641 19.199 44.605
+ c 19.512 44.578 19.828 44.559 20.152 44.543 c 20.473 44.527 20.801 44.52
+ 21.133 44.516 c 21.297 44.516 21.465 44.516 21.633 44.516 c 21.887 44.516
+ 22.137 44.516 22.383 44.516 c 22.875 44.523 23.34 44.531 23.789 44.551
+c 24.012 44.559 24.23 44.566 24.441 44.578 c 24.652 44.59 24.863 44.605
+25.066 44.617 c 25.672 44.664 26.23 44.719 26.746 44.789 c 26.789 44.773
+ 26.832 44.754 26.875 44.734 c 26.883 44.734 26.887 44.727 26.891 44.727
+ c 26.93 44.707 26.965 44.691 27.004 44.672 c 27.25 44.543 27.496 44.379
+ 27.742 44.176 c 27.203 44.906 21.434 52.453 12.961 54.473 c 12.227 54.645
+ 11.688 54.902 11.266 55.195 c 11.262 55.195 11.258 55.203 11.258 55.203
+ c 10.922 55.355 10.598 55.516 10.285 55.691 c 10.285 55.691 10.281 55.691
+ 10.281 55.691 c 10.199 55.738 10.121 55.785 10.039 55.836 c 10.039 55.836
+ 10.039 55.832 10.039 55.836 c 9.957 55.883 9.879 55.934 9.801 55.98 c 9.641
+ 56.082 9.48 56.188 9.324 56.297 c 9.246 56.348 9.168 56.406 9.09 56.461
+ c 8.938 56.574 8.785 56.688 8.633 56.809 c 8.559 56.867 8.484 56.926 8.41
+ 56.988 c 8.336 57.051 8.262 57.113 8.188 57.176 c 8.113 57.242 8.043 57.305
+ 7.969 57.371 c 7.605 57.699 7.25 58.047 6.91 58.422 c 6.84 58.496 6.77
+58.574 6.703 58.652 c 6.453 58.934 6.207 59.23 5.961 59.547 c 5.93 59.586
+ 5.902 59.629 5.871 59.668 c 5.801 59.758 5.73 59.848 5.66 59.941 c 5.316
+ 60.402 4.973 60.902 4.633 61.434 c 4.496 61.648 4.359 61.867 4.223 62.09
+ c 4.156 62.203 4.086 62.312 4.02 62.43 c 3.816 62.773 3.613 63.129 3.41
+ 63.5 c h
+3.41 63.492 m W n
+q
+0 63.5 28 -20 re W n
+[ 1 0 0 1 0 -0.5 ] concat
+ q
+q
+3.41 63.992 m 0 62.723 l 0.398 61.742 0.801 60.809 1.211 59.918 c 1.293
+ 59.738 1.375 59.562 1.457 59.387 c 1.539 59.215 1.625 59.043 1.707 58.871
+ c 1.734 58.816 1.762 58.762 1.793 58.703 c 1.93 58.422 2.066 58.141 2.207
+ 57.863 c 2.211 57.863 2.211 57.863 2.211 57.863 c 2.297 57.703 2.379 57.539
+ 2.465 57.379 c 2.805 56.734 3.148 56.121 3.5 55.531 c 3.586 55.387 3.672
+ 55.242 3.762 55.102 c 3.797 55.043 3.828 54.988 3.863 54.934 c 3.918 54.848
+ 3.973 54.758 4.027 54.672 c 4.113 54.535 4.199 54.395 4.285 54.258 c 4.426
+ 54.039 4.57 53.828 4.715 53.617 c 4.75 53.562 4.785 53.512 4.82 53.457
+c 4.91 53.324 5 53.195 5.094 53.07 c 5.277 52.812 5.461 52.562 5.648 52.32
+ c 5.746 52.199 5.84 52.078 5.934 51.961 c 6.125 51.723 6.32 51.492 6.516
+ 51.266 c 6.664 51.098 6.816 50.93 6.969 50.766 c 7.016 50.715 7.062 50.664
+ 7.113 50.609 c 7.316 50.398 7.52 50.191 7.727 49.988 c 7.828 49.891 7.93
+ 49.793 8.035 49.695 c 8.141 49.598 8.246 49.5 8.352 49.406 c 8.457 49.312
+ 8.562 49.223 8.672 49.133 c 8.992 48.867 9.32 48.613 9.656 48.375 c 10.551
+ 47.734 11.496 47.191 12.492 46.742 c 12.617 46.684 12.738 46.629 12.867
+ 46.574 c 13.121 46.469 13.375 46.367 13.637 46.27 c 13.766 46.223 13.895
+ 46.18 14.023 46.133 c 14.156 46.09 14.289 46.047 14.422 46.004 c 14.555
+ 45.961 14.688 45.922 14.82 45.883 c 15.094 45.805 15.367 45.73 15.645 45.66
+ c 15.785 45.629 15.926 45.598 16.066 45.566 c 16.207 45.535 16.352 45.504
+ 16.492 45.477 c 16.637 45.445 16.781 45.422 16.93 45.395 c 17.219 45.344
+ 17.516 45.297 17.816 45.254 c 18.266 45.195 18.727 45.141 19.199 45.105
+ c 19.512 45.078 19.828 45.059 20.152 45.043 c 20.473 45.027 20.801 45.02
+ 21.133 45.016 c 21.297 45.016 21.465 45.016 21.633 45.016 c 21.887 45.016
+ 22.137 45.016 22.383 45.016 c 22.875 45.023 23.34 45.031 23.789 45.051
+c 24.012 45.059 24.23 45.066 24.441 45.078 c 24.652 45.09 24.863 45.105
+25.066 45.117 c 25.672 45.164 26.23 45.219 26.746 45.289 c 26.789 45.273
+ 26.832 45.254 26.875 45.234 c 26.883 45.234 26.887 45.227 26.891 45.227
+ c 26.93 45.207 26.965 45.191 27.004 45.172 c 27.25 45.043 27.496 44.879
+ 27.742 44.676 c 27.203 45.406 21.434 52.953 12.961 54.973 c 12.227 55.145
+ 11.688 55.402 11.266 55.695 c 11.262 55.695 11.258 55.703 11.258 55.703
+ c 10.922 55.855 10.598 56.016 10.285 56.191 c 10.285 56.191 10.281 56.191
+ 10.281 56.191 c 10.199 56.238 10.121 56.285 10.039 56.336 c 10.039 56.336
+ 10.039 56.332 10.039 56.336 c 9.957 56.383 9.879 56.434 9.801 56.48 c 9.641
+ 56.582 9.48 56.688 9.324 56.797 c 9.246 56.848 9.168 56.906 9.09 56.961
+ c 8.938 57.074 8.785 57.188 8.633 57.309 c 8.559 57.367 8.484 57.426 8.41
+ 57.488 c 8.336 57.551 8.262 57.613 8.188 57.676 c 8.113 57.742 8.043 57.805
+ 7.969 57.871 c 7.605 58.199 7.25 58.547 6.91 58.922 c 6.84 58.996 6.77
+59.074 6.703 59.152 c 6.453 59.434 6.207 59.73 5.961 60.047 c 5.93 60.086
+ 5.902 60.129 5.871 60.168 c 5.801 60.258 5.73 60.348 5.66 60.441 c 5.316
+ 60.902 4.973 61.402 4.633 61.934 c 4.496 62.148 4.359 62.367 4.223 62.59
+ c 4.156 62.703 4.086 62.812 4.02 62.93 c 3.816 63.273 3.613 63.629 3.41
+ 64 c h
+3.41 63.992 m W n
+[-0.599312 0 0 -0.599312 113.457837 92.461733] concat
+/CairoFunction
+ << /FunctionType 2
+ /Domain [ 0 1 ]
+ /C0 [ 0.890196 0.27451 0.27451 ]
+ /C1 [ 1 0.74902 0.176471 ]
+ /N 1
+ >>
+def
+ << /ShadingType 2
+ /ColorSpace /DeviceRGB
+ /Coords [ 142.96875 63.65625 177.042969 69.791016 ]
+ /Extend [ true true ]
+ /Function CairoFunction
+ >>
+shfill
+Q
+ Q
+Q
+Q q
+0.2 g
+111.191 3.086 m 109.074 2.059 106.879 1.285 104.602 0.77 c 102.32 0.258
+ 99.969 0 97.547 0 c 92.062 0 87.719 1.527 84.516 4.586 c 81.312 7.656 79.711
+ 11.816 79.711 17.062 c 79.711 22.371 81.34 26.543 84.605 29.586 c 87.867
+ 32.629 92.336 34.148 98.008 34.148 c 100.199 34.148 102.293 33.945 104.293
+ 33.531 c 106.305 33.121 108.203 32.512 109.98 31.703 c 109.98 24.891 l
+108.141 25.934 106.312 26.711 104.488 27.227 c 102.684 27.742 100.867 28
+ 99.043 28 c 95.664 28 93.055 27.051 91.219 25.156 c 89.395 23.273 88.484
+ 20.574 88.484 17.062 c 88.484 13.578 89.367 10.891 91.129 8.992 c 92.895
+ 7.098 95.398 6.148 98.648 6.148 c 99.531 6.148 100.344 6.199 101.094 6.305
+ c 101.859 6.422 102.543 6.598 103.145 6.832 c 103.145 13.227 l 97.965 13.227
+ l 97.965 18.914 l 111.191 18.914 l 111.191 3.086 l f
+114.891 10.25 m 114.891 25.332 l 122.828 25.332 l 122.828 22.863 l 122.828
+ 21.523 122.82 19.84 122.805 17.812 c 122.793 15.801 122.785 14.453 122.785
+ 13.777 c 122.785 11.793 122.836 10.359 122.938 9.48 c 123.043 8.613 123.219
+ 7.98 123.469 7.582 c 123.789 7.07 124.211 6.672 124.723 6.395 c 125.254
+ 6.113 125.855 5.973 126.531 5.973 c 128.18 5.973 129.473 6.605 130.414
+7.871 c 131.352 9.133 131.824 10.891 131.824 13.141 c 131.824 25.332 l 139.715
+ 25.332 l 139.715 0.637 l 131.824 0.637 l 131.824 4.211 l 130.633 2.77 129.367
+ 1.703 128.031 1.012 c 126.707 0.336 125.246 0 123.645 0 c 120.793 0 118.617
+ 0.875 117.117 2.621 c 115.633 4.371 114.891 6.914 114.891 10.25 c f
+144.207 25.332 m 152.102 25.332 l 152.102 0.637 l 144.207 0.637 l 144.207
+ 25.332 l 144.207 34.941 m 152.102 34.941 l 152.102 28.504 l 144.207 28.504
+ l 144.207 34.941 l f
+165.969 13.27 m 157.062 25.332 l 165.418 25.332 l 170.465 18.012 l 175.582
+ 25.332 l 183.938 25.332 l 175.031 13.316 l 184.379 0.637 l 176.023 0.637
+ l 170.465 8.441 l 164.977 0.637 l 156.621 0.637 l 165.969 13.27 l f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/refcard/build.scm b/doc/refcard/build.scm
new file mode 100644
index 0000000..9cb3c56
--- /dev/null
+++ b/doc/refcard/build.scm
@@ -0,0 +1,138 @@
+;; Build file for the GNU Guix Reference Card.
+;; Run "guix build -f build.scm".
+;;
+;; Copyright © 2018 Ludovic Courtès <address@hidden>
+;; Released under the GNU GPLv3 or any later version.
+
+(use-modules (guix) (gnu)
+ (guix git-download)
+ (guix build-system trivial)
+ ((guix licenses) #:prefix license:)
+ (gnu packages tex))
+
+(define ghostscript (specification->package "ghostscript"))
+(define lout (specification->package "lout"))
+(define font-gentium (specification->package "font-sil-gentium"))
+(define font-charis (specification->package "font-sil-charis"))
+(define coreutils (specification->package "coreutils"))
+(define ttf2pt1 (specification->package "ttf2pt1"))
+
+(define-public texlive-latex-lm
+ ;; XXX: This package contains the Type1 fonts (pfa and afm files) built by
+ ;; upstream; it does *not* rebuild them from the METAPOST source, which is
+ ;; why we're not including it in Guix proper.
+ (package
+ (name "texlive-latex-lm")
+ (version "2.004")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+
"http://www.gust.org.pl/projects/e-foundry/latin-modern/download/lm"
+ version "bas.zip"))
+ (sha256
+ (base32
+ "0z2s253y751m2ci5aw8nq0sf2kyg9hpimv2gyixkch9d07m2b9wp"))))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (unzip (assoc-ref %build-inputs "unzip"))
+ (out (assoc-ref %outputs "out"))
+ (texmf (string-append out "/share/texmf-dist")))
+ (mkdir-p texmf)
+ (with-directory-excursion texmf
+ (invoke (string-append unzip "/bin/unzip") source))))))
+ (native-inputs
+ `(("unzip" ,(specification->package "unzip"))))
+ (home-page "http://www.gust.org.pl/projects/e-foundry/latin-modern/")
+ (synopsis "Latin modern fonts in outline formats")
+ (description
+ "The Latin Modern family of fonts consists of 72 text fonts and 20
+mathematics fonts, and is based on the Computer Modern fonts released into
+public domain by AMS. The @code{lm} font set contains a lot of additional
+characters, mainly accented ones, but not exclusively. There is one set of
+fonts, available both in Adobe Type 1 format (*.pfb) and in OpenType
+format (@file{.otf}). There are five sets of TeX Font Metric files,
+corresponding to: Cork encoding (@file{cork-*.tfm}); QX
+encoding (@file{qx-*.tfm}); TeX ANSI aka LY1 encoding (@file{texnansi-*.tfm});
+T5 (Vietnamese) encoding (@file{t5-*.tfm}); and Text Companion for EC fonts
+aka TS1 (@file{ts1-*.tfm}).")
+ (license license:gfl1.0)))
+
+(define (truetype->type1 fonts)
+ "Return a directory containing Type 1 .afm and .pfa files for FONTS."
+ (define build
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils)
+ (srfi srfi-1))
+
+ (define ttf-files
+ (append-map (lambda (font)
+ (find-files font "\\.ttf$"))
+ '#$fonts))
+
+ (define directory
+ (string-append #$output "/share/fonts/type1"))
+
+ (mkdir-p directory)
+ (for-each (lambda (ttf)
+ (let ((base (string-append directory "/"
+ (basename ttf ".ttf") )))
+ (invoke #$(file-append ttf2pt1 "/bin/ttf2pt1")
+ "-e" ttf base)))
+ ttf-files))))
+
+ (computed-file "type1-fonts" build))
+
+(define* (lout->pdf directory file #:key
+ (fonts (list font-gentium font-charis)))
+ "Build Lout source FILE, taken from DIRECTORY, and return the resulting
+PDF."
+ (define font-directory
+ (truetype->type1 fonts))
+
+ (define build
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+
+ (define ps-file
+ (string-append #$output "/"
+ #$(basename file ".lout") ".ps"))
+
+ (define pdf-file
+ (string-append #$output "/"
+ #$(basename file ".lout") ".pdf"))
+
+ (mkdir #$output)
+ (copy-recursively #$directory ".")
+ (invoke #$(file-append lout "/bin/lout") "-a" "-r3"
+ "-I."
+ "-F" #$(file-append font-directory "/share/fonts/type1")
+ "-F" #$(file-append texlive-latex-lm
+ "/share/texmf-dist/fonts/afm/public/lm")
+ "-s" #$file "-o" ps-file)
+
+ (setenv "PATH" (string-join '(#$ghostscript #$coreutils)
+ "/bin:" 'suffix))
+ (setenv "GS_FONTPATH"
+ (string-append #$font-directory "/share/fonts/type1:"
+ #$texlive-latex-lm
+ "/share/texmf-dist/fonts/type1/public/lm"))
+ (invoke #$(file-append ghostscript "/bin/ps2pdf")
+ "-dPDFSETTINGS=/prepress" "-sPAPERSIZE=a4"
+ ps-file pdf-file))))
+
+ (computed-file (basename file ".lout") build))
+
+(define this-directory
+ (local-file (dirname (assoc-ref (current-source-location) 'filename))
+ "guix-refcard-source"
+ #:recursive? #t
+ #:select? (git-predicate ".")))
+
+(lout->pdf this-directory "guix-refcard.lout")
diff --git a/doc/refcard/charis-fonts.ld b/doc/refcard/charis-fonts.ld
new file mode 100644
index 0000000..2d171ab
--- /dev/null
+++ b/doc/refcard/charis-fonts.ld
@@ -0,0 +1,40 @@
+# Charis font family by SIL. -*- Lout -*-
+# http://scripts.sil.org/CharisSIL_download
+
+{ @FontDef
+ @Tag { "CharisSIL-Base" }
+ @Family { "CharisSIL" }
+ @Face { "Base" }
+ @Name { "CharisSIL" }
+ @Metrics { "CharisSIL-R.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+{ @FontDef
+ @Tag { "CharisSIL-Bold" }
+ @Family { "CharisSIL" }
+ @Face { "Bold" }
+ @Name { "CharisSIL-Bold" }
+ @Metrics { "CharisSIL-B.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+{ @FontDef
+ @Tag { "CharisSIL-Slope" }
+ @Family { "CharisSIL" }
+ @Face { "Slope" }
+ @Name { "CharisSIL-Italic" }
+ @Metrics { "CharisSIL-I.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+{ @FontDef
+ @Tag { "CharisSIL-BoldSlope" }
+ @Family { "CharisSIL" }
+ @Face { "BoldSlope" }
+ @Name { "CharisSIL-BoldItalic" }
+ @Metrics { "CharisSIL-BI.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+# arch-tag: f4dfd60c-be65-4523-bf3b-01a50efbf39a
diff --git a/doc/refcard/cm-fonts.ld b/doc/refcard/cm-fonts.ld
new file mode 100644
index 0000000..1ea95ba
--- /dev/null
+++ b/doc/refcard/cm-fonts.ld
@@ -0,0 +1,35 @@
+# Latin Modern fonts for -*- Lout -*-.
+# The original Computer Modern fonts do not have accented characters.
+
+# Latin Modern Typewriter.
+
+{ @FontDef
+ @Tag { LMT-Base }
+ @Family { LMT }
+ @Face { Base }
+ @Name { LMMono10-Regular }
+ @Metrics { lmtt10.afm }
+ @Mapping { LtLatin1.LCM }
+ @Recode { Yes }
+}
+
+{ @FontDef
+ # XXX: Just cheating to hide the lack of a `Bold' variant
+ @Tag { LMT-Bold }
+ @Family { LMT }
+ @Face { Bold }
+ @Name { LMMono10-Regular }
+ @Metrics { lmtt10.afm }
+ @Mapping { LtLatin1.LCM }
+ @Recode { Yes }
+}
+
+{ @FontDef
+ @Tag { LMT-Slope }
+ @Family { LMT }
+ @Face { Slope }
+ @Name { LMMono10-Italic }
+ @Metrics { lmtti10.afm }
+ @Mapping { LtLatin1.LCM }
+ @Recode { Yes }
+}
diff --git a/doc/refcard/gentium-fonts.ld b/doc/refcard/gentium-fonts.ld
new file mode 100644
index 0000000..9ea6c50
--- /dev/null
+++ b/doc/refcard/gentium-fonts.ld
@@ -0,0 +1,29 @@
+# Gentium fonts by SIL (converted from TTF using `ttf2pt1').
+#
+# Despite its lack of ligatures, it is rather beautiful. It doesn't have
+# old-style figures either; yet, its figures are reasonably high. Likewise,
+# capitals are not very high.
+#
+# Unfortunately, it lacks a bold variant.
+#
+# http://scripts.sil.org/Gentium
+
+{ @FontDef
+ @Tag { "GentiumPlus-Base" }
+ @Family { "GentiumPlus" }
+ @Face { "Base" }
+ @Name { "GentiumPlus" }
+ @Metrics { "GentiumPlus-R.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+{ @FontDef
+ @Tag { "GentiumPlus-Slope" }
+ @Family { "GentiumPlus" }
+ @Face { "Slope" }
+ @Name { "GentiumPlus-Italic" }
+ @Metrics { "GentiumPlus-I.afm" }
+ @Mapping { "LtLatin1.LCM" }
+}
+
+# arch-tag: ccbbde50-c8a9-4b5f-89fe-616132a277d7
diff --git a/doc/refcard/guix-refcard.lout b/doc/refcard/guix-refcard.lout
new file mode 100644
index 0000000..f95ad07
--- /dev/null
+++ b/doc/refcard/guix-refcard.lout
@@ -0,0 +1,233 @@
address@hidden @FontDef { gentium-fonts }
address@hidden @FontDef { charis-fonts }
address@hidden @FontDef { cm-fonts }
address@hidden { refcard-style.lout }
address@hidden { Guix-horizontal-print.eps }
+
+def @Var right x { { GentiumPlus Slope } @Font x }
+def @Dots { @Var { ... } }
+def @Category named @Title {} body @Body {
+ @LP { @Heading { @Title } @LP { @Body } }
+ //2fx
+}
+
+macro @C { @DP @CNP @Category @Title }
+
+
+def @URL right x {
+ x @ExternalLink { @I x }
+}
+
+def @Command named @Cmd {} right description {
+ { @F @Cmd }
+ |5.0ct 3.8c @Wide { { oragged hyphen setoutdent 0.2c } @Break { description
&1rt } }
+}
+
+macro @Entry { @LP @Command @Cmd }
+
+def @LongCommand named @Cmd {} right description {
+ { @F @Cmd } //1fx
+ |5ft { &0c description }
+}
+
+macro @LEntry { @LP @LongCommand @Cmd }
+
+macro @Footer {
+ @LP
+ @VExpand { }
+ @LP
+ @Right { 0.5 @Scale { @IncludeGraphic { Guix-horizontal-print.eps } } }
+}
+
address@hidden
+ @InitialFont { GentiumPlus Base 9p }
+ @InitialLanguage { English }
+ @InitialBreak { 1.2fx ragged unbreakablefirst unbreakablelast hyphen
marginkerning }
+ @OptimizePages { Yes }
+ @PageHeaders { None }
+//
+
address@hidden @Begin
+
address@hidden { 1.5f @Font { GNU Guix Reference Card } }
+//1.4fx { for version 0.16.0 }
+//1.2fx
address@hidden "https://gnu.org/software/guix/" }
+//2fx
+
address@hidden { Getting Started }
address@hidden
address@hidden
+To read the on-line documentation run @F { info~guix } or
+visit @URL { "https://gnu.org/s/guix/manual/en/html_node" }. See @URL {
+"https://emacs-guix.gitlab.io/website/" } for an Emacs interface to Guix.
address@hidden @Category
+
address@hidden { Specifying Packages }
address@hidden
address@hidden
+Most commands take a ``package specification'' denoted @Var { spec } in
+the sequel. Here are some examples:
address@hidden
address@hidden { emacs } { Emacs package, latest version }
address@hidden { "address@hidden" } { GCC toolchain, version 7.x }
address@hidden { "gcc-toolchain:debug" } { latest GCC toolchain, debugging
symbols }
address@hidden @Category
+
address@hidden { Managing Packages }
address@hidden
address@hidden { guix package -s @Var { regexp } @Dots } { search for
packages }
address@hidden { guix package "--"address@hidden { spec } } { show package
info }
address@hidden { guix package -i @Var { spec address@hidden } { install
packages }
address@hidden { guix package -u address@hidden { regexp }] } { upgrade
packages }
address@hidden { guix package -r @Var { address@hidden } { remove packages }
address@hidden { guix package -m @Var { file } } { instantiate from manifest }
address@hidden { guix package "--"roll-back } { roll back }
address@hidden { guix package -l } { list profile generations }
address@hidden { guix package "--"search-paths } { display search paths }
address@hidden { guix package -p @Var { profile } @Dots } { use a different
profile }
address@hidden @Category
+
address@hidden { Manifests }
address@hidden
address@hidden { guix package -m } and other commands take a ``manifest'' file
listing
+packages of interest, along these lines:
+
address@hidden 0.9f @Font 1.1fx @Break @F
address@hidden {
+(specifications->manifest
+ '("address@hidden" "address@hidden:debug"
+ "openmpi"))
+}
address@hidden @Category
+
address@hidden { One-Off Environments }
address@hidden
address@hidden { guix environment "--"ad-hoc @Var { spec address@hidden } {
+environment containing @Var { spec address@hidden }
address@hidden { guix environment python } { environment to develop Python
itself }
address@hidden { guix environment "--"ad-hoc python -C "--" python3 } { run
Python in a container }
address@hidden { guix environment -m @Var { file } } { create an environment
+for the packages in manifest @Var { file } }
address@hidden @Category
+
address@hidden { Updating Guix }
address@hidden
address@hidden { guix describe } { describe current Guix }
address@hidden { guix describe -f channels } { produce a channel spec }
address@hidden { guix pull } { update Guix }
address@hidden { guix pull -l } { view history }
address@hidden { guix pull "--"address@hidden { commit } } { update to @Var
{ commit } }
address@hidden { guix pull "--"address@hidden { branch } } { update to @Var
{ branch } }
address@hidden { guix pull -C @Var { file } } { update the given channels }
address@hidden @Category
+
address@hidden { Channel Specifications }
address@hidden
+Channels specify Git repositories where @F { guix pull } looks for updates to
+Guix and external package repositories. By default @F { guix pull }
+reads @F { "~/.config/guix/"channels.scm }; with @F { -C } it can take channel
specifications
+from a user-supplied file that looks like this:
address@hidden 0.9f @Font 1.1fx @Break @F
address@hidden
+(cons (channel
+ (name 'guix-hpc)
+ (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")
+ (branch "master"))
+ %default-channels)
+}
address@hidden @Category
+
address@hidden { Managing Storage Space }
address@hidden
+
address@hidden { guix gc } { collect all garbage }
address@hidden { guix gc -C address@hidden } { collect @Var{n} GB of garbage
}
address@hidden { guix gc -F address@hidden } { ensure @Var{n} GB are
available }
address@hidden { guix package -d @Var { duration } } { delete generations
+older than @Var { duration }---e.g., @F { 1m } for one month }
address@hidden { guix size @Var { spec } @Dots } { view package size }
address@hidden { guix gc -R "/gnu/store/"@Dots } { list run-time
dependencies }
address@hidden { guix graph -t references @Var { spec } @Dots } { view
run-time dependencies }
address@hidden @Category
+
address@hidden { Customizing Packages }
address@hidden
+
address@hidden { guix @Var {command} @Var { name } "--"address@hidden { name
address@hidden { source} }
+{ build @Var { name } with a different source URL }
address@hidden { guix @Var {command} @Var { spec } "--"address@hidden { spec1
address@hidden {
+spec2} }
+{ replace @Var { spec1 } with @Var { spec2 } in the dependency graph of
address@hidden { spec } }
address@hidden { guix @Var { command } @Var { spec } "--"address@hidden {
spec1 address@hidden {
+spec2} }
+{ graft @Var { spec2 } in lieu of @Var { spec1 } in @Var { spec } }
address@hidden @Category
+
address@hidden { Developing Packages }
address@hidden
+
address@hidden { guix edit @Var { spec } } { view the definition }
address@hidden { guix build @Var { spec } @Dots } { build packages }
address@hidden { guix build "--"log-file @Var { spec } } { view the build
log }
address@hidden { guix build "-K" @Var { spec } @Dots } { build packages,
+keep build trees on failure }
address@hidden { guix build -S @Var { spec } } { obtain the source of @Var {
+spec } }
address@hidden { guix build "--"check @Var { spec } } { rebuild a package }
address@hidden { guix build "--"address@hidden triplet } @Dots } {
cross-compile to
address@hidden { triplet }---e.g., @F "arm-linux-gnueabihf" }
address@hidden { guix download @Var { URL } } { download from @Var{ URL } and
+print its SHA256 hash }
address@hidden { guix hash @Var { file } } { print the hash of @Var { file } }
address@hidden { guix graph @Var { spec } "|" dot -Tpdf @Dots } { view
dependencies }
address@hidden { guix refresh -l @Var { spec } } { count dependent packages
}
address@hidden { guix refresh @Var { spec } } { update package definition }
address@hidden { guix import json @Var { file } } { import JSON package
+metadata from @Var { file } }
address@hidden { guix import @Var{ repo } @Var { name } } { import
address@hidden from @Var { repo } }
address@hidden { guix lint @Var { spec } @Dots } { ``lint'' packages }
address@hidden @Category
+
address@hidden { Creating Application Bundles }
address@hidden
+
address@hidden { guix pack @Var { spec } @Dots } { create a tarball }
address@hidden { guix pack -f docker @Var { spec } @Dots } { create a Docker
image }
address@hidden { guix pack -f squashfs @Var { spec } @Dots } { create a
Singularity image }
address@hidden { guix pack "--"relocatable @Var { spec } @Dots } { create a
relocatable tarball }
address@hidden { guix pack -S "/bin"=bin @Var { spec } @Dots } { make @F
+"/bin" a symlink to the packages' @F "bin" directory }
address@hidden { guix pack -m @Var { file } } { bundle the packages from the
+manifest in @Var { file } }
+
address@hidden @Category
+
address@hidden
address@hidden
address@hidden { }
address@hidden
+0.5 @Scale { @IncludeGraphic { Guix-horizontal-print.eps } }
+
address@hidden
+
address@hidden
address@hidden { }
address@hidden
+7p @Font 1fx @Break { Copyright @CopyRight 2018 Ludovic Court�s
<@I{"address@hidden"}>
address@hidden
+Permission is granted to copy, distribute and"/"or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+A copy of the license is
+available at @URL "https://gnu.org/licenses/gfdl.html".
address@hidden
+# Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
+The source of this document is available from
address@hidden { "https://git.sv.gnu.org/cgit/guix/maintenance.git" }.
+}
+
address@hidden @Text
diff --git a/doc/refcard/refcard-style.lout b/doc/refcard/refcard-style.lout
new file mode 100644
index 0000000..64717c9
--- /dev/null
+++ b/doc/refcard/refcard-style.lout
@@ -0,0 +1,432 @@
+###############################################################################
+# #
+# Lout setup file for ordinary documents #
+# #
+# Jeffrey H. Kingston #
+# 5 February 1999 #
+# #
+###############################################################################
+
+
+###############################################################################
+# #
+# @SysInclude commands for standard packages. #
+# #
+###############################################################################
+
+ @SysInclude { langdefs } # language definitions
+ @SysInclude { bsf } # BasicSetup package
+ @SysInclude { dsf } # DocumentSetup package
+ @SysInclude { docf } # OrdinarySetup extension
+
+
+###############################################################################
+# #
+# @Include command for reading personal definitions from current directory. #
+# #
+###############################################################################
+
+ @Include { mydefs }
+
+
+###############################################################################
+# #
+# The @BasicSetup @Use clause - basics, lists, paragraphs, displays. #
+# #
+# To change the default value of any option, delete the # at the start of #
+# its line and change the value between braces. #
+# #
+###############################################################################
+
address@hidden { @BasicSetup
+ # @InitialFont { Times Base 12p } # initial font
+ # @InitialBreak {{adjust 1.2fx hyphen} @OrIfPlain {ragged 1fx nohyphen}}
+ # @InitialOutdent { 2f @OrIfPlain 4s } # initial outdent
+ # @InitialSpace { lout } # initial space style
+ # @InitialLanguage { English } # initial language
+ # @InitialColour { black } # initial colour
+ # @OptimizePages { No } # optimize page breaks?
+ @HeadingFont { CharisSIL Bold } # font for @Heading
+ @FixedWidthFont { LMT Base 0.9f } # font for @F
+ @ParaGap { 1.0vx @OrIfPlain 1f } # gap between paragraphs
+ # @ParaIndent { 2.00f @OrIfPlain 5s } # first-line indent
for @PP
+ # @DisplayGap { 1.00v @OrIfPlain 1f } # gap above, below
displays
+ # @DisplayIndent { 2.00f @OrIfPlain 5s } # @IndentedDisplay indent
+ # @DefaultIndent { 0.5rt } # @Display indent
+ # @DisplayNumStyle { (num) } # style of display numbers
+ # @WideIndent { 4.00f @OrIfPlain 10s } # @WideTaggedList
indent
+ # @VeryWideIndent { 8.00f @OrIfPlain 20s } # @VeryWideTaggedList indent
+ # @ListOuterGap { 1.00v @OrIfPlain 1f } # gap before, after lists
+ # @ListGap { 1.00v @OrIfPlain 1f } # gap between list items
+ # @ListIndent { 0s } # indent of list items
+ # @ListRightIndent { 0s } # right indent of list items
+ # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags
+ # @NumberSeparator { . } # separates nums like 2.3.7
+ # @CrossLinkFormat { @Body } # format of cross links
+ # @ExternalLinkFormat { @Body } # format of external
links
+}
+
+
+###############################################################################
+# #
+# The @DocumentSetup @Use clause - page layout plus figures, tables, etc. #
+# #
+# To change the default value of any option, delete the # at the start of #
+# its line and change the value between braces. #
+# #
+###############################################################################
+
address@hidden { @DocumentSetup
+ # @PageType { A4 @OrIfPlain Other} # page type (width, height)
+ # @PageWidth { 80s } # page width if type Other
+ # @PageHeight { 66f } # page height if type
Other
+ @PageOrientation { Landscape } # Portrait, Landscape, etc.
+ # @PageBackground { } # background of each page
+ @TopMargin { 1.0c @OrIfPlain 6f } # top margin of all pages
+ @FootMargin { 1.0c @OrIfPlain 6f } # bottom margin of
all pages
+ @OddLeftMargin { 1.0c @OrIfPlain 10s } # left margin of odd pages
+ @OddRightMargin { 1.0c @OrIfPlain 10s } # right margin of odd pages
+ @EvenLeftMargin { 1.0c @OrIfPlain 10s } # left margin of even pages
+ @EvenRightMargin { 1.0c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for
page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for
page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
+ # @PageBoxType { None } # None Box CurveBox ShadowBox
+ # @PageBoxMargin { 1.00c } # page box margin
+ # @PageBoxLineWidth { } # page box line thickness
+ # @PageBoxPaint { none } # page box paint
+ # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
+ @ColumnNumber { 3 } # number of columns (1 to 10)
+ @ColumnGap { 0.7c @OrIfPlain 6s } # column gap
+
+ # @FigureLocation { PageTop } # default figure location
+ # @TableLocation { PageTop } # default table location
+ # @FigureFormat { @CC @Body } # default figure format
+ # @TableFormat { @CC @Body } # default table format
+ # @FigureWord { figure } # "Figure" word else
anything
+ # @TableWord { table } # "Table" word else anything
+ # @FigureNumbers { Arabic } # method of numbering figures
+ # @TableNumbers { Arabic } # method of numbering tables
+ # @FigureCaptionPos { Below } # Above or Below
+ # @TableCaptionPos { Below } # Above or Below
+ # @FigureCaptionFont { -2p } # figure caption font
+ # @FigureCaptionBreak { adjust hyphen 1.2fx } # figure caption break
+ # @FigureCaptionFormat{ address@hidden { word @NumSep number. &2s }} @Insert
caption }
+ # @TableCaptionFont { -2p } # table caption font
+ # @TableCaptionBreak { adjust hyphen 1.2fx } # table caption break
+ # @TableCaptionFormat { address@hidden { word @NumSep number. &2s }} @Insert
caption }
+ # @MakeFigureContents { No } # list of figures at start
+ # @MakeTableContents { No } # list of tables at start
+ # @MakeContents { No } # make contents? Yes or No
+ # @ContentsGap { 0.20v @OrIfPlain 0f } # extra gap above minor entry
+ # @ContentsGapAbove { 0.80v @OrIfPlain 1f } # extra gap above major entry
+ # @ContentsGapBelow { 0.00v @OrIfPlain 0f } # extra gap below major entry
+ # @ContentsFont { Bold } # font for major entry
+ # @ContentsPartGapAbove { 1.00v @OrIfPlain 1f } # extra gap above
`part' entry
+ # @ContentsPartGapBelow { 0.00v @OrIfPlain 0f } # extra gap below
`part' entry
+ # @ContentsFormat { number @DotSep title } # contents entry format
+ # @ContentsLeader { .. } # leader symbol in contents
+ # @ContentsLeaderGap { 4s @OrIfPlain 2s } # gap between leaders
+ # @ContentsRightWidth { 3f @OrIfPlain 6s } # page numbers column
width
+ # @MakeReferences { Yes } # make references? Yes or No
+ # @RefCiteStyle { [cite] } # citation style
+ # @RefCiteLabels { @RefNum } # citation items
+ # @RefNumbers { Arabic } # reference numbers
+ # @RefListFormat { Labels } # NoLabels, Labels, etc.
+ # @RefListLabels { address@hidden } # ref list label
format
+ # @RefListTitle { references } # title of reference list
+ # @ChapRefListTitle { references } # title of chapter ref list
+ # @RefListIndent { 0s } # indent to left of labels
+ # @RefListRightIndent { 0s } # indent to right of
items
+ # @RefListGap { @ListGap } # gap between ref
list items
+ # @RefListFont { } # font used in reference list
+ # @RefListBreak { } # break style of ref list
+ # @RefListLabelWidth { @ListLabelWidth } # Labels column width
+ # @RefListSortKey { @Tag } # sorting key
+ # @MakeGlossary { No } # make glossary? Yes or No
+ # @GlossaryText { @Null } # glossary initial text
+ # @GlossaryFont { } # glossary entries font
+ # @GlossaryBreak { } # glossary entries break
+ # @GlossaryFormat { +3p @Font @S @Name # glossary entries format
+ # @Right @I { @Word&&page @PageNum }
+ # @DP @RawIndentedDisplay @Body }
+ # @GlossaryGap { @DisplayGap } # gap between glossary entries
+ # @GlossaryColumnNumber{ 2 } # glossary columns (1 to 10)
+ # @GlossaryColumnGap { 1.00c @OrIfPlain 6s } # glossary column gap
+ # @InGlossaryFont { smallcaps } # font for @InGlossary
+ # @InGlossaryFormat { @Body } # format for @InGlossary
+ # @MakeIndex { No } # make index? Yes or No
+ # @IndexText { @Null } # index initial text
+ # @IndexFont { } # index entries font
+ # @IndexBreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } #
and break
+ # @IndexFormat { @Body } # @Index format
+ # @SubIndexFormat { {1f @address@hidden } # @SubIndex format
+ # @SubSubIndexFormat { {2f @address@hidden } # @SubSubIndex format
+ # @IndexTypeOrdinary { @PageNum } # Ordinary pagenum format
+ # @IndexTypeMain { @B @PageNum } # Main pagenum format
+ # @IndexTypeSpecial { @I @PageNum } # Special pagenum format
+ # @IndexRangeFormat { @address@hidden } # index page range
format
+ # @IndexColumnNumber { 2 } # index columns (1 to 10)
+ # @IndexColumnGap { 1.00c @OrIfPlain 6s } # index column gap
+ # @IndexCtd { Yes } # include (ctd.) lines
+ # @IndexCtdWord { continued } # "ctd." in current lang.
+ # @IndexCtdFormat { @Body @I (@CtdWord) } # format of ctd.
+ # @IndexSpacerAbove { 2v } # space above index spacer
+ # @IndexSpacerBelow { 1v } # space below index spacer
+ # @IndexSpacerFont { +3p } # font of index spacer
+ # @IndexSpacerFormat { @Body } # format of index spacer
+ # @MakeIndexA { No } # make index A? Yes
or No
+ # @IndexAText { @Null } # index A initial text
+ # @IndexAFont { } # index A entries font
+ # @IndexABreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break
+ # @IndexAFormat { @Body } # @IndexA format
+ # @SubIndexAFormat { {1f @address@hidden } # @SubIndexA format
+ # @SubSubIndexAFormat { {2f @address@hidden } # @SubSubIndexA format
+ # @IndexATypeOrdinary { @PageNum } # Ordinary pagenum
format
+ # @IndexATypeMain { @B @PageNum } # Main pagenum format
+ # @IndexATypeSpecial { @I @PageNum } # Special pagenum format
+ # @IndexARangeFormat { @address@hidden } # index page range
format
+ # @IndexAColumnNumber { 2 } # index A columns (1
to 10)
+ # @IndexAColumnGap { 1.00c @OrIfPlain 6s } # index A column gap
+ # @IndexACtd { Yes } # include (ctd.) lines
+ # @IndexACtdWord { continued } # "ctd." in current lang.
+ # @IndexACtdFormat { @Body @I (@CtdWord) } # format of ctd.
+ # @IndexASpacerAbove { 2v } # space above index A spacer
+ # @IndexASpacerBelow { 1v } # space below index A spacer
+ # @IndexASpacerFont { +3p } # font of index A spacer
+ # @IndexASpacerFormat { @Body } # format of index A
spacer
+ # @MakeIndexB { No } # make index B? Yes
or No
+ # @IndexBText { @Null } # index B initial text
+ # @IndexBFont { } # index B entries font
+ # @IndexBBreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break
+ # @IndexBFormat { @Body } # @IndexB format
+ # @SubIndexBFormat { {1f @address@hidden } # @SubIndexB format
+ # @SubSubIndexBFormat { {2f @address@hidden } # @SubSubIndexB format
+ # @IndexBTypeOrdinary { @PageNum } # Ordinary pagenum
format
+ # @IndexBTypeMain { @B @PageNum } # Main pagenum format
+ # @IndexBTypeSpecial { @I @PageNum } # Special pagenum format
+ # @IndexBRangeFormat { @address@hidden } # index page range
format
+ # @IndexBColumnNumber { 2 } # index B columns (1
to 10)
+ # @IndexBColumnGap { 1.00c @OrIfPlain 6s } # index B column gap
+ # @IndexBCtd { Yes } # include (ctd.) lines
+ # @IndexBCtdWord { continued } # "ctd." in current lang.
+ # @IndexBCtdFormat { @Body @I (@CtdWord) } # format of ctd.
+ # @IndexBSpacerAbove { 2v } # space above index B spacer
+ # @IndexBSpacerBelow { 1v } # space below index B spacer
+ # @IndexBSpacerFont { +3p } # font of index B spacer
+ # @IndexBSpacerFormat { @Body } # format of index B
spacer
+ # @TopGap { 0.75c @OrIfPlain 2f } # gap between figures
+ # @MidGap { 0.75c @OrIfPlain 2f } # gap above/below body text
+ # @FootNoteNumbers { Arabic } # footnote numbers
+ # @FootNoteThrough { No } # numbered through chapter?
+ # @FootNoteLocation { ColFoot } # where the footnote appears
+ # @FootNoteFont { 0.80f } # font for footnotes
+ # @FootNoteBreak { 1.2fx @OrIfPlain 1fx } # break for footnotes
+ # @FootNoteFormat { { number &0.05f } @Insert body } # footnote format
+ # @FootLen { 2.00c @OrIfPlain 10s } # length of footnote line
+ # @FootAboveGap { @DisplayGap } # gap above footnote line
+ # @FootGap { 0.20c @OrIfPlain 1fx } # gap between footnotes
+ # @MarginNoteFont { 0.80f } # font of margin notes
+ # @MarginNoteBreak { ragged 1.10fx } # break style of margin notes
+ # @MarginNoteHGap { 0.5c } # horizontal gap to notes
+ # @MarginNoteVGap { @DisplayGap } # min vertical gap between
+ # @MarginNoteWidth { 1.50c } # width of margin notes
+ # @EndNoteNumbers { Arabic } # endnote numbers
+ # @EndNoteFont { 0.80f } # font of endnotes
+ # @EndNoteBreak { 1.2fx @OrIfPlain 1fx } # break for endnotes
+ # @EndNoteFormat { { number &0.05f } @Insert body } # endnote format
+ # @EndNoteGap { 0.20c @OrIfPlain 1f } # gap between endnotes
+ # @TheoremWord { theorem } # "Theorem" word, etc.
+ # @TheoremTitleFormat { (title) } # only if title
present
+ # @TheoremFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @DefinitionWord { definition } # "Definition" word, etc.
+ # @DefinitionTitleFormat { (title) } # only if title present
+ # @DefinitionFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @ClaimWord { claim } # "Claim" word, etc.
+ # @ClaimTitleFormat { (title) } # only if title present
+ # @ClaimFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @PropositionWord { proposition } # "Proposition" word, etc.
+ # @PropositionTitleFormat { (title) } # only if title present
+ # @PropositionFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @LemmaWord { lemma } # "Lemma" word, etc.
+ # @LemmaTitleFormat { (title) } # only if title present
+ # @LemmaFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @CorollaryWord { corollary } # "Corollary" word, etc.
+ # @CorollaryTitleFormat { (title) } # only if title present
+ # @CorollaryFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @ExampleWord { example } # "Example" word, etc.
+ # @ExampleTitleFormat { (title) } # only if title
present
+ # @ExampleFormat { address@hidden { word @NumSep number title: } &2s}
@Insert body }
+ # @ProofWord { proof } # "Proof" word, etc.
+ # @PageHeaders { Simple } # None Simple Titles NoTitles
+ # @PageNumbers { Arabic } # page numbers
+ # @FirstPageNumber { 1 } # number of first page
+ # @IntroPageNumbers { Roman } # intro page numbers
+ # @IntroFirstPageNumber{ 1 } # number of first intro page
+ # @StructPageNums { No } # make structured page numbers
+
+ # @OddTop { @Centre{- @PageNum -} } # Simple page headers
+ # @OddFoot { @Null }
+ # @EvenTop { @Centre{- @PageNum -} }
+ # @EvenFoot { @Null }
+ # @StartOddTop { @Null }
+ # @StartOddFoot { @Null }
+ # @StartEvenTop { @Null }
+ # @StartEvenFoot { @Null }
+ # @IntroOddTop { @Null }
+ # @IntroOddFoot { @Centre @PageNum }
+ # @IntroEvenTop { @Null }
+ # @IntroEvenFoot { @Centre @PageNum }
+ # @IntroStartOddTop { @Null }
+ # @IntroStartOddFoot { @Null }
+ # @IntroStartEvenTop { @Null }
+ # @IntroStartEvenFoot { @Null }
+
+ # Titles, NoTitles headers
+ # @RunningOddTop { @I address@hidden @DotSep @MinorTitle} @Right @B
@PageNum }
+ # @RunningOddFoot { @Null }
+ # @RunningEvenTop { @B @PageNum @Right @I address@hidden @DotSep
@MajorTitle} }
+ # @RunningEvenFoot { @Null }
+ # @RunningStartOddTop { @Null }
+ # @RunningStartOddFoot { @Centre { Bold 0.8f } @Font @PageNum }
+ # @RunningStartEvenTop { @Null }
+ # @RunningStartEvenFoot { @Centre { Bold 0.8f } @Font @PageNum }
+ # @RunningIntroOddTop { @Null
}
+ # @RunningIntroOddFoot { @Right @PageNum }
+ # @RunningIntroEvenTop { @Null }
+ # @RunningIntroEvenFoot { @PageNum }
+ # @RunningIntroStartOddTop { @Null }
+ # @RunningIntroStartOddFoot { @Null }
+ # @RunningIntroStartEvenTop { @Null }
+ # @RunningIntroStartEvenFoot { @Null }
+}
+
+
+###############################################################################
+# #
+# The @OrdinarySetup @Use clause - options specific to ordinary documents. #
+# #
+###############################################################################
+
address@hidden { @OrdinarySetup
+ # @IndexWord { index } # word for "Index" word etc.
+ # @IndexAWord { index } # word for "Index" (A)
+ # @IndexBWord { index } # word for "Index" (B)
+ # @AppendixWord { appendix } # word for "Appendix"
+ # @SectionNumbers { Arabic } # kind of section numbers
+ # @FirstSectionNumber { 1 } # first section num
(Arabic)
+ # @SubSectionNumbers { Arabic } # kind of subsection numbers
+ # @FirstSubSectionNumber { 1 } # first subsect num (Arabic)
+ # @SubSubSectionNumbers { Arabic } # kind of sub-subsect numbers
+ # @FirstSubSubSectionNumber { 1 } # first subsub. num (Arabic)
+ # @AppendixNumbers { UCAlpha } # kind of appendix numbers
+ # @FirstAppendixNumber { 1 } # first appendix num (Arabic)
+ # @SubAppendixNumbers { Arabic } # kind of subappendix
numbers
+ # @FirstSubAppendixNumber { 1 } # first sub-app. num (Arabic)
+ # @SubSubAppendixNumbers { Arabic } # kind of sub-subapp. numbers
+ # @FirstSubSubAppendixNumber { 1 } # first sub-sub. num (Arabic)
+ # @SectionHeadingFont { Bold } # section
head font
+ # @SectionHeadingBreak { ragged 1.2fx nohyphen } # section head break
+ # @SectionHeadingFormat { number @DotSep title } # section head fmt
+ # @SubSectionHeadingFont { Bold } # subsect head font
+ # @SubSectionHeadingBreak { ragged 1.2fx nohyphen } # subsect head break
+ # @SubSectionHeadingFormat { number @DotSep title } # subsect head fmt
+ # @SubSubSectionHeadingFont { Slope } # sub-ss. head font
+ # @SubSubSectionHeadingBreak { ragged 1.2fx nohyphen } # sub-ss. head break
+ # @SubSubSectionHeadingFormat { number @DotSep title } # sub-ss.
head fmt
+ # @AppendixHeadingFont { Bold } # appendix head font
+ # @AppendixHeadingBreak { ragged 1.2fx nohyphen } # appendix head break
+ # @AppendixHeadingFormat { number @DotSep title } # appendix head fmt
+ # @SubAppendixHeadingFont { Bold } # subapp. head font
+ # @SubAppendixHeadingBreak { ragged 1.2fx nohyphen } # subapp. head break
+ # @SubAppendixHeadingFormat { number @DotSep title } # subapp. head format
+ # @SubSubAppendixHeadingFont { Slope } # sub-sa. head font
+ # @SubSubAppendixHeadingBreak { ragged 1.2fx nohyphen } # sub-sa.
head break
+ # @SubSubAppendixHeadingFormat{ number @DotSep title } # sub-sa. head fmt
+ # @ReferencesHeadingFont { Bold } # refs head font
+ # @ReferencesHeadingBreak { ragged 1.2fx nohyphen } # refs head break
+ # @ReferencesHeadingFormat { title } # refs head format
+ # @IndexHeadingFont { Bold } # index head font
+ # @IndexHeadingBreak { ragged 1.2fx nohyphen } # index head break
+ # @IndexHeadingFormat { title } # index head
format
+ # @IndexAHeadingFont { Bold } # index A head font
+ # @IndexAHeadingBreak { ragged 1.2fx nohyphen } # index A
head break
+ # @IndexAHeadingFormat { title } # index A head fmt
+ # @IndexBHeadingFont { Bold } # index B head font
+ # @IndexBHeadingBreak { ragged 1.2fx nohyphen } # index B
head break
+ # @IndexBHeadingFormat { title } # index B head fmt
+ # @SectionGap { 2.0v @OrIfPlain 3f } # between
sections
+ # @SubSectionGap { 1.5v @OrIfPlain 2f } # between subsects
+ # @SubSubSectionGap { 1.5v @OrIfPlain 2f } # between sub-subs.
+ # @AppendixGap { 2.0v @OrIfPlain 3f } # between appendices
+ # @SubAppendixGap { 1.5v @OrIfPlain 2f } # between
subappendices
+ # @SubSubAppendixGap { 1.5v @OrIfPlain 2f } # between sub-subapps
+ # @SectionInContents { Yes } # add sections to contents
+ # @SubSectionInContents { Yes } # add subsections to contents
+ # @SubSubSectionInContents { No } # add sub-subsects to contents
+ # @AppendixInContents { Yes } # add appendices to
contents
+ # @SubAppendixInContents { Yes } # add subappendices to
contents
+ # @SubSubAppendixInContents { No } # add sub-subapps to contents
+ # @ReferencesInContents { Yes } # add ref. section to contents
+ # @IndexInContents { Yes } # add index to contents
+ # @IndexAInContents { Yes } # add index A to contents
+ # @IndexBInContents { Yes } # add index B to contents
+ # @SectionContentsIndent { 0f } # contents indent of sections
+ # @SubSectionContentsIndent { 3f } # contents indent of
subsections
+ # @SubSubSectionContentsIndent{ 6f } # contents indent of
sub-subsections
+ # @AppendixContentsIndent { 0f } # contents indent of
appendices
+ # @SubAppendixContentsIndent { 3f } # contents indent of
sub-appendices
+ # @SubSubAppendixContentsIndent { 6f } # contents indent of
sub-subappendices
+ # @ReferencesContentsIndent { 0f } # contents indent of
references
+ # @IndexContentsIndent { 0f } # contents indent of index
+ # @IndexAContentsIndent { 0f } # contents indent of index A
+ # @IndexBContentsIndent { 0f } # contents indent of index B
+ # @SectionNumInTheorems { No } # theorem num has section num
+ # @SubSectionNumInTheorems { No } # theorem num has subsect num
+ # @SubSubSectionNumInTheorems { No } # theorem num has
sub-ss. num
+ # @AppendixNumInTheorems { No } # theorem num has appendix num
+ # @SubAppendixNumInTheorems { No } # theorem num has sub-app num
+ # @SubSubAppendixNumInTheorems{ No } # theorem num has sub-sa. num
+ # @SectionNumInDisplays { Yes } # display num has section num
+ # @SubSectionNumInDisplays { No } # display num has subsect num
+ # @SubSubSectionNumInDisplays { No } # display num has
sub-ss. num
+ # @AppendixNumInDisplays { Yes } # display num has appendix num
+ # @SubAppendixNumInDisplays { Yes } # display num has sub-app num
+ # @SubSubAppendixNumInDisplays{ No } # display num has sub-sa. num
+ # @SectionNumInFigures { No } # figure num has section num
+ # @SubSectionNumInFigures { No } # figure num has subsect num
+ # @SubSubSectionNumInFigures { No } # figure num has sub-ss. num
+ # @AppendixNumInFigures { No } # figure num has appendix num
+ # @SubAppendixNumInFigures { No } # figure num has sub-app num
+ # @SubSubAppendixNumInFigures { No } # figure num has
sub-sa. num
+ # @SectionNumInTables { No } # table num has
section num
+ # @SubSectionNumInTables { No } # table num has subsect num
+ # @SubSubSectionNumInTables { No } # table num has sub-ss. num
+ # @AppendixNumInTables { No } # table num has appendix num
+ # @SubAppendixNumInTables { No } # table num has sub-app num
+ # @SubSubAppendixNumInTables { No } # table num has sub-sa. num
+ # @SectionNumInRunners { Yes } # runners have section num
+ # @SubSectionNumInRunners { No } # runners have subsect num
+ # @SubSubSectionNumInRunners { No } # runners have
sub-ss. num
+ # @AppendixNumInRunners { Yes } # runners have appendix num
+ # @SubAppendixNumInRunners { No } # runners have sub-app num
+ # @SubSubAppendixNumInRunners { No } # runners have sub-sa. num
+ # @SectionPrefix { } # for structured page nums
+ # @AppendixPrefix { } # for structured page nums
+ # @ReferencesPrefix { } # for structured page nums
+ # @IndexPrefix { } # for structured page nums
+ # @IndexAPrefix { } # for structured page nums
+ # @IndexBPrefix { } # for structured page nums
+}
+
+
+###############################################################################
+# #
+# @Database (and @SysDatabase) clauses go here. #
+# #
+###############################################################################
+
address@hidden @FontDef { fontdefs } # font definitions
address@hidden @RefStyle { refstyle } # reference printing styles