diff --git a/book/book.tex b/book/book.tex index b37f29a4..f06fe4f0 100644 --- a/book/book.tex +++ b/book/book.tex @@ -19,7 +19,7 @@ } \input{intro/preface} -\input{intro/acknowledgements} +\input{intro/acknowledgments} \mainmatter diff --git a/book/intro/acknowledgements.tex b/book/intro/acknowledgments.tex similarity index 92% rename from book/intro/acknowledgements.tex rename to book/intro/acknowledgments.tex index 2d66c05c..7a884fa9 100644 --- a/book/intro/acknowledgements.tex +++ b/book/intro/acknowledgments.tex @@ -1,5 +1,5 @@ -\chapter{Acknowledgements}% -\label{ch:Acknowledgements} +\chapter{Acknowledgments}% +\label{ch:Acknowledgments} This book would not have been possible without your help. With all your donations I~have been able to focus on finishing this book. Your continuous support allows me to focus diff --git a/book/makefile b/book/makefile index 06a5b563..7b86b9c5 100644 --- a/book/makefile +++ b/book/makefile @@ -10,6 +10,8 @@ REDUCE_PIC := -resize '800x800>' \ -strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \ -set colorspace Gray -separate -evaluate-sequence Mean RSYNC := rsync -au --exclude 'book.epub' --exclude '*.jpg' --exclude '*.png' +GIT := git --no-pager +SPELL_CHECK := hunspell -t -l -d en_US # We want bash as shell SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -131,54 +133,54 @@ help: @echo "" @echo "default: builds the book in pdf format (serif)" @echo "" - @echo "all: pdf serif and sans-serif accessible version, as well as ebooks" - @echo " in colour and black&white versions" + @echo "Releases:" + @echo " all: pdf serif and sans-serif accessible version, ebooks in colours" + @echo " and black&white versions and the website" @echo "" - @echo "bake: same as build all" + @echo " bake: same as build all" @echo "" - @echo "check: runs static analysis checker on LaTeX source to spot" - @echo " programming or typographic mistakes" + @echo " release_serif: build serif only version of pdf and ebook" + @echo " release_sans_serif: build sans-serif/accessible version of pdf" + @echo "" + @echo "Portable Document Format (pdf):" + @echo " build_sans_serif_pdf: build accessible pdf only (same as release_sans_serif)" + @echo " build_serif_pdf: build serif pdf only" + @echo " build_pdf: builds both serif and accessible pdf" + @echo "" + @echo "Ebooks (epub):" + @echo " build_ebook: builds only the colour ebook" + @echo " build_bw_ebook: builds the low res black & white ebook" @echo "" - @echo "clean: delete all intermediate files keep targets (pdf/ebooks/website)" + @echo "Website:" + @echo " website: build the static website from LaTeX sources and post-process it" + @echo " html: build the static website from LaTeX sources _without_ post-processing" @echo "" - @echo "mrproper: delete all generated files intermediate and pdf/ebooks/website" + @echo "Cleanup:" + @echo " mrproper: delete all generated files intermediate and pdf/ebooks/website" + @echo " clean: delete all intermediate files keep targets (pdf/ebooks/website)" @echo " clean_figures: delete intermediate TikZ files" @echo " clean_website_build: delete intermediate website files" @echo " clean_ebook_build: delete intermediate ebook files" @echo "" - @echo "build_pdf: builds both serif and accessible pdf" - @echo "" - @echo "build_ebook: builds only the colour ebook" - @echo "" - @echo "build_booklet: builds only the short booklet" - @echo "" - @echo "build_bw_ebook: builds the low res black & white ebook" - @echo "" - @echo "build_sans_serif_pdf: build accessible pdf only" - @echo "" - @echo "build_serif_pdf: build serif pdf only" - @echo "" - @echo "figures: build TikZ figures" - @echo "" - @echo "release_serif: build serif only version of pdf and ebooks" - @echo "release_sans_serif: build sans-serif/accessible version of pdf" - @echo "" - @echo "website: build the static website from LaTeX sources and post-process it" - @echo "html: build the static website from LaTeX sources _without_ post-processing" - @echo "" @echo "Debug targets:" @echo "" - @echo "quick: compiles serif_pdf but runs lulatex only once" - @echo "" - @echo "quick_ebook: compiles ebook but runs lulatex only once" + @echo "figures: build TikZ figures only" @echo "" - @echo "quick_booklet: compiles booklet but runs lulatex only once" + @echo "Quick builds:" + @echo " quick: compiles serif_pdf but runs lulatex only once" + @echo " quick_ebook: compiles ebook but runs lulatex only once" + @echo " quick_booklet: compiles booklet but runs lulatex only once" @echo "" - @echo "show_tools_version: Show version of tools used on the build machine" - @echo "" - @echo "print-X: print makefile variable X" + @echo "Checks:" + @echo " tex-check: runs static analysis checker on LaTeX source to spot" + @echo " programming or typographic mistakes" + @echo " spell-check: runs a spell checker" + @echo " check: runs both checkers" @echo "" - @echo "printvars: print all variables in the makefile" + @echo "Dump informations:" + @echo " show_tools_version: Show version of tools used on the build machine" + @echo " printvars: print all variables in the makefile" + @echo " print-X: print makefile variable X" @echo "" @echo "set DEBUG i.e make DEBUG=1 build_ebook to add debug flags to commands" @@ -198,20 +200,27 @@ build_ebook: epub/book.epub build_bw_ebook: epub/bw_book.epub -.PHONY: export_figures check +.PHONY: export_figures check tex-check spell-check # Requires that you have docker running on your computer. export_figures: build_pdf $(tgt_figures) cd figures/ && bash export_figures.sh # Goal is not really to have 0 warning reported but we should check we don't # add many and if we do, we know they are false positive -check: $(SRC_TEX) +check: spell-check tex-check + +tex-check: $(src_tex) @echo "Running: " $(CHECK_1) $(CHECK_1) book.tex @echo "" @echo "Running: " $(CHECK_2) $(CHECK_2) book.tex +spell-check: $(src_tex) spelling_exceptions.txt + # Generate exceptions this way to avoid false positives + # hunspell -t -l -d en_US **/*.tex *.csv *.sty *.sty | cut -f 2 -d ':' | sort -u > spelling_exceptions.txt + $(SPELL_CHECK) -p spelling_exceptions.txt $(src_tex) + # Clean up and delete generated files .PHONY: clean_figures clean_ebook_build clean_website_build clean mrproper @@ -312,7 +321,7 @@ quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc... $(EBOOK) --mode draft book.tex show_tools_version: # Show version of tools used on the build machine - - git log -n 1 + - $(GIT) log -1 --pretty=%B @echo "" - uname -a @echo "" @@ -333,7 +342,7 @@ show_tools_version: # Show version of tools used on the build machine @echo "" - dvisvgm --version @echo "" - - lacheck --version + - lacheck | head -5 | tail -1 @echo "" - chktex --version @echo "" diff --git a/book/spelling_exceptions.txt b/book/spelling_exceptions.txt new file mode 100644 index 00000000..2c5d9f7c --- /dev/null +++ b/book/spelling_exceptions.txt @@ -0,0 +1,574 @@ +0cm +0pt +100x +10x +1940s +1cm +1em +1in +1mm +1pt +2O +2cm +2mm +2pt +3cm +3em +3mm +3pt +4cm +4em +4mm +4pt +5cm +5em +6cm +7cm +7em +8cm +Abu +Acad +Alanblue +Alveograph +Amaia +Amanor +Amylases +Andail +Andale +Andreas +Andrieu +Andrzej +Anonnn +Antonie +Archaeobotanical +Arranz +Aryal +Aurore +Autolyse +BTSkete +BUtn4HKAiBs +Bangzhu +Banneton +Bassinage +Battista +Berghoff +BigWullie +Biopreservation +Bleve +Blixikan +Blusie +Bouguetaïa +Brigitta +Broa +Brockman +Brühstück +Buehler +Buksa +Böcker +CO2 +Cagno +Capusoni +Capyboppy +Catzeddu +Charliefleurene +Chia +Chrillesen +Christiane +Chrysanna +Coeliac +Compostional +Cédric +DIY +DKitSeattle +Danieel +Danois +DeclareDocumentCommand +DeclareNewTOC +DeclareRobustCommand +DeclareSIUnit +DeclareTOCStyleEntry +Dekkera +Delwen +Diastatic +Dichev +Drey +DuBosq +Duivelsjong +Dybedahl +Eicher +Elsevier +Emerg +Ethanoic +FEMS +Fazio +Fermentolyse +Fermentolysis +Fleischmann +Fleischmann's +Flipp +FontFace +François +Fredrik +Fructilactobacillus +Gambu +Gasbarrini +Gelatinization +Geoff +Gianluca +Glutenins +Gobbetti +Gognies +Goldstein +Gottfried +Gruyère +Guidone +Gáliková +HCode +Halina +Hansandremanfredsson +Hendrik +Heterofermentative +Hiroshi +Hito +Holmer +Homofermentative +Horsford +IfUsePrefixLine +IfWideLayout +Ifthispageodd +Ilsefa +Inma +Integrale +Jc +Jessicat +Jimjo +JorisBelmans +Jure +Jz +KAO +KOMA +Kankiti +Kao +Karomizu +Keary +Kirill +KitchenAid +Kleinw +Kleinwächter +Knödel +Kochstück +Koga +Kongraksawech +Kotz +Krawontka +Krzysztof +Kuchengnom +Kuriyama +Labelling +Lausuch +Lecloux +Leeuwen +Leucosporidium +Leung +Levain +Lievito +Lightowler +Lili1232000 +Lise +Lizabeth +Lucke +Lukasz +Madjedbebe +Maillard +Maktabdar +Marianito +Marijke +Maryam +MatchLowercase +Matsumoto +Mattson +Mckenney +Mcleish +Meghann +Mello +Mercier +Michaela +Microbiol +Mieke +Mitelski +Moj +Monicaks +MqH3GVfjfBc +NONINFRINGEMENT +Napoli +Nic +Nirpf +Nowak +Nowosiadly +Nowotna +Oest +Otaegui +Overfermented +Paaskus +Pagella +Palatino +Pangea +Parmigiano +Pentosans +Pieter +Piskur +Pitdepitis +Poudel +Praznik +Pre +Preshape +Preshaping +Proteolytic +ProvidesPackage +Pui +Qingfa +Rachana +Rafa +Raffaella +Raptorrich +RedeclareSectionCommand +Rizthebread +Roccato +Roijalbaker +Rori +Saccharomyces +Sagar +Schmid +Schmitz +Sebastianklocke +Semibold +Semmeln +Shar +Shelleymierle +Sherik +Shi +Sivy +Smedt +Smirnov +Sourdoughhome +Spelt +Spicher +Stollen +Strambinha +Sune +T00 +T1050 +T110 +T150 +T405 +T45 +T55 +T550 +T80 +T812 +TODO +Tangzhong +Tbonewilly +Teepakorn +Teff +Therealbruce +Toph +Underfermented +Usliv +Valadez +Valdaora +Vassil +Vitis +Voicu +Vollkorn +Wikander +Wittenboer +Yudane +Zhou +Ziobro +Zoltan +a4paper +achter +addbibresource +addon +afterskip +aliquot's +alveogram +alveograph +amylases +arabinoxylan +archae +archaea +archaeon +autodot +autolyse +autolysing +backend +banneton +bannetons +bassinage +batard +beforeskip +bfseries +biber +biblatex +biga +bigskip +biocontrol +blindtext +booktabs +breadmaking +breadrolls +breaklinks +bruxellensis +c8GId0ByASo +caco +cagno +calc +captionsetup +caramelise +carbonarius +cerevisiae +chapappifchapterprefix +chapteratlist +chapterformat +chapterlinesformat +chapterstylebar +chapterstylekao +chapterstylelines +chapterstyleplain +chemfig +chemformula +citecolor +codeblack +codeblue +coeliac +colour +countertop +crum +defaultfontfeatures +degF +dependant +diastatic +dimexpr +discard2 +doi +eg +egypt +egyptian +ejcn +emph +endophytes +enskip +enumitem +evans +fermentolyse +fermentolysis +fermentée +fi +flatbreads +flavour +flavours +fleischmann +floattype +flushleft +flushright +fnpct +fontseries +fontspec +foodsafe +footnotesize +frigidum +gMbZeUIVzZY +gelatinization +gestions +giga +github +glucan +glutenin +glycaemic +graphicspath +graphicx +hangfrom +heterofermentative +hfill +hidelinks +hlocre +hlorange +hoffset +homofermentative +howpublished +hrule +hrulefill +hscale +hspace +htb +htp +hydrations +hyperref +hypersetup +ie +ifdefined +ifnextchar +ifthenelse +ifwidelayout +includegraphics +industrialisation +injera +isaccessible +jalapeño +jordan +kao +karl +keepaspectratio +kitchenaid +labelled +lacto +le +leavevmode +leftmargin +lievito +linkcolor +linktoc +listname +lll +loafpan +loc +longtable +madre +make4ht +makebox +makecell +makefile +marginparsep +marginparwidth +mbox +microbiome +microtype +mie +milho +mixins +mtocshift +naïve +newcommand +newif +newlength +nextline +niger +nobreakspace +nordic +nuklei +numwidth +ocgcolorlinks +oddsidemargin +outcompete +outcompeted +outcompeting +overferment +overfermented +overproof +overproofing +pHvalue +paperwidth +parbaked +parbox +parmesan +pathreplacing +pdfinfo +pentosans +ph +pinkpic +png +poolish +pre +preshape +preshaping +puré +puréd +purée +pâte +raffaella +redpic +renewcommand +rl +roti +saccharomyces +sanfranciscensis +sanfrancisco +saprotrophic +sbseries +scalebox +scandinavia +scorings +selectfont +semibold +sep +setchapterimage +setchapterpreamble +setchapterstyle +setlength +setlist +setmainfont +setmonofont +setsansfont +setuptoc +sffamily +shelflife +siunitx +sj +smedt +softbuns +spelt +sporulated +sporulates +sporulating +sporulation +standmixer +stollen +sublicense +sug +switzerland +teff +tex +textwidth +th +theadfont +thechapter +thrillist +tikz +tikzpicture +timeframe +timespan +tocline +toolchain +touchpoints +transformative +uk +unchlorinated +underfermented +underproofed +url +urlcolor +usepackage +vfDIfkqBCuk +vienna +vinifera +viscoelastic +vscale +vspace +wahlfeld +wait1 +wait2 +wetted +xsep +xshift +yYkTrGHNW2w +yeasted +yellowpic +yogurty +ysep +yshift +yudane +ziplock +Örjan +Łukasz