@ -1,4 +1,4 @@
|
|||||||
This is makeindex, version 2.15 [TeX Live 2019/dev] (kpathsea + Thai support).
|
This is makeindex, version 2.15 [TeX Live 2019] (kpathsea + Thai support).
|
||||||
Scanning input file book.idx....done (331 entries accepted, 0 rejected).
|
Scanning input file book.idx....done (331 entries accepted, 0 rejected).
|
||||||
Sorting entries......done (3112 comparisons).
|
Sorting entries......done (3112 comparisons).
|
||||||
Generating output file book.ind....
|
Generating output file book.ind....
|
||||||
|
|||||||
BIN
book/book.pdf
454
book/box-vector.svg
Normal file
@ -0,0 +1,454 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="51.944923mm"
|
||||||
|
height="33.161877mm"
|
||||||
|
viewBox="0 0 51.944923 33.161877"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||||
|
sodipodi:docname="box-vector.svg"
|
||||||
|
inkscape:export-filename="/home/makyo/box-art.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="2.8"
|
||||||
|
inkscape:cx="120.53361"
|
||||||
|
inkscape:cy="55.24615"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1037"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="41"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-31.75,-78.136156)">
|
||||||
|
<g
|
||||||
|
id="g4767">
|
||||||
|
<g
|
||||||
|
id="text4520"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.88055563px;line-height:1.25;font-family:'Ubuntu Mono';-inkscape-font-specification:'Ubuntu Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||||
|
aria-label=" ( )
|
||||||
|
O
|
||||||
|
o
|
||||||
|
.
|
||||||
|
_____,,,_^..^_,,,_____
|
||||||
|
__|____|____|____|____
|
||||||
|
____|____|____|____|__">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4538"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 72.045542,79.066137 q -0.360892,0.2794 -0.551039,0.644173 -0.190147,0.364772 -0.190147,0.795514 0,0.217311 0.04269,0.411338 0.04657,0.194028 0.135819,0.372534 0.09313,0.178505 0.232834,0.345369 0.14358,0.166864 0.337608,0.333728 l -0.174625,0.232833 q -0.446264,-0.329847 -0.667456,-0.764469 -0.217311,-0.438503 -0.217311,-0.923572 0,-0.481189 0.221192,-0.919692 0.221192,-0.438503 0.663575,-0.760589 l 0.170744,0.232833 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4540"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 82.643293,81.968793 q 0.360892,-0.2794 0.551039,-0.644172 0.194028,-0.364772 0.194028,-0.795514 0,-0.217311 -0.04657,-0.411339 -0.04269,-0.194028 -0.135819,-0.372533 -0.09313,-0.178506 -0.236714,-0.34537 -0.1397,-0.166864 -0.333728,-0.333728 l 0.174625,-0.232833 q 0.446264,0.329847 0.663575,0.76835 0.221192,0.434622 0.221192,0.919692 0,0.240594 -0.05821,0.473428 -0.05433,0.232833 -0.166864,0.450144 -0.108655,0.213431 -0.275519,0.403578 -0.162983,0.194028 -0.384175,0.35313 l -0.170745,-0.232833 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4542"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 66.787402,85.201296 q 0,-0.322086 0.06209,-0.5588 0.06209,-0.236714 0.174625,-0.388056 0.112536,-0.155222 0.267758,-0.228952 0.159103,-0.07761 0.353131,-0.07761 0.190147,0 0.34925,0.07761 0.159102,0.07373 0.271639,0.228952 0.112536,0.151342 0.174625,0.388056 0.06597,0.236714 0.06597,0.5588 0,0.322086 -0.06597,0.5588 -0.06209,0.236714 -0.174625,0.391936 -0.112537,0.155222 -0.271639,0.228953 -0.159103,0.07373 -0.34925,0.07373 -0.194028,0 -0.353131,-0.07373 -0.155222,-0.07373 -0.267758,-0.228953 -0.112536,-0.155222 -0.174625,-0.391936 -0.06209,-0.236714 -0.06209,-0.5588 z m 0.325967,0 q 0,0.473428 0.128058,0.725664 0.128058,0.252236 0.395817,0.252236 0.271638,0 0.407458,-0.252236 0.135819,-0.252236 0.135819,-0.725664 0,-0.473428 -0.135819,-0.725664 -0.13582,-0.252236 -0.407458,-0.252236 -0.267759,0 -0.395817,0.252236 -0.128058,0.252236 -0.128058,0.725664 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4544"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 64.579382,90.354674 q 0,0.21343 -0.06209,0.388055 -0.05821,0.170745 -0.166863,0.294923 -0.108656,0.124177 -0.259998,0.194027 -0.151341,0.06597 -0.329847,0.06597 -0.174625,0 -0.325967,-0.06597 -0.147461,-0.06985 -0.256116,-0.194027 -0.108656,-0.124178 -0.170745,-0.294923 -0.05821,-0.174625 -0.05821,-0.388055 0,-0.213431 0.05821,-0.388056 0.06209,-0.174625 0.170745,-0.294922 0.108655,-0.124178 0.256116,-0.190147 0.151342,-0.06985 0.325967,-0.06985 0.178506,0 0.329847,0.06985 0.151342,0.06597 0.259998,0.190147 0.108655,0.120297 0.166863,0.294922 0.06209,0.174625 0.06209,0.388056 z m -0.329847,0 q 0,-0.306564 -0.131939,-0.481189 -0.131939,-0.178506 -0.357011,-0.178506 -0.221192,0 -0.35313,0.178506 -0.128059,0.174625 -0.128059,0.481189 0,0.302683 0.128059,0.481189 0.131938,0.174625 0.35313,0.174625 0.225072,0 0.357011,-0.174625 0.131939,-0.178506 0.131939,-0.481189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4546"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 60.171086,95.857302 q 0,0.116416 -0.07761,0.205669 -0.07761,0.08925 -0.20567,0.08925 -0.131938,0 -0.20955,-0.08925 -0.07761,-0.08925 -0.07761,-0.205669 0,-0.120298 0.07761,-0.20955 0.07761,-0.08925 0.20955,-0.08925 0.128059,0 0.20567,0.08925 0.07761,0.08925 0.07761,0.20955 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4548"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 31.781044,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4550"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 33.721315,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4552"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 35.661585,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4554"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 37.601856,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4556"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 39.542126,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4558"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 42.029555,101.26292 q 0.06985,-0.0155 0.135819,-0.031 0.06985,-0.0155 0.128059,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124178,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201788,-0.0815 0.143581,0 0.217312,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.135819,0.22895 -0.08925,0.10866 -0.225072,0.18239 -0.13582,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4560"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 43.969825,101.26292 q 0.06985,-0.0155 0.13582,-0.031 0.06985,-0.0155 0.128058,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124178,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201789,-0.0815 0.14358,0 0.217311,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.13582,0.22895 -0.08925,0.10866 -0.225072,0.18239 -0.135819,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4562"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 45.910096,101.26292 q 0.06985,-0.0155 0.135819,-0.031 0.06985,-0.0155 0.128059,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124178,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201789,-0.0815 0.143581,0 0.217311,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.135819,0.22895 -0.08925,0.10866 -0.225072,0.18239 -0.13582,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4564"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 47.303208,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4566"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 50.326152,98.554288 0.671336,1.179689 -0.256116,0.131939 -0.5588,-0.9779 -0.5588,0.9779 -0.256117,-0.131939 0.671336,-1.179689 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4568"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 52.410004,100.708 q 0,0.11641 -0.07761,0.20567 -0.07761,0.0893 -0.205669,0.0893 -0.131939,0 -0.20955,-0.0893 -0.07761,-0.0893 -0.07761,-0.20567 0,-0.1203 0.07761,-0.20955 0.07761,-0.0893 0.20955,-0.0893 0.128058,0 0.205669,0.0893 0.07761,0.0892 0.07761,0.20955 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4570"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 54.350276,100.708 q 0,0.11641 -0.07761,0.20567 -0.07761,0.0893 -0.20567,0.0893 -0.131939,0 -0.20955,-0.0893 -0.07761,-0.0893 -0.07761,-0.20567 0,-0.1203 0.07761,-0.20955 0.07761,-0.0893 0.20955,-0.0893 0.128058,0 0.20567,0.0893 0.07761,0.0892 0.07761,0.20955 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4572"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 56.146965,98.554288 0.671336,1.179689 -0.256117,0.131939 -0.5588,-0.9779 -0.5588,0.9779 -0.256117,-0.131939 0.671336,-1.179689 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4574"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 57.004559,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4576"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 59.491989,101.26292 q 0.06985,-0.0155 0.135819,-0.031 0.06985,-0.0155 0.128059,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124178,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201789,-0.0815 0.143581,0 0.217311,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.135819,0.22895 -0.08925,0.10866 -0.225072,0.18239 -0.13582,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4578"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 61.43226,101.26292 q 0.06985,-0.0155 0.13582,-0.031 0.06985,-0.0155 0.128058,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124177,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201789,-0.0815 0.14358,0 0.217311,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.13582,0.22895 -0.08925,0.10866 -0.225072,0.18239 -0.135819,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4580"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 63.37253,101.26292 q 0.06985,-0.0155 0.135819,-0.031 0.06985,-0.0155 0.128058,-0.0466 0.05821,-0.0272 0.104775,-0.0737 0.04657,-0.0427 0.07373,-0.12029 -0.124178,-0.0116 -0.182386,-0.0931 -0.05433,-0.0854 -0.05433,-0.16686 0,-0.15522 0.08537,-0.23283 0.08925,-0.0815 0.201789,-0.0815 0.143581,0 0.217311,0.10478 0.07373,0.10089 0.07373,0.24836 0,0.11253 -0.04657,0.23283 -0.04269,0.12418 -0.135819,0.22895 -0.08925,0.10866 -0.225073,0.18239 -0.135819,0.0776 -0.322086,0.10089 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4582"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 64.765641,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4584"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 66.70591,101.325 h 1.878189 v 0.27164 H 66.70591 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4586"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 68.646183,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4588"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 70.586453,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4590"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 72.526722,101.325 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4592"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 31.781044,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4594"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 33.721315,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4596"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 36.453219,103.09454 h 0.298802 v 3.3528 h -0.298802 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4598"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 37.601856,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4600"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 39.542126,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4602"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 41.482397,106.1757 h 1.878188 v 0.27164 h -1.878188 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4604"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 43.422667,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4606"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 46.154571,103.09454 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4608"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 47.303208,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4610"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 49.243477,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4612"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 51.183749,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4614"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 53.12402,106.1757 h 1.878189 v 0.27164 H 53.12402 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4616"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 55.855923,103.09454 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4618"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 57.004559,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4620"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 58.94483,106.1757 h 1.878189 v 0.27164 H 58.94483 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4622"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 60.885102,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4624"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 62.825371,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4626"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 65.557274,103.09454 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4628"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 66.70591,106.1757 h 1.878189 v 0.27164 H 66.70591 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4630"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 68.646183,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4632"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 70.586453,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4634"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 72.526722,106.1757 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4636"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 31.781044,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4638"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 33.721315,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4640"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 35.661585,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4642"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 37.601856,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4644"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 40.333759,107.94523 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4646"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 41.482397,111.02639 h 1.878188 v 0.27164 h -1.878188 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4648"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 43.422667,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4650"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 45.362937,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4652"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 47.303208,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4654"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 50.035111,107.94523 h 0.298802 v 3.3528 h -0.298802 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4656"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 51.183749,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4658"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 53.12402,111.02639 h 1.878189 v 0.27164 H 53.12402 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4660"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 55.06429,111.02639 h 1.878188 v 0.27164 H 55.06429 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4662"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 57.004559,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4664"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 59.736464,107.94523 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4666"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 60.885102,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4668"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 62.825371,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4670"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 64.765641,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4672"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 66.70591,111.02639 h 1.878189 v 0.27164 H 66.70591 Z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4674"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 69.437817,107.94523 h 0.298803 v 3.3528 h -0.298803 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4676"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 70.586453,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4678"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
d="m 72.526722,111.02639 h 1.878189 v 0.27164 h -1.878189 z" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="text4536"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.88055563px;line-height:1.25;font-family:'Merriweather Sans';-inkscape-font-specification:'Merriweather Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||||
|
aria-label="ally">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4681"
|
||||||
|
style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332"
|
||||||
|
d="m 73.247216,81.288074 c 0,0.518487 0.356912,0.894691 0.897103,0.894691 0.325561,0 0.569129,-0.135047 0.716235,-0.270095 v 0.01929 c 0,0.238746 0.09887,0.250803 0.282153,0.250803 h 0.438906 v -1.835202 c 0,-0.798229 -0.352089,-1.005623 -1.116556,-1.005623 -0.434082,0 -0.928453,0.180867 -1.104498,0.286976 l 0.166399,0.482313 c 0.233922,-0.106109 0.610126,-0.195337 0.757232,-0.195337 0.465432,0 0.545014,0.05788 0.545014,0.352089 v 0.173633 c -0.347266,0 -0.798229,0.02412 -1.102086,0.159163 -0.296623,0.132637 -0.479902,0.354501 -0.479902,0.687297 z m 0.776524,-0.0048 c 0,-0.204983 0.125402,-0.274919 0.238745,-0.318327 0.113344,-0.05305 0.385851,-0.09887 0.566719,-0.09887 v 0.655946 c -0.05064,0.06511 -0.258038,0.151929 -0.426848,0.151929 -0.214629,0 -0.378616,-0.12299 -0.378616,-0.390674 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4683"
|
||||||
|
style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332"
|
||||||
|
d="m 76.384664,82.14418 h 0.752409 v -4.008024 h -0.752409 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4685"
|
||||||
|
style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332"
|
||||||
|
d="m 78.005237,82.14418 h 0.752409 v -4.008024 h -0.752409 z" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4687"
|
||||||
|
style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332"
|
||||||
|
d="m 79.481116,82.710899 v 0.610126 c 0.02894,0.01929 0.294211,0.04582 0.366558,0.04582 0.07476,0 0.277331,-0.02412 0.366558,-0.05064 0.366559,-0.108521 0.721059,-0.434082 0.923631,-1.099675 l 0.856106,-2.821533 h -0.807875 l -0.335208,1.468644 -0.185691,0.795817 -0.20016,-0.795817 -0.417201,-1.468644 h -0.815109 l 0.933276,2.749186 h 0.32315 c -0.159163,0.61495 -0.496783,0.61495 -0.735528,0.61495 -0.05547,0 -0.219452,-0.03135 -0.272507,-0.04823 z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 24 KiB |
@ -300,7 +300,7 @@ Transient tic disorder
|
|||||||
093 Other disorders of nervous system without cc/mcc
|
093 Other disorders of nervous system without cc/mcc
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
|
\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center}
|
||||||
|
|
||||||
\hypertarget{icd-10-cm-diagnosis-code-g25.71}{%
|
\hypertarget{icd-10-cm-diagnosis-code-g25.71}{%
|
||||||
\subsection{2019 ICD-10-CM Diagnosis Code G25.71}\label{icd-10-cm-diagnosis-code-g25.71}}
|
\subsection{2019 ICD-10-CM Diagnosis Code G25.71}\label{icd-10-cm-diagnosis-code-g25.71}}
|
||||||
@ -371,7 +371,7 @@ Transient tic disorder
|
|||||||
057 Degenerative nervous system disorders without mcc
|
057 Degenerative nervous system disorders without mcc
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
|
\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center}
|
||||||
|
|
||||||
\hypertarget{icd-10-cm-diagnosis-code-g24.01}{%
|
\hypertarget{icd-10-cm-diagnosis-code-g24.01}{%
|
||||||
\subsection{2019 ICD-10-CM Diagnosis Code G24.01}\label{icd-10-cm-diagnosis-code-g24.01}}
|
\subsection{2019 ICD-10-CM Diagnosis Code G24.01}\label{icd-10-cm-diagnosis-code-g24.01}}
|
||||||
|
|||||||
@ -45,6 +45,14 @@ Several sections focus on suicide, self-harm, rape, sexual content, and poor men
|
|||||||
<strong><a target="\_blank" href="https://www.goodreads.com/book/show/51687858-ally">Rate on Goodreads!</a></strong>
|
<strong><a target="\_blank" href="https://www.goodreads.com/book/show/51687858-ally">Rate on Goodreads!</a></strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## Making of
|
||||||
|
|
||||||
|
<em class="ally-font">ally from start to finish</em> is a short companion book explaining how the project was made, both the website ally.id and the book. It talks about the structure, the tools and the pitfalls encountered along the way. It also comes with the source for itself so that you can see some of what goes into producing a book like this (as <span class="ally-font">ally</span> uses much the same structure).
|
||||||
|
|
||||||
|
<p style="text-align:center">
|
||||||
|
<a class="gumroad-button" href="https://gum.co/ally-making-of" target="\_blank">Pre-order <em>ally from start to finish</a></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## Paperback gallery
|
## Paperback gallery
|
||||||
|
|
||||||
<!-- <a href="/book/physical/01-front.s.jpg" target="\_blank"><img src="/book/physical/thumbs/01-front.s.jpg" style="width: 200px; margin: 0.5rem;" /></a>
|
<!-- <a href="/book/physical/01-front.s.jpg" target="\_blank"><img src="/book/physical/thumbs/01-front.s.jpg" style="width: 200px; margin: 0.5rem;" /></a>
|
||||||
|
|||||||
@ -40,4 +40,11 @@ Come, friends, and join me for a small launch party for <span class="ally-font">
|
|||||||
* Get some discounts on both paperbacks and PDFs!
|
* Get some discounts on both paperbacks and PDFs!
|
||||||
* I don't know, there will probably also be cameos from my dogs.
|
* I don't know, there will probably also be cameos from my dogs.
|
||||||
|
|
||||||
|
I'll also talk about the making of this project specifically via the making-of companion. <em class="ally-font">ally from start to finish</em> is a short companion book explaining how the project was made, both the website ally.id and the book. It talks about the structure, the tools and the pitfalls encountered along the way. It also comes with the source for itself so that you can see some of what goes into producing a book like this (as <span class="ally-font">ally</span> uses much the same structure).
|
||||||
|
|
||||||
|
<p style="text-align:center"><script src="https://gumroad.com/js/gumroad.js"></script>
|
||||||
|
<a class="gumroad-button" href="https://gum.co/ally-making-of" target="\_blank">Pre-order <em>ally from start to finish</a></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
Mark your calendars, for you are formally invited to join me on *Monday, June 1st, 2020* at both [*3:00PM*](https://calendar.google.com/event?action=TEMPLATE&tmeid=YzhyamVjYjU2c3AzMGJiNTZ0aW1hYjlrY29wamViYjI2Z29qZWI5azZncjMwZGo2NjloajZkYjE2YyBtYWt5b0BkcmFiLW1ha3lvLmNvbQ&tmsrc=makyo%40drab-makyo.com) and [*7:00PM*](https://calendar.google.com/event?action=TEMPLATE&tmeid=NjhwMzRjMWw2c3IzZ2I5amNvbzNnYjlrNzRyMzBiOXA2cGlqMGJiNGM0b2phY3I1NjRyNjZlMW02NCBtYWt5b0BkcmFiLW1ha3lvLmNvbQ&tmsrc=makyo%40drab-makyo.com) Pacific time for an hour of Books and Chill.
|
Mark your calendars, for you are formally invited to join me on *Monday, June 1st, 2020* at both [*3:00PM*](https://calendar.google.com/event?action=TEMPLATE&tmeid=YzhyamVjYjU2c3AzMGJiNTZ0aW1hYjlrY29wamViYjI2Z29qZWI5azZncjMwZGo2NjloajZkYjE2YyBtYWt5b0BkcmFiLW1ha3lvLmNvbQ&tmsrc=makyo%40drab-makyo.com) and [*7:00PM*](https://calendar.google.com/event?action=TEMPLATE&tmeid=NjhwMzRjMWw2c3IzZ2I5amNvbzNnYjlrNzRyMzBiOXA2cGlqMGJiNGM0b2phY3I1NjRyNjZlMW02NCBtYWt5b0BkcmFiLW1ha3lvLmNvbQ&tmsrc=makyo%40drab-makyo.com) Pacific time for an hour of Books and Chill.
|
||||||
|
|||||||
BIN
making-of.zip
Normal file
@ -5,10 +5,11 @@ help: ## This help.
|
|||||||
|
|
||||||
.PHONY: final
|
.PHONY: final
|
||||||
final: reset toc ## full document of the book for final print
|
final: reset toc ## full document of the book for final print
|
||||||
@echo
|
# In ally, this warning would inform me to insert a pagebreak as needed.
|
||||||
@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
#@echo
|
||||||
@echo "!Ensure that the index page breaks are okay!"
|
#@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
#@echo "!Ensure that the index page breaks are okay!"
|
||||||
|
#@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
|
|
||||||
.PHONY: single
|
.PHONY: single
|
||||||
single: reset plain ## full document run once, ensuring everything's reset
|
single: reset plain ## full document run once, ensuring everything's reset
|
||||||
@ -25,13 +26,10 @@ plain: ## full document of the book with no proofing marks
|
|||||||
|
|
||||||
.PHONY: toc
|
.PHONY: toc
|
||||||
toc: plain ## full book with ToC re-rendering in case of page changes
|
toc: plain ## full book with ToC re-rendering in case of page changes
|
||||||
makeindex book
|
# This command generates the index for ally, but there isn't one here, so.
|
||||||
|
#makeindex book
|
||||||
xelatex book.tex
|
xelatex book.tex
|
||||||
|
|
||||||
.PHONY: ebook
|
|
||||||
ebook: ## render ePub file from LaTeX
|
|
||||||
pandoc Ebook.tex -o ../ebooks/book.epub -t epub3 --wrap=none
|
|
||||||
|
|
||||||
.PHONY: frame
|
.PHONY: frame
|
||||||
engage-frame: ## turn on frame marking
|
engage-frame: ## turn on frame marking
|
||||||
cp includes/_frame.tex includes/frame.tex
|
cp includes/_frame.tex includes/frame.tex
|
||||||
|
|||||||
BIN
making-of/ally-making-of.pdf
Normal file
|
Before Width: | Height: | Size: 59 KiB |
@ -1,24 +0,0 @@
|
|||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="350"
|
|
||||||
height="350">
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
fill: none;
|
|
||||||
stroke: black;
|
|
||||||
stroke-width: 5px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<rect x="0" y="0" width="350" height="350" />
|
|
||||||
<path d="
|
|
||||||
M 100 50
|
|
||||||
q -30 75 50 250
|
|
||||||
L 50 50
|
|
||||||
l 0 250
|
|
||||||
q 100 -250 250 -250
|
|
||||||
s -150 0 -150 125
|
|
||||||
s 175 125 175 0
|
|
||||||
s -125 -75 -125 0
|
|
||||||
s 125 5 125 0
|
|
||||||
l -275 0" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 498 B |
|
Before Width: | Height: | Size: 3.5 MiB |
@ -1,149 +0,0 @@
|
|||||||
%!PS-Adobe-2.0 EPSF-1.2
|
|
||||||
%%Creator: bookland 1.4
|
|
||||||
%%Title: ISBN 9781948743150
|
|
||||||
%%BoundingBox: 215 335 376 432
|
|
||||||
%%EndComments
|
|
||||||
% Command line: bookland -o /usr/share/nginx/www/converter/ISBN/downloads/f86f9eac90cc461487ff880f6aee71c151c67c02/isbn.eps 9781948743150 53500
|
|
||||||
% This is free software and comes with NO WARRANTY WHATSOVER. This file
|
|
||||||
% contains portions of bookland, a free program licensed under the GNU
|
|
||||||
% General Public License. The GPL notwithstanding, you may use and
|
|
||||||
% redistribute this output file without restriction.
|
|
||||||
|
|
||||||
/W { moduleWidth mul 0 rmoveto } def
|
|
||||||
/B { dup moduleWidth mul 2 div 0 rmoveto
|
|
||||||
dup moduleWidth mul barWidthReduction sub setlinewidth
|
|
||||||
0 moduleHeight rlineto 0 moduleHeight neg rmoveto
|
|
||||||
currentpoint stroke moveto
|
|
||||||
moduleWidth mul 2 div 0 rmoveto } def
|
|
||||||
/L { dup moduleWidth mul 2 div 0 rmoveto
|
|
||||||
dup moduleWidth mul barWidthReduction sub setlinewidth
|
|
||||||
0 -5 rmoveto 0 5 rlineto
|
|
||||||
0 moduleHeight rlineto 0 moduleHeight neg rmoveto
|
|
||||||
currentpoint stroke moveto
|
|
||||||
moduleWidth mul 2 div 0 rmoveto } def
|
|
||||||
% function fitstring:
|
|
||||||
% usage: width string font fitstring
|
|
||||||
% scale font to fit string to desired width
|
|
||||||
% leave string on stack
|
|
||||||
/fitstring { dup findfont 1 scalefont setfont % w s f
|
|
||||||
3 1 roll % f w s
|
|
||||||
dup stringwidth pop % f w s sw
|
|
||||||
3 2 roll exch div % f s x
|
|
||||||
3 2 roll findfont exch
|
|
||||||
scalefont setfont } def
|
|
||||||
% get bounding box of string.
|
|
||||||
% usage: string stringbb -> llx lly urx ury
|
|
||||||
/stringbb {gsave false charpath flattenpath pathbbox grestore} def
|
|
||||||
% String height and width:
|
|
||||||
/stringhw {stringbb exch % llx lly ury urx
|
|
||||||
4 1 roll % urx llx lly ury
|
|
||||||
sub neg % urx llx h
|
|
||||||
3 1 roll % h urx llx
|
|
||||||
sub % h w
|
|
||||||
} def
|
|
||||||
/dx { [ 0 1 2 0 1 2 0 1 2 ] } def
|
|
||||||
/dy { [ 0 0 0 1 1 1 2 2 2 ] } def
|
|
||||||
% Set dx and dy to shift to anchor point:
|
|
||||||
/dxdy { dup dx exch % anchor dx anchor
|
|
||||||
get % anchor idx
|
|
||||||
dy % anchor idx dy
|
|
||||||
3 2 roll % idx dy anchor
|
|
||||||
get % idx idy
|
|
||||||
} def
|
|
||||||
% Usage: string anchor anchorstring
|
|
||||||
/anchorstring { dxdy % string idx idy
|
|
||||||
3 2 roll % idx idy string
|
|
||||||
dup % idx idy string string
|
|
||||||
4 1 roll % string idx idy string
|
|
||||||
stringhw % string idx idy h w
|
|
||||||
4 1 roll % string w idx idy h
|
|
||||||
mul -2 div % string w idx ry
|
|
||||||
3 1 roll % string ry w idx
|
|
||||||
mul -2 div % string ry rx
|
|
||||||
exch
|
|
||||||
rmoveto show } def
|
|
||||||
225.5 347.5 translate 0 0 moveto
|
|
||||||
0 0 0 1 setcmykcolor
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 65.52 -1 translate 0 0 moveto
|
|
||||||
36.6912 (781948) /OCRB fitstring
|
|
||||||
(743150) 7 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 22.464 -1 translate 0 0 moveto
|
|
||||||
36.6912 (781948) /OCRB fitstring
|
|
||||||
(781948) 7 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave -2 -1 translate 0 0 moveto
|
|
||||||
36.6912 (781948) /OCRB fitstring
|
|
||||||
(9) 8 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Product Code Bars
|
|
||||||
%
|
|
||||||
gsave
|
|
||||||
0 0 translate 0 0 moveto
|
|
||||||
/moduleHeight { 72 } def
|
|
||||||
/moduleWidth { 0.936 } def
|
|
||||||
/barWidthReduction { 0 } def
|
|
||||||
1 L 1 W 1 L 1 W 3 B 1 W 2 B 3 W 1 B 2 W 1 B 1 W 2 B 2 W 2 B 3 W 1 B 1 W 2 B 2 W 3 B 1 W 1 B 1 W 2 B 1 W 3 B 1 W 1 L 1 W 1 L 1 W 1 B 3 W 1 B 2 W 1 B 1 W 3 B 2 W 1 B 4 W 1 B 1 W 2 B 2 W 2 B 1 W 1 B 2 W 3 B 1 W 3 B 2 W 1 B 1 W 1 L 1 W 1 L
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 88.92 0 translate 0 0 moveto
|
|
||||||
36.6912 (781948) /OCRB fitstring
|
|
||||||
( ) 0 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 44.46 74 translate 0 0 moveto
|
|
||||||
/OCRB findfont 9 scalefont setfont
|
|
||||||
(ISBN 9781948743150) 1 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Product Code Bars
|
|
||||||
%
|
|
||||||
gsave
|
|
||||||
98 0 translate 0 0 moveto
|
|
||||||
/moduleHeight { 61.344 } def
|
|
||||||
/moduleWidth { 0.936 } def
|
|
||||||
/barWidthReduction { 0 } def
|
|
||||||
1 B 1 W 2 B 1 W 2 B 3 W 1 B 1 W 1 B 1 W 1 B 4 W 1 B 1 W 1 B 1 W 2 B 3 W 1 B 1 W 1 B 1 W 1 B 2 W 3 B 1 W 1 B 3 W 2 B 1 W 1 B
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 119.996 63.344 translate 0 0 moveto
|
|
||||||
32.994 (53500) /OCRB fitstring
|
|
||||||
(53500) 1 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
%
|
|
||||||
% Text string
|
|
||||||
%
|
|
||||||
gsave 142.992 63.344 translate 0 0 moveto
|
|
||||||
32.994 (53500) /OCRB fitstring
|
|
||||||
(>) 0 anchorstring
|
|
||||||
grestore
|
|
||||||
|
|
||||||
stroke
|
|
||||||
% showpage OK in EPS
|
|
||||||
showpage
|
|
||||||
% Good luck!
|
|
||||||
491
making-of/assets/map.dot
Normal file
@ -0,0 +1,491 @@
|
|||||||
|
digraph Map {
|
||||||
|
node[shape="box"]
|
||||||
|
label=""
|
||||||
|
|
||||||
|
// The following must appear before the ally group in order to position them
|
||||||
|
// on the left side.
|
||||||
|
node[group="aside",style="",fontcolor="#111111"]
|
||||||
|
"Aside 1" [href="/aside/1"]
|
||||||
|
"Aside 2" [href="/aside/2"]
|
||||||
|
"Aside 3" [href="/aside/3"]
|
||||||
|
|
||||||
|
"Dreams 1" [href="/aside/dreams/1"]
|
||||||
|
"Dreams 2" [href="/aside/dreams/2"]
|
||||||
|
/* "Dreams 3" [href="/aside/dreams/3"] */
|
||||||
|
|
||||||
|
node[group="dad",style="filled",fillcolor="#cccccc",fontcolor="#222222"]
|
||||||
|
"Dad 1" [href="/dad"]
|
||||||
|
"Dad 2" [href="/dad/2"]
|
||||||
|
"Dad 3" [href="/dad/3"]
|
||||||
|
"Dad 4" [href="/dad/4"]
|
||||||
|
"Dad 5" [href="/dad/5"]
|
||||||
|
"Dad 6" [href="/dad/6"]
|
||||||
|
"Dad 7" [href="/dad/7"]
|
||||||
|
"Dad 8" [href="/dad/8"]
|
||||||
|
"Dad 9" [href="/dad/9"]
|
||||||
|
"Dad 10" [href="/dad/10"]
|
||||||
|
"Dad 11" [href="/dad/11"]
|
||||||
|
"Dad 1" -> "Dad 2" -> "Dad 3" -> "Dad 4" -> "Dad 5" ->
|
||||||
|
"Dad 6" -> "Dad 7" -> "Dad 8" -> "Dad 9" -> "Dad 10" ->
|
||||||
|
"Dad 11"
|
||||||
|
|
||||||
|
node[group="dad-humanized",style="filled",fillcolor="#dddddd",fontcolor="#111111"]
|
||||||
|
"As a person 1" [href="/dad/as/a/person"]
|
||||||
|
"As a person 2" [href="/dad/as/a/person/2"]
|
||||||
|
"As a person 3" [href="/dad/as/a/person/3"]
|
||||||
|
"As a person 4" [href="/dad/as/a/person/4"]
|
||||||
|
"As a person 5" [href="/dad/as/a/person/5"]
|
||||||
|
"Dad 11" -> "As a person 1" -> "As a person 2" -> "As a person 3" ->
|
||||||
|
"As a person 4" -> "As a person 5"
|
||||||
|
|
||||||
|
node[group="pnm",style="filled",fillcolor="#2f082a",fontcolor="#ccccdd"]
|
||||||
|
"Poet and Mystic 1" [href="/poet-and-mystic"]
|
||||||
|
"Poet and Mystic 2" [href="/poet-and-mystic/2"]
|
||||||
|
"Poet and Mystic 3" [href="/poet-and-mystic/3"]
|
||||||
|
"Poet and Mystic 4" [href="/poet-and-mystic/4"]
|
||||||
|
"Poet and Mystic 5" [href="/poet-and-mystic/5"]
|
||||||
|
"Poet and Mystic 6" [href="/poet-and-mystic/6"]
|
||||||
|
"Poet and Mystic 7" [href="/poet-and-mystic/7"]
|
||||||
|
"Poet and Mystic 8" [href="/poet-and-mystic/8"]
|
||||||
|
"Poet and Mystic 9" [href="/poet-and-mystic/9"]
|
||||||
|
"Poet and Mystic 10" [href="/poet-and-mystic/10"]
|
||||||
|
"Poet and Mystic 11" [href="/poet-and-mystic/11"]
|
||||||
|
"Poet and Mystic 12" [href="/poet-and-mystic/12"]
|
||||||
|
"Poet and Mystic 13" [href="/poet-and-mystic/13"]
|
||||||
|
"Poet and Mystic 1" -> "Poet and Mystic 2" -> "Poet and Mystic 3" ->
|
||||||
|
"Poet and Mystic 4" -> "Poet and Mystic 5" -> "Poet and Mystic 6" ->
|
||||||
|
"Poet and Mystic 7" -> "Poet and Mystic 8" -> "Poet and Mystic 9" ->
|
||||||
|
"Poet and Mystic 10" -> "Poet and Mystic 11" -> "Poet and Mystic 12" ->
|
||||||
|
"Poet and Mystic 13"
|
||||||
|
|
||||||
|
node[group="ane",style="",fontcolor="#111111"]
|
||||||
|
"Agony and Ecstasy" [href="/poet-and-mystic/agony-and-ecstasy"]
|
||||||
|
"Audio" [href="/poet-and-mystic/agony-and-ecstasy/audio"]
|
||||||
|
"Video" [href="/poet-and-mystic/agony-and-ecstasy/video"]
|
||||||
|
"Text" [href="/poet-and-mystic/agony-and-ecstasy/text"]
|
||||||
|
"Agony and Ecstasy" -> "Audio"
|
||||||
|
"Agony and Ecstasy" -> "Video"
|
||||||
|
"Agony and Ecstasy" -> "Text"
|
||||||
|
|
||||||
|
node[group="overflowing",style="filled",fillcolor="#aaaaaa",fontcolor="#000000"]
|
||||||
|
"Overflowing" [href="/poet-and-mystic/overflowing"]
|
||||||
|
|
||||||
|
node[group="with",style="filled",fillcolor="#666666",fontcolor="#cccccc"]
|
||||||
|
"With" [href="/poet-and-mystic/overflowing/with"]
|
||||||
|
|
||||||
|
node[group="words",style="filled",fillcolor="#000000",fontcolor="#777777"]
|
||||||
|
"Words 1" [href="/poet-and-mystic/overflowing/with/words"]
|
||||||
|
"Words 2" [href="/poet-and-mystic/overflowing/with/words/2"]
|
||||||
|
"Words 3" [href="/poet-and-mystic/overflowing/with/words/3"]
|
||||||
|
"Words 4" [href="/poet-and-mystic/overflowing/with/words/4"]
|
||||||
|
"Words 5" [href="/poet-and-mystic/overflowing/with/words/5"]
|
||||||
|
"Words 6" [href="/poet-and-mystic/overflowing/with/words/6"]
|
||||||
|
"Words 7" [href="/poet-and-mystic/overflowing/with/words/7"]
|
||||||
|
"Words 8" [href="/poet-and-mystic/overflowing/with/words/8"]
|
||||||
|
"Words 1" -> "Words 2" -> "Words 3" -> "Words 4" -> "Words 5" ->
|
||||||
|
"Words 6" -> "Words 7" -> "Words 8"
|
||||||
|
|
||||||
|
node[group="from-within",style="filled",fillcolor="#333a18",fontcolor="#ccddcc"]
|
||||||
|
"From within 1" [href="/from-within/"]
|
||||||
|
"From within 2" [href="/from-within/2"]
|
||||||
|
"From within 3" [href="/from-within/3",fillcolor="#283a26"]
|
||||||
|
"From within 4" [href="/from-within/4",fillcolor="#082a16",fontcolor="#bbccbb"]
|
||||||
|
"From within 5" [href="/from-within/5",fillcolor="#082010",fontcolor="#aabbaa"]
|
||||||
|
"From within 6" [href="/from-within/i-guess..",fillcolor="#001a06",fontcolor="#aabbaa"]
|
||||||
|
"From within 1" -> "From within 2" -> "From within 3" -> "From within 4" ->
|
||||||
|
"From within 5" -> "From within 6"
|
||||||
|
|
||||||
|
node[group="jay",style="filled",fillcolor="#eeddff",fontcolor="#222288"]
|
||||||
|
"Jay 1" [href="/jay/"]
|
||||||
|
"Jay 2" [href="/jay/2"]
|
||||||
|
"Jay 3" [href="/jay/3"]
|
||||||
|
"Jay 4" [href="/jay/4"]
|
||||||
|
"Jay 5" [href="/jay/5"]
|
||||||
|
"Jay 6" [href="/jay/6"]
|
||||||
|
"Jay 1" -> "Jay 2" -> "Jay 3" -> "Jay 4" -> "Jay 5" -> "Jay 6"
|
||||||
|
|
||||||
|
node[group="liminal",style="",fontcolor="#111111"]
|
||||||
|
"Liminal 1" [href="/liminal"]
|
||||||
|
"Liminal 2" [href="/liminal/2"]
|
||||||
|
"Liminal 3" [href="/liminal/3"]
|
||||||
|
"Liminal 4" [href="/liminal/4"]
|
||||||
|
"Liminal 5" [href="/liminal/5"]
|
||||||
|
"Liminal 6" [href="/liminal/6"]
|
||||||
|
"Liminal 7" [href="/liminal/7"]
|
||||||
|
"Liminal 8" [href="/liminal/8"]
|
||||||
|
"Liminal 1" -> "Liminal 2" -> "Liminal 3" -> "Liminal 4" ->
|
||||||
|
"Liminal 5" -> "Liminal 6" -> "Liminal 7" -> "Liminal 8"
|
||||||
|
|
||||||
|
node[group="poly",style="",fontcolor="#111111"]
|
||||||
|
"Poly 1" [href="/poly"]
|
||||||
|
"Poly 2" [href="/poly/2"]
|
||||||
|
"Poly 3" [href="/poly/3"]
|
||||||
|
"Poly 4" [href="/poly/4"]
|
||||||
|
"Poly 5" [href="/poly/5"]
|
||||||
|
"Poly 6" [href="/poly/6"]
|
||||||
|
"Poly 1" -> "Poly 2" -> "Poly 3" -> "Poly 4" -> "Poly 5" -> "Poly 6"
|
||||||
|
|
||||||
|
node[group="rape",style="filled",fillcolor="#330000",fontcolor="#dccccc"]
|
||||||
|
"Rape 1" [href="/sex/rape"]
|
||||||
|
"Rape 2" [href="/sex/rape/2"]
|
||||||
|
"Rape 3" [href="/sex/rape/3"]
|
||||||
|
"Rape 4" [href="/sex/rape/4"]
|
||||||
|
"Rape 1" -> "Rape 2" -> "Rape 3" -> "Rape 4"
|
||||||
|
|
||||||
|
node[group="sex",style="filled",fillcolor="#eeeef8",fontcolor="#111111"]
|
||||||
|
"Sex 1" [href="/sex"]
|
||||||
|
"Sex 2" [href="/sex/2"]
|
||||||
|
"Sex 3" [href="/sex/3"]
|
||||||
|
"Sex 4" [href="/sex/4"]
|
||||||
|
"Sex 5" [href="/sex/5"]
|
||||||
|
"Sex 6" [href="/sex/6"]
|
||||||
|
"Sex 7" [href="/sex/7"]
|
||||||
|
"Sex 8" [href="/sex/8"]
|
||||||
|
"Sex 9" [href="/sex/9"]
|
||||||
|
"Sex 10" [href="/sex/10"]
|
||||||
|
"Sex 1" -> "Sex 2" -> "Sex 3" -> "Sex 4" -> "Sex 5" -> "Sex 6" -> "Sex 7" ->
|
||||||
|
"Sex 8" -> "Sex 9" -> "Sex 10"
|
||||||
|
|
||||||
|
node[group="kink",style="filled",fillcolor="#17111a",fontcolor="#ffffff"]
|
||||||
|
"Kink 1" [href="/sex/kink"]
|
||||||
|
"Kink 2" [href="/sex/kink/2"]
|
||||||
|
"Kink 3" [href="/sex/kink/3"]
|
||||||
|
"Kink 4" [href="/sex/kink/4"]
|
||||||
|
"Kink 1" -> "Kink 2" -> "Kink 3" -> "Kink 4"
|
||||||
|
|
||||||
|
node[group="aside",style="",fontcolor="#111111"]
|
||||||
|
"Dreams 3" [href="/aside/dreams/3"]
|
||||||
|
|
||||||
|
node[group="software",style="filled",fillcolor="#eaf5ff",fontcolor="#05264c"]
|
||||||
|
"Software 1" [href="https://github.com/makyo/ally/pull/4/commits/c7d73fc7a727d34728b353a2c428b0da71788bf0"]
|
||||||
|
"Software 2" [href="https://github.com/makyo/ally/pull/4/commits/04b7300615386bccbb331caebcf396077f6fc9ea"]
|
||||||
|
"Software 3" [href="https://github.com/makyo/ally/pull/4/commits/d73e63f3fdc0bce89f06334959ade28888a2f7b2"]
|
||||||
|
"Software 4" [href="https://github.com/makyo/ally/pull/4/commits/90acc199cd80944f6c5eb6834a2fa67783db4d7d"]
|
||||||
|
"Software 5" [href="https://github.com/makyo/ally/pull/4/commits/49f83b2148f70151c43f8ef77a061e7252d9b1d4"]
|
||||||
|
"Software 6" [href="https://github.com/makyo/ally/pull/4/commits/ab8302ca2f6ca00c0a5bdfebcb4b2f2291ec9833"]
|
||||||
|
"Software 1" -> "Software 2" -> "Software 3" -> "Software 4" ->
|
||||||
|
"Software 5" -> "Software 6"
|
||||||
|
|
||||||
|
node[group="burnout",style="",fontcolor="#444444"]
|
||||||
|
"Burnout 1" [href="/burnout"]
|
||||||
|
"Burnout 2" [href="/burnout/2"]
|
||||||
|
"Burnout 3" [href="/burnout/3"]
|
||||||
|
"Burnout 4" [href="/burnout/4"]
|
||||||
|
"Burnout 1" -> "Burnout 2" -> "Burnout 3" -> "Burnout 4"
|
||||||
|
|
||||||
|
// This is the central axis
|
||||||
|
node[group="ally",style="",fontcolor="#111111"] // `core` folder
|
||||||
|
"ally 1" [href="/"]
|
||||||
|
"ally 2" [href="/2"]
|
||||||
|
"ally 3" [href="/3"]
|
||||||
|
"ally 4" [href="/4"]
|
||||||
|
"ally 5" [href="/5"]
|
||||||
|
"ally 6" [href="/6"]
|
||||||
|
"ally 7" [href="/7"]
|
||||||
|
"ally 8" [href="/8"]
|
||||||
|
"ally 9" [href="/9"]
|
||||||
|
"ally 10" [href="/10"]
|
||||||
|
"ally 11" [href="/11"]
|
||||||
|
"ally 12" [href="/12"]
|
||||||
|
"ally 13" [href="/13"]
|
||||||
|
"ally 14" [href="/14"]
|
||||||
|
"ally 15" [href="/15"]
|
||||||
|
"ally 16" [href="/16"]
|
||||||
|
"ally 17" [href="/17"]
|
||||||
|
"ally 18" [href="/18"]
|
||||||
|
"ally 19" [href="/19"]
|
||||||
|
"ally 20" [href="/20"]
|
||||||
|
"ally 21" [href="/21"]
|
||||||
|
"ally 22" [href="/22"]
|
||||||
|
"ally 23" [href="/23"]
|
||||||
|
"ally 24" [href="/24"]
|
||||||
|
"ally 25" [href="/25"]
|
||||||
|
"ally 26" [href="/26"]
|
||||||
|
"ally 27" [href="/27"]
|
||||||
|
"ally 28" [href="/28"]
|
||||||
|
"ally 29" [href="/29"]
|
||||||
|
"ally 30" [href="/30"]
|
||||||
|
"ally 31" [href="/31"]
|
||||||
|
"ally 32" [href="/32"]
|
||||||
|
"To be continued..." [shape="none"]
|
||||||
|
"ally 1" -> "ally 2" -> "ally 3" -> "ally 4" -> "ally 5" ->
|
||||||
|
"ally 6" -> "ally 7" -> "ally 8" -> "ally 9" -> "ally 10" ->
|
||||||
|
"ally 11" -> "ally 12" -> "ally 13" -> "ally 14" -> "ally 15" ->
|
||||||
|
"ally 16" -> "ally 17" -> "ally 18" -> "ally 19" -> "ally 20" ->
|
||||||
|
"ally 21" -> "ally 22" -> "ally 23" -> "ally 24" -> "ally 25" ->
|
||||||
|
"ally 26" -> "ally 27" -> "ally 28" -> "ally 29" -> "ally 30" ->
|
||||||
|
"ally 31" -> "ally 32" -> "To be continued..."
|
||||||
|
|
||||||
|
node[group="birds",style="",fontcolor="#111111"]
|
||||||
|
"Birds 1" [href="/birds"]
|
||||||
|
"Birds 2" [href="/birds/2"]
|
||||||
|
"Birds 3" [href="/birds/3"]
|
||||||
|
"Birds 4" [href="/birds/4"]
|
||||||
|
"Birds 5" [href="/birds/5"]
|
||||||
|
"Birds 1" -> "Birds 2" -> "Birds 3" -> "Birds 4" -> "Birds 5"
|
||||||
|
|
||||||
|
// Must come before Furry to position it to the left.
|
||||||
|
node[group="koan",style="filled",fillcolor="#1f183a",fontcolor="#ccccdd"]
|
||||||
|
"Koan 1" [href="/koan/"]
|
||||||
|
"Koan 2" [href="/koan/2"]
|
||||||
|
"Koan 3" [href="/koan/3"]
|
||||||
|
"Koan 4" [href="/koan/4"]
|
||||||
|
"Koan 5" [href="/koan/5"]
|
||||||
|
"Koan 6" [href="/koan/6"]
|
||||||
|
"Koan 1" -> "Koan 2" -> "Koan 3" -> "Koan 4" -> "Koan 5" -> "Koan 6"
|
||||||
|
|
||||||
|
node[group="fursona",style="",fontcolor="#111111"]
|
||||||
|
"Fursoñas 1" [href="/furry/fursona/"]
|
||||||
|
"Fursoñas 2" [href="/furry/fursona/2"]
|
||||||
|
"Fursoñas 3" [href="/furry/fursona/3"]
|
||||||
|
"Fursoñas 4" [href="/furry/fursona/4"]
|
||||||
|
"Fursoñas 5" [href="/furry/fursona/5"]
|
||||||
|
"Fursoñas 6" [href="/furry/fursona/6"]
|
||||||
|
"Fursoñas 7" [href="/furry/fursona/7"]
|
||||||
|
"Fursoñas 8" [href="/furry/fursona/8"]
|
||||||
|
"Fursoñas 1" -> "Fursoñas 2" -> "Fursoñas 3" -> "Fursoñas 4" ->
|
||||||
|
"Fursoñas 5" -> "Fursoñas 6" -> "Fursoñas 7" -> "Fursoñas 8"
|
||||||
|
|
||||||
|
node[group="furry",style="",fontcolor="#111111"]
|
||||||
|
"Furry 1" [href="/furry"]
|
||||||
|
"Furry 2" [href="/furry/2"]
|
||||||
|
"Furry 3" [href="/furry/3"]
|
||||||
|
"Furry 4" [href="/furry/4"]
|
||||||
|
"Furry 5" [href="/furry/5"]
|
||||||
|
"Furry 6" [href="/furry/6"]
|
||||||
|
"Furry 7" [href="/furry/7"]
|
||||||
|
"Furry 1" -> "Furry 2" -> "Furry 3" -> "Furry 4" -> "Furry 5" ->
|
||||||
|
"Furry 6" -> "Furry 7"
|
||||||
|
|
||||||
|
node[group="margaras"]
|
||||||
|
"Margaras 1" [href="/furry/margaras"]
|
||||||
|
"Margaras 2" [href="/furry/margaras/2"]
|
||||||
|
"Margaras 3" [href="/furry/margaras/3"]
|
||||||
|
"Margaras 4" [href="/furry/margaras/4"]
|
||||||
|
"Margaras 5" [href="/furry/margaras/5"]
|
||||||
|
"Margaras 6" [href="/furry/margaras/6"]
|
||||||
|
"Margaras 1" -> "Margaras 2" -> "Margaras 3" -> "Margaras 4" ->
|
||||||
|
"Margaras 5" -> "Margaras 6"
|
||||||
|
|
||||||
|
node[group="younes"]
|
||||||
|
"Younes 1" [href="/furry/younes"]
|
||||||
|
"Younes 2" [href="/furry/younes/2"]
|
||||||
|
"Younes 3" [href="/furry/younes/3"]
|
||||||
|
"Younes 1" -> "Younes 2" -> "Younes 3"
|
||||||
|
|
||||||
|
node[group="mania",style="filled",fillcolor="#000000",fontcolor="#dddddd"]
|
||||||
|
"Manic notes 1" [href="/mania/"]
|
||||||
|
"Manic notes 2" [href="/mania/2"]
|
||||||
|
"Manic notes 3" [href="/mania/3"]
|
||||||
|
"Manic notes 4" [href="/mania/4"]
|
||||||
|
"Manic notes 5" [href="/mania/5"]
|
||||||
|
"Manic notes 1" -> "Manic notes 2" -> "Manic notes 3" -> "Manic notes 4" ->
|
||||||
|
"Manic notes 5"
|
||||||
|
|
||||||
|
node[group="mp",style="",fontcolor="#111111"]
|
||||||
|
"Manifesto Project 1" [href="/manifesto-project"]
|
||||||
|
"Manifesto Project 2" [href="/manifesto-project/2"]
|
||||||
|
"Manifesto Project 3" [href="/manifesto-project/3"]
|
||||||
|
"Manifesto Project 4" [href="/manifesto-project/4"]
|
||||||
|
"Manifesto Project 5" [href="/manifesto-project/5"]
|
||||||
|
"Manifesto Project 6" [href="/manifesto-project/6"]
|
||||||
|
"Manifesto Project 7" [href="/manifesto-project/7"]
|
||||||
|
"Manifesto Project 8" [href="/manifesto-project/8"]
|
||||||
|
"Manifesto Project 9" [href="/manifesto-project/9"]
|
||||||
|
"Manifesto Project 10" [href="/manifesto-project/10"]
|
||||||
|
"Manifesto Project 11" [href="/manifesto-project/11"]
|
||||||
|
"Manifesto Project 12" [href="/manifesto-project/12"]
|
||||||
|
"Manifesto Project 13" [href="/manifesto-project/13"]
|
||||||
|
"Manifesto Project 14" [href="/manifesto-project/14"]
|
||||||
|
"Manifesto Project 1" -> "Manifesto Project 2" -> "Manifesto Project 3" ->
|
||||||
|
"Manifesto Project 4" -> "Manifesto Project 5" -> "Manifesto Project 6" ->
|
||||||
|
"Manifesto Project 7" -> "Manifesto Project 8" -> "Manifesto Project 9" ->
|
||||||
|
"Manifesto Project 10" -> "Manifesto Project 11" ->
|
||||||
|
"Manifesto Project 12" -> "Manifesto Project 13" ->
|
||||||
|
"Manifesto Project 14"
|
||||||
|
|
||||||
|
node[group="gender",style="",fontcolor="#111111"]
|
||||||
|
"Gender 1" [href="/gender"]
|
||||||
|
"Gender 2" [href="/gender/2"]
|
||||||
|
"Gender 3" [href="/gender/3"]
|
||||||
|
"Gender 4" [href="/gender/4"]
|
||||||
|
"Gender 5" [href="/gender/5"]
|
||||||
|
"Gender 6" [href="/gender/6"]
|
||||||
|
"Gender 7" [href="/gender/7"]
|
||||||
|
"Gender 8" [href="/gender/8"]
|
||||||
|
"Gender 9" [href="/gender/9"]
|
||||||
|
"Gender 1" -> "Gender 2" -> "Gender 3" -> "Gender 4" -> "Gender 5" ->
|
||||||
|
"Gender 6" -> "Gender 7" -> "Gender 8" -> "Gender 9"
|
||||||
|
|
||||||
|
node[group="surgery"]
|
||||||
|
"Surgery 1" [href="/gender/surgery"]
|
||||||
|
"Surgery 2" [href="/gender/surgery/2"]
|
||||||
|
"Surgery 3" [href="/gender/surgery/3"]
|
||||||
|
"Surgery 4" [href="/gender/surgery/4"]
|
||||||
|
"Surgery 5" [href="/gender/surgery/5"]
|
||||||
|
"Surgery 6" [href="/gender/surgery/6"]
|
||||||
|
"Surgery 7" [href="/gender/surgery/7"]
|
||||||
|
"Surgery 8" [href="/gender/surgery/8"]
|
||||||
|
"Surgery 9" [href="/gender/surgery/9"]
|
||||||
|
"Surgery 10" [href="/gender/surgery/10"]
|
||||||
|
"Surgery 1" -> "Surgery 2" -> "Surgery 3" -> "Surgery 4" ->
|
||||||
|
"Surgery 5" -> "Surgery 6" -> "Surgery 7" -> "Surgery 8" ->
|
||||||
|
"Surgery 9" -> "Surgery 10"
|
||||||
|
|
||||||
|
node[group="sh",style="filled",fillcolor="#222228",fontcolor="#dddddd"]
|
||||||
|
"Self-harm 1" [href="/self-harm"]
|
||||||
|
"Self-harm 2" [href="/self-harm/2"]
|
||||||
|
"Self-harm 3" [href="/self-harm/3"]
|
||||||
|
"Self-harm 1" -> "Self-harm 2" -> "Self-harm 3"
|
||||||
|
|
||||||
|
node[group="suicide",style="filled",fillcolor="#222222",fontcolor="#aaaaaa"]
|
||||||
|
"Suicide 1" [href="/self-harm/suicide"]
|
||||||
|
"Suicide 2" [href="/self-harm/suicide/2"]
|
||||||
|
"Suicide 3" [href="/self-harm/suicide/3"]
|
||||||
|
"Suicide 4" [href="/self-harm/suicide/4"]
|
||||||
|
"Suicide 5" [href="/self-harm/suicide/5"]
|
||||||
|
"Suicide 6" [href="/self-harm/suicide/6"]
|
||||||
|
"Suicide 7" [href="/self-harm/suicide/7"]
|
||||||
|
"Suicide 8" [href="/self-harm/suicide/8"]
|
||||||
|
"Suicide 9" [href="/self-harm/suicide/9"]
|
||||||
|
"Suicide 10" [href="/self-harm/suicide/10"]
|
||||||
|
"Suicide 11" [href="/self-harm/suicide/11"]
|
||||||
|
"Suicide 12" [href="/self-harm/suicide/12"]
|
||||||
|
"Suicide 13" [href="/self-harm/suicide/13"]
|
||||||
|
"Suicide 1" -> "Suicide 2" -> "Suicide 3" ->
|
||||||
|
"Suicide 4" -> "Suicide 5" -> "Suicide 6" -> "Suicide 7" ->
|
||||||
|
"Suicide 8" -> "Suicide 9" -> "Suicide 10" -> "Suicide 11" ->
|
||||||
|
"Suicide 12" -> "Suicide 13"
|
||||||
|
|
||||||
|
node[group="writing",style="",fontcolor="#111111"]
|
||||||
|
"Writing 1" [href="/writing"]
|
||||||
|
"Writing 2" [href="/writing/2"]
|
||||||
|
"Writing 3" [href="/writing/3"]
|
||||||
|
"Writing 4" [href="/writing/4"]
|
||||||
|
"Writing 5" [href="/writing/5"]
|
||||||
|
"Writing 6" [href="/writing/6"]
|
||||||
|
"Writing 7" [href="/writing/7"]
|
||||||
|
"Writing 1" -> "Writing 2" -> "Writing 3" -> "Writing 4" -> "Writing 5" ->
|
||||||
|
"Writing 6" -> "Writing 7"
|
||||||
|
|
||||||
|
node[group="music",style="",fontcolor="#111111"]
|
||||||
|
"Music 1" [href="/writing/music"]
|
||||||
|
"Music 2" [href="/writing/music/2"]
|
||||||
|
"Music 3" [href="/writing/music/3"]
|
||||||
|
"Music 4" [href="/writing/music/4"]
|
||||||
|
"Music 5" [href="/writing/music/5"]
|
||||||
|
"Music 1" -> "Music 2" -> "Music 3" -> "Music 4" -> "Music 5"
|
||||||
|
|
||||||
|
node[group="movement",style="filled",fillcolor="#e6e6fa",fontcolor="#220000"]
|
||||||
|
"Movement 1" [href="/movement"]
|
||||||
|
"Movement 2" [href="/movement/2"]
|
||||||
|
"Movement 3" [href="/movement/3"]
|
||||||
|
"Movement 4" [href="/movement/4"]
|
||||||
|
"Movement 5" [href="/movement/5"]
|
||||||
|
"Movement 6" [href="/movement/6"]
|
||||||
|
"Movement 7" [href="/movement/7"]
|
||||||
|
"Movement 8" [href="/movement/8"]
|
||||||
|
"Movement 9" [href="/movement/9"]
|
||||||
|
"Movement 1" -> "Movement 2" -> "Movement 3" -> "Movement 4" ->
|
||||||
|
"Movement 5" -> "Movement 6" -> "Movement 7" -> "Movement 8" ->
|
||||||
|
"Movement 9"
|
||||||
|
|
||||||
|
/**
|
||||||
|
Connections
|
||||||
|
|
||||||
|
Connections should only lead from one quest to another the first time that
|
||||||
|
link appears. No need to link to a quest a second time.
|
||||||
|
|
||||||
|
Wasn't the point of this to be intentionally confusing?
|
||||||
|
|
||||||
|
Yeah, but it was grating on me. All of those lines crossing, all those curves, side-quests pushed way down the page because I linked to them too many times.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Asides
|
||||||
|
"ally 14" -> "Aside 1"
|
||||||
|
"Liminal 4" -> "Aside 2"
|
||||||
|
"Poet and Mystic 7" -> "Aside 3"
|
||||||
|
|
||||||
|
// Birds
|
||||||
|
/* none */
|
||||||
|
|
||||||
|
// ally
|
||||||
|
"ally 8" -> "Manic notes 1"
|
||||||
|
"ally 9" -> "Birds 1"
|
||||||
|
"ally 10" -> "Poly 1"
|
||||||
|
"ally 11" -> "From within 1"
|
||||||
|
"ally 13" -> "Furry 1"
|
||||||
|
"ally 15" -> "Liminal 1"
|
||||||
|
"ally 16" -> "Poet and Mystic 1"
|
||||||
|
"ally 17" -> "Writing 1"
|
||||||
|
"ally 18" -> "Software 1"
|
||||||
|
"ally 23" -> "Movement 1"
|
||||||
|
"ally 29" -> "Burnout 1"
|
||||||
|
|
||||||
|
// Dad
|
||||||
|
"As a person 5" -> "ally 16"
|
||||||
|
|
||||||
|
// From within
|
||||||
|
"From within 6" -> "ally 12"
|
||||||
|
|
||||||
|
// Furry
|
||||||
|
// Fursona
|
||||||
|
/* none */
|
||||||
|
|
||||||
|
// Margaras
|
||||||
|
/* none */
|
||||||
|
|
||||||
|
// Younes
|
||||||
|
"Younes 3" -> "Self-harm 1"
|
||||||
|
"Furry 1" -> "Koan 1"
|
||||||
|
"Furry 2" -> "Fursoñas 1"
|
||||||
|
"Furry 6" -> "Margaras 1"
|
||||||
|
"Furry 7" -> "Younes 1"
|
||||||
|
|
||||||
|
// Jay
|
||||||
|
"Jay 3" -> "Dreams 1"
|
||||||
|
|
||||||
|
// Koan
|
||||||
|
/* none */
|
||||||
|
|
||||||
|
// Liminal
|
||||||
|
"Liminal 8" -> "Dad 1"
|
||||||
|
|
||||||
|
// Manic notes
|
||||||
|
"Manic notes 4" -> "Manifesto Project 1"
|
||||||
|
|
||||||
|
// Manifesto Project
|
||||||
|
/* none */
|
||||||
|
|
||||||
|
// Poet and Mystic
|
||||||
|
/*"Poet and Mystic 1" -> "Manifesto Project 1"*/
|
||||||
|
"Poet and Mystic 13" -> "Agony and Ecstasy"
|
||||||
|
"Poet and Mystic 8" -> "Dreams 2"
|
||||||
|
"Poet and Mystic 11" -> "Overflowing" -> "With" -> "Words 1"
|
||||||
|
|
||||||
|
// Poly
|
||||||
|
"Poly 1" -> "Jay 1"
|
||||||
|
"Poly 6" -> "Sex 1"
|
||||||
|
|
||||||
|
// Self-harm
|
||||||
|
/*"Self-harm 1" -> "Margaras 1"*/
|
||||||
|
"Self-harm 3" -> "Suicide 1"
|
||||||
|
"Self-harm 3" -> "Gender 1"
|
||||||
|
|
||||||
|
// Gender
|
||||||
|
"Gender 6" -> "Surgery 1"
|
||||||
|
|
||||||
|
// Sex
|
||||||
|
"Sex 4" -> "Kink 1"
|
||||||
|
"Sex 8" -> "Rape 1"
|
||||||
|
"Sex 8" -> "Dreams 3"
|
||||||
|
|
||||||
|
// Writing
|
||||||
|
/*"Writing 2" -> "Koans 1"
|
||||||
|
"Writing 2" -> "Birds 1"
|
||||||
|
"Writing 2" -> "Margaras 1"
|
||||||
|
"Writing 2" -> "Dad 1"
|
||||||
|
"Writing 2" -> "Fursoñas 1"
|
||||||
|
"Writing 2" -> "Poet and Mystic 1"*/
|
||||||
|
"Writing 7" -> "Music 1"
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 500 KiB After Width: | Height: | Size: 503 KiB |
BIN
making-of/assets/print-problems.png
Normal file
|
After Width: | Height: | Size: 923 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 42 KiB |
16
making-of/assets/workflow.dot
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
digraph workflow {
|
||||||
|
node[shape="box"];
|
||||||
|
|
||||||
|
start[style=invis];
|
||||||
|
end[style=invis];
|
||||||
|
|
||||||
|
start -> "Get a doofy idea" -> "Check out a doofy branch" ->
|
||||||
|
"Write doofy idea" -> "Commit, push branch" -> "Edit" ->
|
||||||
|
"Create pull request" -> "Get deploy preview from Netlify" ->
|
||||||
|
"Show Patrons deploy preview early" -> "Merge pull request" -> end;
|
||||||
|
|
||||||
|
"Edit" -> "Write doofy idea";
|
||||||
|
|
||||||
|
|
||||||
|
"Merge pull request" -> "Get a doofy idea";
|
||||||
|
}
|
||||||
BIN
making-of/assets/workflow.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
@ -1,4 +1,4 @@
|
|||||||
\documentclass[11pt]{memoir}
|
\documentclass[11pt,onesided]{memoir}
|
||||||
|
|
||||||
\def\watermarkloaded{0}
|
\def\watermarkloaded{0}
|
||||||
|
|
||||||
@ -17,6 +17,7 @@
|
|||||||
\begin{document}
|
\begin{document}
|
||||||
\frontmatter
|
\frontmatter
|
||||||
|
|
||||||
|
\includepdf{cover.pdf}
|
||||||
\input{includes/pretitle}
|
\input{includes/pretitle}
|
||||||
|
|
||||||
\pagestyle{plain}
|
\pagestyle{plain}
|
||||||
@ -53,21 +54,31 @@
|
|||||||
\null
|
\null
|
||||||
\vfill
|
\vfill
|
||||||
\begin{center}
|
\begin{center}
|
||||||
{\allyFont ally} began in the form of an interactive website.
|
How many layers of remove is enough?
|
||||||
|
|
||||||
The project continues at {\allyFont https://ally.id}
|
\vfill
|
||||||
|
|
||||||
|
We ask how, because the question of why must ask itself.
|
||||||
\end{center}
|
\end{center}
|
||||||
\vfill
|
\vfill
|
||||||
|
|
||||||
\mainmatter
|
\mainmatter
|
||||||
|
|
||||||
\pagestyle{ourbook}
|
\pagestyle{ourbook}
|
||||||
\columnratio{0.618}
|
\columnratio{0.65}
|
||||||
\setlength\columnsep{20pt}
|
\setlength\columnsep{20pt}
|
||||||
\twosided
|
%\twosided
|
||||||
|
\backgroundcolor{c[1]}[HTML]{eeddff}
|
||||||
|
\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[HTML]{eeddff}
|
||||||
\input{content/001}
|
\input{content/001}
|
||||||
|
\backgroundcolor{c[1]}[HTML]{ffddee}
|
||||||
|
\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[HTML]{ffddee}
|
||||||
\input{content/002}
|
\input{content/002}
|
||||||
|
\backgroundcolor{c[1]}[HTML]{ddffee}
|
||||||
|
\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[HTML]{ddffee}
|
||||||
\input{content/003}
|
\input{content/003}
|
||||||
|
\backgroundcolor{c[1]}[HTML]{222222}
|
||||||
|
\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[HTML]{222222}
|
||||||
\input{content/004}
|
\input{content/004}
|
||||||
|
|
||||||
%%%%%
|
%%%%%
|
||||||
|
|||||||
@ -80,13 +80,9 @@ I don't know. Probably not often. There is precedent, though, for overused liter
|
|||||||
of serenity.
|
of serenity.
|
||||||
\end{verse}
|
\end{verse}
|
||||||
|
|
||||||
Or perhaps you enjoy foxes as I do:
|
\noindent Or perhaps you enjoy foxes\footnote{From \href{https://poignant.guide}{\emph{Why's Poignant Guide to Ruby}} by Why The Lucky Stiff, licensed under a CreativeCommons Attribution-ShareAlike license.} as I do:
|
||||||
|
|
||||||
\noindent\includegraphics[width=4.2in]{assets/the.foxes-3.png}
|
\noindent\includegraphics[width=4.7in]{assets/the.foxes-3.png}
|
||||||
\begin{center}
|
|
||||||
\footnotesize
|
|
||||||
From \href{https://poignant.guide}{\emph{Why's Poignant Guide to Ruby}} by \textbf{Why The Lucky Stiff}, licensed under a CreativeCommons Attribution-ShareAlike license.
|
|
||||||
\end{center}
|
|
||||||
|
|
||||||
There are all sorts of instances of folks writing technical things in a decidedly non-technical fashion.
|
There are all sorts of instances of folks writing technical things in a decidedly non-technical fashion.
|
||||||
|
|
||||||
@ -96,10 +92,10 @@ There are all sorts of instances of folks writing technical things in a decidedl
|
|||||||
Thanks for writing my segue for me.
|
Thanks for writing my segue for me.
|
||||||
|
|
||||||
\begin{labeling}{\textbf{The ally book}}
|
\begin{labeling}{\textbf{The ally book}}
|
||||||
\item[\textbf{ally.id}] How the interactive side of ally is built, including some fun examples.
|
\item[\textbf{\allyId}] How the interactive side of ally is built, including some fun examples.
|
||||||
|
|
||||||
\emph{Page \pageref{site}}
|
\emph{Page \pageref{site}}
|
||||||
\item[\textbf{The ally book}] How the book itself was built.
|
\item[\textbf{The \allyWord\ book}] How the book itself was built.
|
||||||
|
|
||||||
\emph{Page \pageref{book}}
|
\emph{Page \pageref{book}}
|
||||||
\item[\textbf{Gotchas}] Some problems I ran into along the way.
|
\item[\textbf{Gotchas}] Some problems I ran into along the way.
|
||||||
|
|||||||
@ -1,5 +1,194 @@
|
|||||||
\chapter*{ally.id}
|
\chapter*{\allyId}
|
||||||
|
|
||||||
\label{site}
|
\label{site}
|
||||||
|
|
||||||
Dork dork dork
|
\begin{paracol}{2}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
We promise ourselves that we live our memories in a linear fashion. And who knows, perhaps we do.
|
||||||
|
|
||||||
|
What we emphatically do not do is remember our lives in linear fashion. \allyWord\ began as an interactive project specifically to explore this aspect. The goal was to use the concept of interlinked pages to represent the way that one memory can be interlinked to another, and another, and so on.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
And dreadfully distinct within the dark, a tall white fountain played?
|
||||||
|
\end{ally}
|
||||||
|
Something like that.
|
||||||
|
|
||||||
|
And here, we lean on a very specific deinition of hypertext. Hypertext is used to imply that some portion of a document can link to another portion of a document. This linking goes beyond simply the links that one clicks, as it can mean inclusions, such as when an image is included on a page full of text. It can, indeed, mean a link that leads from one page to the next, but what means `next' here? Does it mean moving on to the next page in a series of pages, or does it mean moving from one section of the site to another? Perhaps it means moving from this site to the next.
|
||||||
|
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\newpage
|
||||||
|
\section*{Hypertext types}
|
||||||
|
\begin{labeling}{Arborescent}
|
||||||
|
\item[Axial] A set of linked documents that travels down a single axis, from start to finish.
|
||||||
|
\item[Arborescent] A set of linked documents with a central axis, of of which may sprout other documents (which may in turn be axial or arborescent hypertexts).
|
||||||
|
\item[Networked] A set of linked documents with no discernable axis. No start or finish, no direction to travel in.
|
||||||
|
\end{labeling}
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
With \allyId, this became a core component of exploring memory. It means something different to wind one's way down the singular path a memory treads than it does to jump the track onto something wholly different. The central axis of the story is the death of Matthew as told through conversations with--
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Me!
|
||||||
|
\end{ally}
|
||||||
|
--with an imaginary alter-ego who, by virtue of that `ego', knows all the same things I do.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Or more.
|
||||||
|
\end{ally}
|
||||||
|
Perhaps, yes.
|
||||||
|
|
||||||
|
As a memory would be touched upon, it would spark a new branch of exploration that would proceed in much the same way. This is why the project is described as ``arborescent'': there is a central trunk with a defined beginning at the root, and from there, it blossoms up and out.
|
||||||
|
|
||||||
|
Or, it turns out, down and out.
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\input{content/tree}
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
\noindent While working on \allyId, Each page was kept in a single Markdown file, and each exploring branch was kept in a folder. Thus, we wind up with a file structure akin to what we see on the right.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Never content to condense your thoughts into something simple and easy to read, were you?
|
||||||
|
\end{ally}
|
||||||
|
To your scattered files go, I suppose.
|
||||||
|
|
||||||
|
Do keep in mind that this is a website, however. This directory, these filenames, this structure all play a role in how the whole project works. These whole tree of files are in the \texttt{content} directory of a Hugo project. Hugo is a program which knows how to take these Markdown files and turn them into HTML files while following a simple set of rules.
|
||||||
|
|
||||||
|
In each of those \texttt{\_index.md} files, one will usually find nothing. That is, in terms of content, for at the top of each file comes a header which describes some of those rules. For instance, in some directories, we want the background to be a certain color, or perhaps we want there to be a link down at the bottom saying ``back to where we left off''.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
There is no going, and there is no back.
|
||||||
|
\end{ally}
|
||||||
|
We can always pretend.
|
||||||
|
|
||||||
|
Another rule that is stated in these files is that they are intended to list the pages in that directory. Usually, this is done on a blog page where you might see the titles and first paragraphs of ten blog entries in a list, each with a ``read more'' link, followed at the bottom by a list of `pages of results'. In my case, though, I set Hugo up so that, when it listed all of the `posts', it would only do one per page, and instead of showing only the first paragraph, it would show the whole page. This essentially made it work as a book would: you simply turn the page when you're done reading. My \texttt{list.html} file for this `serial' layout loops over the pages in the directory as follows:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
{{ $paginator := .Paginate .Pages.ByWeight 1 }}
|
||||||
|
{{ $content := .Content }}
|
||||||
|
{{ range $paginator.Pages.ByWeight }}
|
||||||
|
...
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
With this theme in place and with the files all in the right orders (each with a \texttt{weight} key in their own headers), Hugo will build the site as it stands.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Oh, but there's more to it than that.
|
||||||
|
\end{ally}
|
||||||
|
Of course.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\includegraphics[width=2.5in]{assets/map.png}
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
\noindent Early on in \allyId's life, I decided that there needed to be a map of the site. A literal map, too. No carefully broken down list of links for you to click on, but something more clearly representing the paths one takes through memory.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Your ``Catastrophically Maddy'' counter is ticking up.
|
||||||
|
\end{ally}
|
||||||
|
Did you expect anything less?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
I suppose not. Carry on.
|
||||||
|
\end{ally}
|
||||||
|
Score one for Maddy.
|
||||||
|
|
||||||
|
So, even thought it takes a bit of work by hand everytime I add a page, I decided that it would be worth it to construct a graph that showed the arborescent nature of the project. I was tempted at one point to do the whole thing in Javascript using SVG so that it would track your movement through the pages, but even that was too much for me.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Wonder of wonders.
|
||||||
|
\end{ally}
|
||||||
|
So instead, I leveraged existing tools--
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Gag.
|
||||||
|
\end{ally}
|
||||||
|
Right, sorry. So instead, I decided to use what I already had installed, which meant dusting off my knowledge of Graphviz.
|
||||||
|
|
||||||
|
In my \texttt{assets} folder lives a \texttt{map.dot} file which contains a node for every page and the edges that connect them. It's easy to add to; every time I add a new branch, I list every page inside of it along with its URL, and then draw all of the links that connect those pages together. At the bottom, there is the links from the trunk (or parent branch) to the branches.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
digraph Map {
|
||||||
|
node[group="dad",
|
||||||
|
style="filled",
|
||||||
|
fillcolor="#cccccc",
|
||||||
|
fontcolor="#222222"]
|
||||||
|
"Dad 1" [href="/dad"]
|
||||||
|
"Dad 2" [href="/dad/2"]
|
||||||
|
"Dad 3" [href="/dad/3"]
|
||||||
|
"Dad 4" [href="/dad/4"]
|
||||||
|
"Dad 5" [href="/dad/5"]
|
||||||
|
"Dad 6" [href="/dad/6"]
|
||||||
|
"Dad 7" [href="/dad/7"]
|
||||||
|
"Dad 8" [href="/dad/8"]
|
||||||
|
"Dad 9" [href="/dad/9"]
|
||||||
|
"Dad 10" [href="/dad/10"]
|
||||||
|
"Dad 11" [href="/dad/11"]
|
||||||
|
"Dad 1" -> "Dad 2" -> "Dad 3" -> "Dad 4" -> "Dad 5" ->
|
||||||
|
"Dad 6" -> "Dad 7" -> "Dad 8" -> "Dad 9" -> "Dad 10" ->
|
||||||
|
"Dad 11"
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
And so on, until:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
"ally 29" -> "Burnout 1"
|
||||||
|
"As a person 5" -> "ally 16"
|
||||||
|
"From within 6" -> "ally 12"
|
||||||
|
"Younes 3" -> "Self-harm 1"
|
||||||
|
"Furry 1" -> "Koan 1"
|
||||||
|
"Jay 3" -> "Dreams 1"
|
||||||
|
"Liminal 8" -> "Dad 1"
|
||||||
|
}
|
||||||
|
\end{verbatim}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
While the whole file is much, much larger than just this, it is really no more complicated\footnote{Except\ldots{} --- page \pageref{branchdir}}. I rarely go back and change orders, and almost never tack a branch onto the trunk in a different place, so I just trace the lines once and let Graphviz sort the rest out.
|
||||||
|
|
||||||
|
Once I've updated the Dot file with the new pages, I type \texttt{make}, which, on seeing that the file has changed, runs \texttt{dot -Tsvg map.dot -omap.svg}, which generages the image itself.
|
||||||
|
|
||||||
|
The cool part about SVG is that it renders in the browser just as well as HTML, including with clickable links, so I get a \emph{navigable} sitemap for free. All I need to do is copy and paste the contents of that \texttt{map.svg} file into the proper place in the site\footnote{\ldots{}sorta --- page \pageref{svgfont}}.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
We have our content, we have our map, now we just need a way to get it up on the web so that others can see it, right?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
A question like that never has an easy answer.
|
||||||
|
\end{ally}
|
||||||
|
Correct.
|
||||||
|
|
||||||
|
Hugo generates a set of folders filled with HTML files and static assets. It's no good on my machine, since that'd mean that I'm the only one that can see it. I could FTP the project up to a server and drop it where everyone could see that but\ldots{}you know, now that I think about it, I can't remember the last time I used FTP.
|
||||||
|
|
||||||
|
Better, instead to just have another tool do it for me. Two other tools, actually.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
You know, if you are trying to sell this as an easy way to approach a project, I don't know that you are succeeding.
|
||||||
|
\end{ally}
|
||||||
|
This is fair. One of the reasons it feels easy to me is that I was already running several other projects using the same technology. The reasons those work so well for me are closely tied with how I run my writing setup, and how I use my writing setup is closely tied with how I program.
|
||||||
|
|
||||||
|
It makes sense for me to have a system that relies on convention over configuration, given how many software projects have worked that way. It makes sense for me to have a system that relies on publishing stories in files rather than database entries as I might with Wordpress or Ghost, given how much of my life is spent tooling around with other files. I'm hardly recommending this as a path forward. There are doubtless easier ways, regardless of how well this worked for me.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Right.
|
||||||
|
\end{ally}
|
||||||
|
Right.
|
||||||
|
|
||||||
|
So, given this Hugo site, the best way for me to work with deploying it uses a pair of tools: Github, which allows me to keep the entire site in a version-controlled repository synced remotely, and Netlify which will automatically build and serve static sites such as this one.
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\includegraphics[width=2in]{assets/workflow.png}
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
When I get an idea for a ``sidequest'' to work on with \allyWord, I create a branch away from the \texttt{master} branch --- `branch' both in terms of git as well as in terms of hypertext, here --- and work there. When I push that branch up to Github and create a pull request, Netlify sees this and automatically creates a deploy preview which I can share with those Patrons who get early access. When I click the big grean ``merge'' button on github, Netlify then builds the main site which everyone can see
|
||||||
|
\newpage
|
||||||
|
\end{leftcolumn}
|
||||||
|
\end{paracol}
|
||||||
|
|||||||
@ -1,5 +1,289 @@
|
|||||||
\chapter*{The ally book}
|
\chapter*{The \allyWord\ book}
|
||||||
|
|
||||||
\label{book}
|
\label{book}
|
||||||
|
|
||||||
\XeLaTeX
|
\begin{paracol}{2}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
Okay, tell a lie.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Oh no.
|
||||||
|
\end{ally}
|
||||||
|
It's not that bad.
|
||||||
|
|
||||||
|
Another benefit that I get out of working with a set of files on the file system is that it is startlingly easy to get the very same data that is published on the web into the eventual book. I don't have to pull data out of a database to do anything, I just have to run a few commands.
|
||||||
|
|
||||||
|
As mentioned, I write in Markdown. It's a plain-text format --- meaning I can edit it anywhere without additional software --- with the ability to generate HTML. For instance, the first few lines of this chapter in Markdown look like this:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
Okay, tell a lie.
|
||||||
|
|
||||||
|
> Oh no.
|
||||||
|
|
||||||
|
It's not that bad.
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
Using the \texttt{pandoc} command, it's super easy to translate Markdown to \LaTeX, which is what is used to typeset the book\footnote{Well, a subset of \LaTeX\ called \XeLaTeX\ which allows custom fonts and colors and whatnot.}. For instance, \texttt{pandoc -o out.tex --wrap=none in.md} will do all the translation for me. Had I written this file in Markdown originally, that would have netted me:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
Okay, tell a lie.
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
Oh no.
|
||||||
|
\end{quote
|
||||||
|
|
||||||
|
It's not that bad.
|
||||||
|
\end{verbatim}
|
||||||
|
I don't particularly like the look of the quote environment for you.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Neither do I.
|
||||||
|
\end{ally}
|
||||||
|
Right. It just looks like this:
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
Yar har I'm the \allyWord\ I'm not your friend.
|
||||||
|
\end{quote}
|
||||||
|
Which is\ldots{}not great.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Do I really sound like that?
|
||||||
|
\end{ally}
|
||||||
|
No. But I, of all people, am allowed to poke fun at you.
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\begin{verbatim}
|
||||||
|
\newenvironment{ally}{
|
||||||
|
\noindent\ignorespaces
|
||||||
|
\begin{quotation}
|
||||||
|
\allyFont\itshape
|
||||||
|
\noindent\ignorespaces}{
|
||||||
|
\end{quotation}\ignorespacesafterend }
|
||||||
|
\end{verbatim}
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
True enough.
|
||||||
|
\end{ally}
|
||||||
|
So instead I created an \texttt{ally} environment in \LaTeX\ that closely matches the styling of the blockquotes on \allyId. It's easy enough to search for all instances of \texttt{\textbackslash\textbackslash(begin|end)\textbackslash\{quote\textbackslash\}} and replace it with \texttt{\textbackslash\$1\{ally\}}
|
||||||
|
|
||||||
|
To help simplify this process, I made a \texttt{make} target which pandocs all Markdown files in the Hugo site over to \LaTeX\ for the book.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Easy, as they say, peasy.
|
||||||
|
\end{ally}
|
||||||
|
Lemon squeezy.
|
||||||
|
|
||||||
|
Deciding what to put into the book was almost as hard as writing the content itself. Deciding what to put in, where to put it, and how to display it when suddenly left without the benefits of clickable links was overwhelming.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
And yet.
|
||||||
|
\end{ally}
|
||||||
|
And yet.
|
||||||
|
|
||||||
|
I toyed with a few ideas. Originally, I considered printing the book wider than it was tall and giving each page five columns that would be filled in as the story branched.
|
||||||
|
|
||||||
|
This proved to be largely illegible. The mind can deal with perhaps two columns on a page, and even then, tying them together across pages rather than within a page requires additional visual clues such as different widths or different background colors.
|
||||||
|
|
||||||
|
So I took that and ran with it. I gave each page two columns of unequal widths and ensured that I could mess with the background colors separately --- much like these pages here.
|
||||||
|
|
||||||
|
Actually \emph{finding} a package that could accomplish this was surprisingly difficult. I was used to the \texttt{multicol} package, but that proved less than flexible. I poked a bit at \texttt{parcolumns}, but that also left much to be desired.
|
||||||
|
|
||||||
|
My solution wound up being the \texttt{paracol} package\footnote{When it didn't bitch about being too full --- page \pageref{toofull}}, which had everything that I needed, and much more besides. \emph{Actually} learning it, however, proved to be a bear. Much of the package documentation seemed to be written for those who already had some familiarity with its usage, and that lead to a steep initial learning curve.
|
||||||
|
|
||||||
|
In the end, though, I wound up with a setup that worked well for me.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
And me.
|
||||||
|
\end{ally}
|
||||||
|
Well, yes.
|
||||||
|
|
||||||
|
In order of appearance:
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[Uneven column widths] Before beginning the \texttt{paracol} environment (with the second argument being \texttt{2} for two columns), one needs:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\columnratio{0.65}
|
||||||
|
\twosided\end{verbatim}
|
||||||
|
|
||||||
|
Now, the main body of the text can take place in the \texttt{leftcolumn} environment, and the bullshit notes can appear in the \texttt{rightcolumn*} environment\footnote{the starred version begins the switch at the current position in the page, rather than the beginning of the \texttt{paracol} environment}.
|
||||||
|
\item[Column colors] \texttt{paracol} allows you to set the background color of the column as well as the surrounding area, selecting the former with the \texttt{c} option and the latter with the \texttt{C}\footnote{There are some margin issues, granted --- page \pageref{color-margins}} option like so:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\backgroundcolor{c[1]}[HTML]{eeddff}
|
||||||
|
\backgroundcolor{C[1]}[HTML]{eeddff}\end{verbatim}
|
||||||
|
\item[Font colors] The \texttt{fontspec} package proved to be most useful here. One can specify the color of text to use for the font family as arguments in the font family creation\footnote{Along with some other garbage --- page \pageref{ligatures}}. This often meant I had to renew font families:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\fontspec{Gentium BookBasic}[Color=222288FF]
|
||||||
|
\renewfontfamily\allyFont{%
|
||||||
|
Merriweather Sans}[Color=4444AAFF]\end{verbatim}
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
One of the things that I've had a lot of fun with throughout this project is the style of the text, as well as having played around with the colors, as is perhaps obvious with the way I treat you.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
You know you love it.
|
||||||
|
\end{ally}
|
||||||
|
I do.
|
||||||
|
|
||||||
|
Another thing I started poking at when working with the site was unique presentation of text beyond just blockquotes.
|
||||||
|
|
||||||
|
Part of that was to do with poetry. Early on when working with poetry and web publishing, I defined a new block in Markdown that would let me write how I wanted and have it show up (pretty close) to that on the screen. I wrap a block in triple single-quotes and it winds up in a \texttt{<div>} that has the \texttt{white-space: pre-wrap} style set. This lets me insert ridiculous spaces just how I want.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Ridiculous spaces for the ridiculous Maddy.
|
||||||
|
\end{ally}
|
||||||
|
It's not all that bad.
|
||||||
|
|
||||||
|
And hey, it's easy enough to accomplish in \LaTeX, too. Just stuff it in a \texttt{verse} environment. Indentation is as easy as using the \texttt{\\vin} command, which indents the line by\ldots{}well, however large a space you set the verse indentation length to be.
|
||||||
|
|
||||||
|
At one point, however, I decided to fuck with some more complicated spacing. Given how focused \LaTeX\ is on layout, it's maybe no surprised at how much easier this was to accomplish than in HTML.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
And yet you were.
|
||||||
|
\end{ally}
|
||||||
|
I suppose, yes. Part of the problem was going from how difficult things were in HTML and just kinda\ldots{}expected they would be here, too.
|
||||||
|
|
||||||
|
Anyway, there were two that I wanted to accomplish. First, and easiest, was the spacing for portions of the surgery poem. While most of that poem was fairly simple in structure: sixteen stanzas of the two of us talking, consisting of rhyming couplets with a trailing line. That was all well and good, but, on describing the sensation of anaesthesia, I decided that the text should go all wibbly as well.
|
||||||
|
|
||||||
|
In HTML, this required quite a few repetitions of \texttt{\ } to space out the words. It was probably not the best way to do it--
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Oh, but the heady intoxication of repetition\ldots{}
|
||||||
|
\end{ally}
|
||||||
|
--as I could have accomplished much the same as with the \LaTeX\ \texttt{\\phantom} and the verse environment's \texttt{\\vinphantom} commands, which create an amount of horizontal space equal to the length of the text in the argument. That is, just use a set of \texttt{<span>} tags with transparent text to space out the visible words. Bit harsh on screen-readers, as it would mean plenty of the lines would be repeated--
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
How appropriate.
|
||||||
|
\end{ally}
|
||||||
|
--upon reading, but it \emph{is} being used as a visual medium here.
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\begin{ally}
|
||||||
|
And was it?
|
||||||
|
\end{ally}
|
||||||
|
Was it what?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Death.
|
||||||
|
\end{ally}
|
||||||
|
Of a sort, yes. You will have to read the book to see.
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
As mentioned, it's much easier in the print version:
|
||||||
|
|
||||||
|
\begin{verse}
|
||||||
|
\vinphantom{Nothing.} Was this death?\\*
|
||||||
|
Nothing. \phantom{Was this death?} Nothing, death? \phantom{Nothing,} nothing.\\*
|
||||||
|
\vinphantom{Nothing. Was this death? Nothing, death?} Nothing,\\
|
||||||
|
\vinphantom{Death?} Was this death?\\*
|
||||||
|
Death? \phantom{Was this death?} Nothing.\\*
|
||||||
|
\vspace{1em}
|
||||||
|
\vinphantom{Death? Was this death? Nothing.} There was nothing.\\
|
||||||
|
\end{verse}
|
||||||
|
|
||||||
|
\noindent This is accomplished with the aforementioned commands:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\vinphantom{Nothing.} Was this death?\\*
|
||||||
|
Nothing. \phantom{Was this death?} Nothing, death? \phantom{Nothing,} nothing.\\*
|
||||||
|
\vinphantom{Nothing. Was this death? Nothing, death?} Nothing,\\
|
||||||
|
\vinphantom{Death?} Was this death?\\*
|
||||||
|
Death? \phantom{Was this death?} Nothing.\\*
|
||||||
|
\vspace{1em}
|
||||||
|
\vinphantom{Death? Was this death? Nothing.} There was nothing.\\
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Secondly, I wanted to vastly reduce the line-height for a section of verse. In CSS, I need only set the \texttt{line-height} property to something less than 1. Thankfully, in \LaTeX\ the \texttt{spacing} package exists for this.
|
||||||
|
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\noindent Note that this must be centered or otherwise not indented, or the first line of the paragraph will space itself separately.
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\begin{Spacing}{0}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me...
|
||||||
|
\end{Spacing}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
leads to:
|
||||||
|
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn*}
|
||||||
|
\begin{ally}
|
||||||
|
Can you imagine so blinding a sight?
|
||||||
|
\end{ally}
|
||||||
|
Yes. I could see it with my eyes closed.
|
||||||
|
\end{rightcolumn*}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
\begin{center}
|
||||||
|
\begin{Spacing}{0}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me\\\vspace{-7pt}
|
||||||
|
speak to me
|
||||||
|
|
||||||
|
that i may see\\\vspace{-7pt}
|
||||||
|
that i may see\\\vspace{-7pt}
|
||||||
|
that i may see\\\vspace{-7pt}
|
||||||
|
that i may see\\\vspace{-7pt}
|
||||||
|
that i may see
|
||||||
|
|
||||||
|
the face of god\\\vspace{-7pt}
|
||||||
|
the face of god\\\vspace{-7pt}
|
||||||
|
the face of god
|
||||||
|
\end{Spacing}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
A few locations in the book require full-page illustrations. This is surprisingly difficult using the usual \texttt{\\includegraphics} command from the \texttt{graphicx} package, as there's a lot of page layout stuff that happens before and after the image itself is included.
|
||||||
|
|
||||||
|
Rather than trying to include the image, however, it is startlingly easy to just include a PDF within \LaTeX. Using the \texttt{pdfpages} package, all I need to do is save the image as an appropriately sized (that is, 8.625"x8.625") PDF and then use the \texttt{\\includepdf} command instead. \LaTeX\ will manage all of the page numbers accordingly, and I don't have to worry about splicing it after the fact.
|
||||||
|
|
||||||
|
Speaking of, for the digital version (as well as for this PDF), attaching the cover(s) to the final PDF \emph{does} require some splicing. This is made very easy with the \texttt{pdftk} command.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
pdftk cover-front.pdf cover-back.pdf internal.pdf \
|
||||||
|
output digital-edition.pdf
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\texttt{pdftk} commands are just read from start to finish, so the above says, ``Take these three PDFs and output them all to the single file, digital-edition.pdf.'' As a longer example, providing a sample from the book works like so:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
pdftk book.pdf cat 1-63 output intro.pdf
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
which says, ``Take book.pdf, concatenate pages 1-63 and then output them into intro.pdf.'' It's a pretty neat command.
|
||||||
|
|
||||||
|
|
||||||
|
The last step of the process was generating the index.\footnote{Aw heck, really? --- page \pageref{indexmunge}} Back when I was writing \emph{everything} in \LaTeX, I remember this being far harder than it actually turned out to be.
|
||||||
|
|
||||||
|
Wherever you want an index entry, all you nened to do is put \texttt{\\index\{...\}} in the text with whatever the entry is. This supports nexting entries (separated with an exclamation point) and page ranges (referenced with a \texttt{|(} and a \texttt{|)}. So, for instance, I indexed poems like so:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\index{Writing!samples!poetry|(}
|
||||||
|
\begin{verse}
|
||||||
|
Blah blah blah\\
|
||||||
|
My name's Maddy and I can't stop writing\\
|
||||||
|
...
|
||||||
|
\end{verse}
|
||||||
|
\index{Writing!samples!poetry|)}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
To generate the index, I have to first run \texttt{makeindex book} (given that the filename is book.tex), then I can run the usual \texttt{xelatex book.tex; xelatex book.tex}. I have to run that twice in order for the page references to be correct, of course.
|
||||||
|
|
||||||
|
At the beginning of the book in the preamble, I include the \texttt{makeidx} package and immediately run \texttt{\\makeindex}, and at end of book.tex, where I want the index to appear, I call \texttt{\\printindex}.
|
||||||
|
\newpage
|
||||||
|
\end{leftcolumn}
|
||||||
|
\end{paracol}
|
||||||
|
|||||||
@ -1,5 +1,259 @@
|
|||||||
\chapter*{Gotchas}
|
\chapter*{Gotchas}
|
||||||
|
|
||||||
|
\begin{paracol}{2}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
|
||||||
\label{gotchas}
|
\label{gotchas}
|
||||||
|
|
||||||
Wow haha weird
|
\section*{Hugo, snaps, and the treachery of automatic updates}\label{hugoversions}
|
||||||
|
|
||||||
|
Look, I \emph{understand} the draw to automatic updates. It means that no security bugs go ignored, that everything can be done unattended, all that wonderful nonsense to avoid users causing problems.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
But...
|
||||||
|
\end{ally}
|
||||||
|
Yeah, but.
|
||||||
|
|
||||||
|
But the problem comes when a bit of software's API changes, and suddenly your entire setup breaks for reasons unfathomable. Hugo, the software that runs \allyId, is installed via a snap, which is a bit of auto-updating software. It's all well and good, except when Hugo --- still a young project --- decides to change some aspect of how they build the site. The amount of times I push a change to Github only to find that, when it's built on Netlify, the entire homepage is blank, minus the header and footer, is nontrivial.
|
||||||
|
|
||||||
|
Another problem was when they switched away from one Markdown processing library to another, resulting in a change that disallowed raw HTML, meaning that all of those fancy pages with Javascript and whatnot suddenly didn't work.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
The things we do for art.
|
||||||
|
\end{ally}
|
||||||
|
I guess.
|
||||||
|
|
||||||
|
The solutions varied, but it mostly meant that I had to stay on top of making changes via PRs on Github rather than pushing directly to the main branch. If things broke, then I could have my little sulk and then go through the Hugo changelog and figure out what fucked up where. Half the time, it simply meant clearing the build cache on Netlify.
|
||||||
|
|
||||||
|
\section*{Branches to left or right in dot file}\label{branchdir}
|
||||||
|
|
||||||
|
One of the problems I ran into with the map of nodes was that graphviz generally sorts branches from left to right. If I added a new branch of nodes after the main \texttt{ally} branch, they'd be positioned further to the right of all existing branches, leading to an unbalanced tree.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Does that make me the trunk?
|
||||||
|
\end{ally}
|
||||||
|
But you're in all the branches.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Oh, nevermind.
|
||||||
|
\end{ally}
|
||||||
|
Right.
|
||||||
|
|
||||||
|
So.
|
||||||
|
|
||||||
|
The solution is to list those nodes before the central axis. You can make all the links later on, but the rank direction is based on when the nodes are defined.
|
||||||
|
|
||||||
|
\section*{Graphviz sets fonts to stupid things}\label{svgfont}
|
||||||
|
|
||||||
|
When building the SVG version of the map, Graphviz helpfully sets the font of all the nodes to \texttt{Times,serif}, which is\ldots{}well, maybe it's a really set of fonts? Either way, it's a gross set, and it's not cohesive with the rest of the site.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
It's all about the brand, baby.
|
||||||
|
\end{ally}
|
||||||
|
You're not wrong. And the brand, here, is to use Gentium Basic.
|
||||||
|
|
||||||
|
There is no elegant solution to removing the \texttt{font-family} other than a very dumb \texttt{:\%s/ font-family="Times,serif"//g} in Vim. Alas.
|
||||||
|
|
||||||
|
\section*{\texttt{paracol} environments can only handle so much}\label{toofull}
|
||||||
|
|
||||||
|
A strangly baffling problem that I ran into when switching to \texttt{paracol} was this delightful error:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
! Package paracol Error: Too many unprocessed columns/floats
|
||||||
|
\end{verbatim}
|
||||||
|
It's one of those problems that, like\ldots{}makes enough sense on its own that I thought it was something that I had done. Had I added an extra column in there? Had I forgotten to add a column somehow?
|
||||||
|
|
||||||
|
Of course, then I read the docs and it turnsout that this is a known problem. The problem crops up when one of the columns gets too long without you either switching to another column environment or just starting a new paracol environment. In the end, it worked out such that, so long as I didn't have more than one \texttt{paracol} environment per file, it'd be fine, whereas initially I'd had a single environment wrapping several files.
|
||||||
|
|
||||||
|
|
||||||
|
\section*{Setting color margins in \texttt{paracol}}\label{color-margins}
|
||||||
|
|
||||||
|
It is all well and good to set colors for the column background, but this does not, by default, extend to the limits of the page. Having just a bar of color with text in it to the side surrounded by white is not very pleasing.
|
||||||
|
|
||||||
|
To get around this, the \texttt{paracol} packageallows you to set an extent for the colors surrounding the background area. For the background of the text block, one uses the \texttt{c} selector as above:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\backgroundcolor{c[1]}[HTML]{aaaaaa}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
and then for the area surrounding it, one uses the \texttt{C} selector. However, there is an optional set of arguments to that selector for how \emph{far} that area should extend beyond the text block. A good default was to have it extend 60\% of the way into the gutter between the two columns (50\% risked a thin white stripe between them, and the overlap was still handled gracefully with a higher number), and 10,0000 points on all other sides.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\backgroundcolor{C[1](0.6\columnsep,10000pt)(10000pt,10000pt)}
|
||||||
|
[HTML]{aaaaaa}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
I tried to figure out more exact numbers, but it turns out that that is \emph{a)} not trivial and \emph{b)} not worth it because \LaTeX\ does't really care.
|
||||||
|
|
||||||
|
\section*{Munging the index for page breaks}\label{indexmunge}
|
||||||
|
|
||||||
|
The index is generated blithely. That is, the \texttt{makeindex} command generates a .ind file which contains the basic layout of the index: nested lists of references and page numbers set into columns, each new letter separated by a vertical space as specified by the \texttt{\\indexspace} command.
|
||||||
|
|
||||||
|
Unfortunately, without that being any smarter, it's easy to wind up with widows and orphans here, which, when indentation holds semantic content, can cause problems. In the case of \allyWord, the entry for \emph{Mental health}, the first entry under \emph{M}, was the last entry on the page, making the first entry on the next page \emph{anxiety}, which was a sub-entry under \emph{Mental health}. Without that indentation being visible, of course, that was impossible to see.
|
||||||
|
|
||||||
|
The solution was, when generating the index, to warn myself that this was the case, and then go into the book.ind file and manually add a \texttt{\\newpage} command right before the \emph{Mental health} entry. Sigh. Such a pain.
|
||||||
|
|
||||||
|
\section*{Needing \texttt{Ligatures=TeX} in fontspec when renewing text}\label{ligatures}
|
||||||
|
|
||||||
|
That \LaTeX\ provides such fine control over fonts and typesetting is fantastic. It's also a royal pain in the ass.
|
||||||
|
|
||||||
|
As mentioned, \allyWord\ uses \XeLaTeX\ specifically for its delightful handling of fonts. When you specify a font in the preamble, it does everything right. However, when you \texttt{\\renewfontfamily} within the document --- say to change the color --- it stops using the proper ligatures. That is \`\` stops displaying as ``.
|
||||||
|
|
||||||
|
In order to fix this, one must pass the \texttt{Ligatures=TeX} option to the command:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
\renewfontfamily\allyFont{Merriweather Sans}[Scale=0.9,
|
||||||
|
Color=777777FF,Ligatures=TeX]
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\section*{Various printing problems}\label{printing}
|
||||||
|
|
||||||
|
Oh paper, why must you be based in such imperfect reality?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
The treachery of inanimate objects.
|
||||||
|
\end{ally}
|
||||||
|
Yeah.
|
||||||
|
|
||||||
|
There were a few problems with the printing process. The first batch of books came with bleed problems, color saturation problems, and color mismatch problems:
|
||||||
|
|
||||||
|
\includegraphics[width=4in]{assets/print-problems.png}
|
||||||
|
|
||||||
|
You can see that the ink coverage on some of the pages is so high that it caused the pages to buckle when running through the printer. Additionally, while the intensity of the colors remained much the same as in the PDF, the saturation has been knocked down slightly. The improper bleed is shown by the thin white strips along the colored borders where the printing stopped before where the page was cut.
|
||||||
|
|
||||||
|
The last one was on me, but the first two were just due to the mechanics of the printing process. The solution, if I wanted to keep my colors as they were, was to use a thicker paper. This drove up the cost of the book, but I think, in the end, led to a much lovelier product. At \$50 retail, it's steep, but for a book that is more experience than anything, I'm alright with that trade-off.
|
||||||
|
|
||||||
|
\end{leftcolumn}
|
||||||
|
\begin{rightcolumn}
|
||||||
|
\fontspec{Gentium Book Basic}[Color=AAAAAAFF,Ligatures=TeX]
|
||||||
|
\renewfontfamily\allyFont{Merriweather Sans}[Color=CCCCCCFF,Scale=0.9,]
|
||||||
|
\noindent Alright, are we ready for a gentle dunk-on-myself session?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Can I talk you out of it?
|
||||||
|
\end{ally}
|
||||||
|
I'd prefer not. There's a lot that has come up over the past few months, and I need to get at least a little bit of it off my chest. I need to come up with some way to square a few things that have happened since I started \allyWord\ with much of who I was before.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Have at it, then, but fair warning, do not expect me to be anything other than what I am.
|
||||||
|
\end{ally}
|
||||||
|
An ally, not a friend. Right.
|
||||||
|
|
||||||
|
So, I titled this section ``Gotchas'' with the full intent of going into it full steam ahead, bitching about all these tiny problems I ran into along the way that kept me from focusing on the task at hand.
|
||||||
|
|
||||||
|
And I did, too. I think so, at least. There were all of these tiny things that kept me from sitting down, just writing a whole slew of pages, and throwing them up for Patrons or whatever. I kept running into tiny problems that would eat hours of my time with minuscule amounts of payoff, only for them to suddenly resolve, sometimes inexplicably.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
But\ldots{}?
|
||||||
|
\end{ally}
|
||||||
|
But the biggest problem I came across when working with the project is not really anything technical, but more one of self-worth. More than any one technical problem, the thing that I wasted most of my time on instead of creating was dealing with your\ldots{}your what? Your inverse? Your mirror?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Can a mirror have a mirror?
|
||||||
|
\end{ally}
|
||||||
|
\emph{Are} you a mirror?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Touché.
|
||||||
|
\end{ally}
|
||||||
|
There is something within me that is the negative of you. Something which, when light is shone through it upon me, makes you, and yet for that bears some level of horror to it. Where you are light, it is dark and vice versa, and you do not realize until you see it the terror that is involved in the inverse of a shadow.
|
||||||
|
|
||||||
|
And this thing, this not-you, does the opposite of what I know you will provide in the future. Where an ally may kick the shit out of me for all those things that I do to self-sabotage, this thing kicks the shit out of me for all of my successes, for everything that I do right. It is \emph{The Tower}, to your \emph{Star}, or perhaps \emph{Moon}.
|
||||||
|
|
||||||
|
The biggest gotcha I ran into is doubt. Doubt as to my worth. Doubt as to my skill. Doubt as to my wisdom in partaking in a project so counter to that which life demands.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Not your enemy, but your adversary.
|
||||||
|
\end{ally}
|
||||||
|
Yes, that. I like that. I like the way the word hints at devils and demons. I like that it implies that this adversary is not striving against me that it may succeed, but simply that I fail.
|
||||||
|
|
||||||
|
The adversary would like that I understand, deep down to my core, that I am in all ways unworthy of this project. I am unworthy of the right to talk about myself. I'm unworthy of the words I write and the folks who read it and the reviews I get.
|
||||||
|
|
||||||
|
It is the one who stood before me when I was looking at getting reviews, at asking my friends and partners for feedback on the book, and said, ``Who are \emph{you} to ask such a thing?''
|
||||||
|
|
||||||
|
The number of times I set aside working on this project with the thought \emph{it's right, after all; to ask for someone to engage with me on such a level is to ask for them to consider me as a person, and there is no greater sin} is nontrivial.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
It feels a little unfair to say because of how trite it sounds, but the biggest `gotcha' with the project was yourself.
|
||||||
|
\end{ally}
|
||||||
|
Oh, one hundred percent.
|
||||||
|
|
||||||
|
It's not totally this project, either. I ran into the same thing with \emph{Restless Town}. Anything I make that is at all meaningful to me --- that is, anything that \emph{I} feel is worth sharing --- is too much to ask others to engage with. ``How dare you,'' it says. ``How dare you ask that others consider your work meaningful.''
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Master sigh.
|
||||||
|
\end{ally}
|
||||||
|
That's an Andrew Bird song.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Does it not encompass the mood of ``I know that this thing is wrong and am able to understand that on an intellectual level, and yet I must still deal with it on a constant basis''?
|
||||||
|
\end{ally}
|
||||||
|
The sigh to end all sighs, yes.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
So how did you conquer it?
|
||||||
|
\end{ally}
|
||||||
|
Conquer?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
We are here, after all, yes?
|
||||||
|
\end{ally}
|
||||||
|
I don't know that I'd say conquer. Won a battle, perhaps, but not the war. I suspect the war will end with true-death.
|
||||||
|
|
||||||
|
And as for that victory, I suppose it was through the aid of allies.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Me!
|
||||||
|
\end{ally}
|
||||||
|
To an extent, yeah, insofar as you are a manifestation of graphomania, at least in part. But also exocosmic allies. Allies outside of myself. Allies like Robin and JC and Justin. I don't know who else read the site when it was getting regular updates, but I suppose I thank them. I thank those days on Matomo when I would see someone wander through almost the entirety of \allyId, page after page, without stopping.
|
||||||
|
|
||||||
|
And what feedback I did receive (for not enabling comments was an intentional decision) helped push me over the edge. Linnea's review, that anonymous \emph{Kirkus} reviewer, all those little words of, ``This is cool. This is interesting. This is impactful.'' All of those helped push me over the edge and into publication.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
This reads like a dedication.
|
||||||
|
\end{ally}
|
||||||
|
So?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
No harm in it, but it bears mentioning. Either way, I'm happy that this became a project that you could believe in enough to turn into something big.
|
||||||
|
\end{ally}
|
||||||
|
``Happy''? Is that a thing you can be? Has your bailiwick expanded to include additional departments?
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
I'm cross-training.
|
||||||
|
\end{ally}
|
||||||
|
Well, thank you.
|
||||||
|
\vfill
|
||||||
|
|
||||||
|
\noindent And, of course, thank \emph{you}.
|
||||||
|
\clearpage
|
||||||
|
\end{rightcolumn}
|
||||||
|
\end{paracol}
|
||||||
|
|
||||||
|
\resetbackgroundcolor
|
||||||
|
\begin{paracol}{2}
|
||||||
|
\begin{leftcolumn}
|
||||||
|
\null
|
||||||
|
\vfill
|
||||||
|
\noindent So. There it is. A project from start to finish. A story. A file. A book. To start a project is to kill a portion of yourself, and that is what I've done. I've destroyed that bit of me that was there before I began this whole process. It's not there anymore. It's gone.
|
||||||
|
|
||||||
|
I feel its loss.
|
||||||
|
|
||||||
|
I feel wrung out.
|
||||||
|
|
||||||
|
I feel empty.
|
||||||
|
|
||||||
|
And for what?
|
||||||
|
|
||||||
|
Will this project --- \allyWord\ and this making-of --- go anywhere? Will I somehow gain notoriety of any amount by publishing this? Will they provide others with meaning? With understanding?
|
||||||
|
|
||||||
|
I don't know.
|
||||||
|
|
||||||
|
\begin{ally}
|
||||||
|
Do you want to?
|
||||||
|
\end{ally}
|
||||||
|
I don't know. Maybe. Maybe, like everyone else, I just want to be seen.
|
||||||
|
\vfill
|
||||||
|
\clearpage
|
||||||
|
\end{leftcolumn}
|
||||||
|
\end{paracol}
|
||||||
|
|||||||
38
making-of/content/tree.tex
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
\begin{verse}
|
||||||
|
\begin{spacing}{-10}
|
||||||
|
{\MonoFont
|
||||||
|
.\\
|
||||||
|
├── about.md\\
|
||||||
|
├── ally\\
|
||||||
|
│ ├── 001.md\\
|
||||||
|
│ ├── 002.md\\
|
||||||
|
│ ├── ...\\
|
||||||
|
│ └── \_index.md\\
|
||||||
|
├── birds\\
|
||||||
|
│ ├── 01.md\\
|
||||||
|
│ ├── 02.md\\
|
||||||
|
│ ├── ...\\
|
||||||
|
│ └── \_index.md\\
|
||||||
|
├── burnout\\
|
||||||
|
│ ├── 01.md\\
|
||||||
|
│ ├── 02.md\\
|
||||||
|
│ ├── ...\\
|
||||||
|
│ └── \_index.md\\
|
||||||
|
├── dad\\
|
||||||
|
│ ├── 001.md\\
|
||||||
|
│ ├── 002.md\\
|
||||||
|
│ ├── ...\\
|
||||||
|
│ ├── as\\
|
||||||
|
│ │ └── a\\
|
||||||
|
│ │ └── person\\
|
||||||
|
│ │ ├── 001.md\\
|
||||||
|
│ │ ├── 002.md\\
|
||||||
|
│ │ ├── 003.md\\
|
||||||
|
│ │ ├── 004.md\\
|
||||||
|
│ │ ├── 005.md\\
|
||||||
|
│ │ └── \_index.md\\
|
||||||
|
│ └── \_index.md\\
|
||||||
|
└── ...
|
||||||
|
}
|
||||||
|
\end{spacing}
|
||||||
|
\end{verse}
|
||||||
BIN
making-of/cover.pdf
Normal file
BIN
making-of/cover.png
Normal file
|
After Width: | Height: | Size: 458 KiB |
@ -2,15 +2,13 @@
|
|||||||
% 8.5x8.5 + bleed of 0.125 per edge minus spine.
|
% 8.5x8.5 + bleed of 0.125 per edge minus spine.
|
||||||
% See https://www.ingramspark.com/hubfs/downloads/file-creation-guide.pdf page 10
|
% See https://www.ingramspark.com/hubfs/downloads/file-creation-guide.pdf page 10
|
||||||
\usepackage[
|
\usepackage[
|
||||||
paperwidth=8.625in,
|
paperwidth=8.5in,
|
||||||
paperheight=8.75in,
|
paperheight=8.5in,
|
||||||
layoutwidth=8.625in,
|
layoutwidth=8.5in,
|
||||||
layoutheight=8.75in,
|
layoutheight=8.5in,
|
||||||
vmargin=0.625in,
|
vmargin=0.5in,
|
||||||
outer=0.625in,
|
hmargin=0.5in,
|
||||||
inner=1in,
|
includeheadfoot
|
||||||
includeheadfoot,
|
|
||||||
twoside
|
|
||||||
]{geometry}
|
]{geometry}
|
||||||
\ifdefined\SetWatermarkHorCenter
|
\ifdefined\SetWatermarkHorCenter
|
||||||
\SetWatermarkHorCenter{3in}
|
\SetWatermarkHorCenter{3in}
|
||||||
|
|||||||
@ -20,23 +20,11 @@
|
|||||||
{\small\parindent0pt\parskip5pt
|
{\small\parindent0pt\parskip5pt
|
||||||
\noindent Copyright \copyright\ 2020, Madison Scott-Clary. This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit \mbox{\emph{creativecommons.org/licenses/by/4.0/}} or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
\noindent Copyright \copyright\ 2020, Madison Scott-Clary. This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit \mbox{\emph{creativecommons.org/licenses/by/4.0/}} or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||||
|
|
||||||
This book uses the fonts Gentium Book Basic and {\allyFont Merriweather Sans} and was typeset with {\usefont{OT1}{cmr}{m}{n}\XeLaTeX}.
|
This publication uses the fonts Gentium Book Basic and {\allyFont Merriweather Sans} and was typeset with {\usefont{OT1}{cmr}{m}{n}\XeLaTeX}.
|
||||||
|
|
||||||
\vspace{1ex}
|
|
||||||
|
|
||||||
ISBN: \ISBN
|
|
||||||
|
|
||||||
Digital edition, not for print purposes. For the paperback version, please visit makyo.ink/publications/ally
|
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
|
|
||||||
\emph{\Title}
|
\emph{\Title}
|
||||||
|
|
||||||
\vspace{1ex}
|
|
||||||
|
|
||||||
First Edition, \Year.
|
|
||||||
|
|
||||||
\EditionsList
|
|
||||||
}
|
}
|
||||||
|
|
||||||
\cleardoublepage
|
\cleardoublepage
|
||||||
|
|||||||
@ -7,6 +7,13 @@
|
|||||||
\newfontfamily\TitleFamily{Inknut Antiqua}
|
\newfontfamily\TitleFamily{Inknut Antiqua}
|
||||||
\newfontface\TitleFont{Inknut Antiqua}
|
\newfontface\TitleFont{Inknut Antiqua}
|
||||||
\newfontfamily\pagenumfont{Gentium Book Basic}
|
\newfontfamily\pagenumfont{Gentium Book Basic}
|
||||||
|
\newfontfamily\MonoFont{Ubuntu Mono}
|
||||||
|
\renewcommand{\ttfamily}{\MonoFont}
|
||||||
|
\makeatletter
|
||||||
|
\def\verbatim@font{\MonoFont}
|
||||||
|
\makeatother
|
||||||
|
\newcommand\allyWord{\emph{\allyFont ally}}
|
||||||
|
\newcommand\allyId{\emph{\allyFont ally.id}}
|
||||||
|
|
||||||
\makeatletter
|
\makeatletter
|
||||||
\let\oldfootnoterule\footnoterule
|
\let\oldfootnoterule\footnoterule
|
||||||
|
|||||||
@ -21,5 +21,6 @@
|
|||||||
\usepackage{pdfpages}
|
\usepackage{pdfpages}
|
||||||
\usepackage{xcolor}
|
\usepackage{xcolor}
|
||||||
\usepackage{scrextend}
|
\usepackage{scrextend}
|
||||||
|
\usepackage{listings}
|
||||||
\usepackage{makeidx}
|
\usepackage{makeidx}
|
||||||
\makeindex
|
\makeindex
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
% headers
|
% headers
|
||||||
\fancyhf{}
|
\fancyhf{}
|
||||||
%\fancyhf[FRE,FLO]{\pagenumfont\footnotesize\emph{Advance Reader Copy}}
|
%\fancyhf[FRE,FLO]{\pagenumfont\footnotesize\emph{Advance Reader Copy}}
|
||||||
\fancyhf[FLE,FRO]{\pagenumfont\thepage}
|
\fancyhf[FLE,FLO]{\pagenumfont\thepage}
|
||||||
% \fancyhf[HLE]{\chaptertitle}
|
% \fancyhf[HLE]{\chaptertitle}
|
||||||
% \fancyhf[HRO]{\AuthorFull}
|
% \fancyhf[HRO]{\AuthorFull}
|
||||||
% \renewcommand{\headrulewidth}{0.5pt}
|
% \renewcommand{\headrulewidth}{0.5pt}
|
||||||
|
|||||||