19 Commits

Author SHA1 Message Date
Henrik Wist
17b667f4b4 Eliminates duplication (#467)
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
I tripped over the 'around all around' it sounds wrong to me. I propose to either have 'all around' or 'around your'.
2025-08-06 17:04:58 +02:00
Ced
93006f34c7 Bump ruby version there too
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
so it is coherent...
2025-06-09 18:39:13 +01:00
Ced
cc044c7776 Bump the ruby version
As CI is broken right now... let's try that.
2025-06-09 18:20:16 +01:00
Adam Liechty
505abb15b4 Grammar: "led" is past tense of "lead"
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
2025-06-09 14:26:09 +01:00
Adam Liechty
134e423277 Sourdough starter: grammar nits
- Idiomatic phrase
- Independent clauses separated by ; or .
2025-06-09 14:25:58 +01:00
Ced
91b073e0fd Fix dependencies in makefile
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
- Add the tex4ht workaround
- define src_recipe before adding it to src_tex
- have vars.tex as dependencies for figures even if we use it only for
  standalone
2025-03-26 23:05:47 +00:00
Hendrik Kleinwaechter
cef0d9c8f7 Rename action & final cleanups
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
2025-03-14 13:12:24 +01:00
Hendrik Kleinwaechter
656404782a Update website deployment script 2025-03-14 13:01:45 +01:00
Hendrik Kleinwaechter
ea75a1ac8a switch to rsync 2025-03-14 12:37:19 +01:00
Hendrik Kleinwaechter
9e4e03bcfa Attempt #2 2025-03-14 12:24:37 +01:00
Hendrik Kleinwaechter
b783b1e274 Fix 2025-03-14 12:12:04 +01:00
Hendrik Kleinwaechter
fb5f526b2f Begin migration away from S3 and Cloudfront 2025-03-14 12:10:32 +01:00
cedounet
8b83e1c5b6 Merge pull request #461 from hendricius/Fix-456-clean
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
Release the book and website / invalidate-book-website-cache (push) Has been cancelled
Fix wrong text in html with nameref
2025-03-11 09:57:37 +00:00
Ced
25f91cd7a1 Fix wrong text in html with nameref
Some checks failed
Test book and website for given image / test-book-website (push) Has been cancelled
Chapters with Komascript need a special treatment.  See:
https://github.com/michal-h21/make4ht/issues/166#issuecomment-2695488065
2025-03-11 09:17:15 +00:00
Ced
5bb5d8a48a Add missing target in low-res ebook copy
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
Release the book and website / invalidate-book-website-cache (push) Has been cancelled
2025-03-05 16:49:59 +00:00
Ced
f64fc55977 Reintroduce the mkdir calls for real this time 2025-03-05 14:28:13 +00:00
Ced
3e02af03ad Reintroduce the mkdir calls
It was not dealing with subdirectories..
2025-03-05 14:17:01 +00:00
Ced
7da9f5b0ad Fix epub build and remove redudant mkdir calls
1) ebook was still using the old target
2) Do not call mkdir -p for every single image conversion
2025-03-05 13:56:42 +00:00
cedounet
19df1546f0 Disable old rules in makefile and other cleanup (#459)
Some checks are pending
Release the book and website / build-and-push-image (push) Waiting to run
Release the book and website / release-book-website (push) Blocked by required conditions
Release the book and website / invalidate-book-website-cache (push) Blocked by required conditions
Disable old rules in makefile and light cleanup

1) build_* now exit with an error message telling you what to do, this is
stage 2 of clean up

2) Fix the folding markers

3) reduce number of rm calls in clean targets

4) Improve git info, not just last commit hash

5) cleanup of spaces... to be more consistent
2025-03-05 11:16:05 +00:00
9 changed files with 346 additions and 116 deletions

View File

@@ -65,15 +65,16 @@ jobs:
run: |
cd /app/book
make -j -O bake
- name: Release baked book to S3
uses: shallwefootball/s3-upload-action@master
- name: Copy book to downloads server
uses: burnett01/rsync-deployments@7.0.2
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }}
source_dir: book/release
destination_dir: release
- name: Upload book Artifacts
switches: "-avzr"
remote_host: ${{ secrets.SSH_HOST }}
remote_user: ${{ secrets.SSH_USERNAME }}
remote_key: ${{ secrets.SSH_KEY }}
path: "book/release/*"
remote_path: "~/downloads/the-sourdough-framework/"
- name: Upload book artifacts to GitHub
uses: actions/upload-artifact@v4
with:
name: books
@@ -81,36 +82,17 @@ jobs:
book/book_serif/book.log
book/book_serif/book.pdf
book/book-epub/book.epub
- name: Release baked website to S3
uses: shallwefootball/s3-upload-action@master
- name: Copy website to downloads server
uses: burnett01/rsync-deployments@7.0.2
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }}
source_dir: website/static_website_html
destination_dir: static_html_root
- name: Upload website Artifacts
switches: "-avzr --delete"
remote_host: ${{ secrets.SSH_HOST }}
remote_user: ${{ secrets.SSH_USERNAME }}
remote_key: ${{ secrets.SSH_KEY }}
path: "website/static_website_html/*"
remote_path: "~/the-sourdough-framework/"
- name: Upload website artifacts to GitHub
uses: actions/upload-artifact@v4
with:
name: website
path: website/static_website_html
invalidate-book-website-cache:
needs: release-book-website
runs-on: ubuntu-latest
steps:
- name: Invalidate Cloudfront book cache
uses: chetan/invalidate-cloudfront-action@v2
env:
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_BOOK }}
PATHS: "/*"
AWS_REGION: "us-east-1"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Invalidate Cloudfront website cache
uses: chetan/invalidate-cloudfront-action@v2
env:
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }}
PATHS: "/*"
AWS_REGION: "us-east-1"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
path: website/static_website_html

View File

@@ -41,7 +41,7 @@ jobs:
run: |
cd /app/book
make -j -O serif ebook website
- name: Upload book Artifacts
- name: Upload book artifacts to GitHub
uses: actions/upload-artifact@v4
with:
name: books
@@ -49,7 +49,7 @@ jobs:
book/book_serif/book.log
book/book_serif/book.pdf
book/book-epub/book.epub
- name: Upload website Artifacts
- name: Upload website artifacts to GitHub
uses: actions/upload-artifact@v4
with:
name: website

View File

@@ -229,7 +229,7 @@ During World~War~II the first packaged dry yeast was developed. This would
ultimately allow bakeries and home bakers to make bread much faster and more
consistently. Thanks to pure yeast, building industrial bread making machines
was now possible. Provided you maintain the same temperature, same flour and
yeast strains fermentation became precisely reproducible. This ultimately lead
yeast strains fermentation became precisely reproducible. This ultimately led
to the development of giga bakeries and flour blenders. The bakeries demanded
the same flour from year to year to bake bread in their machines. For this
reason, none of the supermarket flour you buy today is single origin. It is

View File

@@ -7,8 +7,8 @@ CHECK_1 := lacheck
CHECK_2 := chktex
CONVERT_PIC := convert
REDUCE_PIC := -resize '800x800>' \
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
-set colorspace Gray -separate -evaluate-sequence Mean
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
-set colorspace Gray -separate -evaluate-sequence Mean
REDUCE_PIC_COLOR := -quality 80\%
RSYNC := rsync -au --exclude 'book.epub' --exclude '*.jpg'
GIT := git --no-pager
@@ -30,26 +30,26 @@ endif
# and building everything take a long time.
.DEFAULT_GOAL := serif
# List all files that are dependencies {{{
# Dependencies {{{
chapters = baking basics bread-types cover flour-types history intro mix-ins\
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
wheat-sourdough glossary
# Actual book text and LaTeX code {{{
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
src_tex += book.tex book_sans_serif.tex references.bib figures/vars.tex
src_tex += supporters.csv sourdough.sty colors.tex abbreviations.tex
src_tex += $(src_recipes)
# }}}
# Tables and TikZ flowcharts/plots/drawings... {{{
src_tables := $(wildcard tables/table-*.tex)
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex figures/vars.tex
src_figures += $(wildcard plots/fig-*.tex) abbreviations.tex colors.tex
src_recipes := $(wildcard recipes/*.tex)
src_plots := $(wildcard plots/*.table)
# }}}
# Actual book text and LaTeX code {{{
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
src_tex += book.tex book_sans_serif.tex colors.tex abbreviations.tex
src_tex += $(src_recipes) supporters.csv references.bib
src_tex += sourdough.sty
# }}}
tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
# Photos {{{
@@ -75,15 +75,17 @@ low_res_images := $(filter-out %.png, $(low_res_images))
# All together.
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
# And format specific configurations
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
# Format specific configuration files
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css nameref.4ht
website_src := $(src_all) website.cfg style.css
website_dir := static_website_html
website_assets := $(wildcard ../website/assets/*)
ruby_src := ../website/modify_build.rb $(website_assets)
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
# }}}
# Internal build rules {{{
# Flowcharts {{{
# TODO: check if it works on github CI
%.png: %.tex
@@ -98,7 +100,7 @@ ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
ebb -x $<
# }}}
# pdf {{{
# Pdf {{{
# Default rules for pdf, getting overwritten when built in a sub-directory
%.pdf: %.tex
$(LATEX) $<
@@ -116,15 +118,15 @@ book_sans_serif/book_sans_serif.pdf: $(src_all)
epub/%.epub: %.tex $(ebook_src) cover/cover-page.xbb
$(EBOOK) $<
copy_ebook_files: build_ebook
copy_ebook_files: ebook
$(RSYNC) --exclude '*.png' epub_build/book-epub/ bw-book-epub/
# Now that we have built the ebook we will generate 2 more versions
# Now that we have built the ebook we will generate 2 more versions
#
# 1) With kindle app on phone we want a colour version with size < 50 MB
# 2) A black-white version for actual eink readers
# 1) With kindle app on phone we want a colour version with size < 50 MB
# 2) A black-white version for actual eink readers
#
# In both cases we just convert images and repack the ebpub
# In both cases we just convert images and repack the ebpub
# We do not convert SVG to B&W or lower res for now as they are super small
# anyway
@@ -151,7 +153,7 @@ low-res-book-epub/OEBPS/%.jpg: %.jpg
epub/low_res_book.epub: copy_ebook_files_low_res $(low_res_images)
cd low-res-book-epub; zip -q0X ../epub/low_res_book.epub mimetype
cd low-res-book-epub; zip -q9XrD ../epub/low_res_book.epub ./
#}}}
# }}}
# Website {{{
###################################
@@ -181,33 +183,47 @@ website: html ../website/_bundle_install_done $(ruby_src)
export_figures: pdf $(tgt_figures)
cd figures/ && bash export_figures.sh
# }}}
# }}}
# Now with the targets {{{
# Expected usual targets first
# User level targets {{{
# Build targets {{{
.PHONY: all
all: bake
# Finally actual project targets (i.e. build pdf and ebooks)
# Finally actual project targets (i.e. build pdf and ebooks)
.PHONY: pdf serif sans_serif ebook
pdf: serif sans_serif
serif: book_serif/book.pdf
sans_serif: book_sans_serif/book_sans_serif.pdf
ebook: epub/book.epub
bw_ebook: epub/bw_book.epub
low_res_ebook: epub/low_res_book.epub
# }}}
# We keep the old target names for backward compatibility
build_pdf: pdf
build_serif_pdf: serif
build_sans_serif_pdf: sans_serif
build_ebook: ebook
build_bw_ebook: bw_ebook
build_low_res_ebook: low_res_ebook
# Old target names are disabled with helpful help message {{{
build_pdf:
@echo "build_pdf target is not supported anymore, please use make pdf"
@exit
build_serif_pdf:
@echo "build_serif_pdf target is not supported anymore, please use make serif"
@exit
build_sans_serif_pdf:
@echo "build_sans_serif_pdf target is not supported anymore, please use make sans_serif"
@exit
build_ebook:
@echo "build_ebook target is not supported anymore, please use make ebook"
@exit
build_bw_ebook:
@echo "build_bw_ebook target is not supported anymore, please use make bw_ebook"
@exit
build_low_res_ebook:
@echo "build_low_res_ebook target is not supported anymore, please use make low_res_ebook"
@exit
# }}}
# top level releases rules
# Top level releases rules {{{
.PHONY: bake release_serif release_sans_serif
bake: release_serif release_sans_serif website
@@ -225,7 +241,7 @@ release_serif: serif ebook bw_ebook low_res_ebook | release
fi
release_sans_serif: sans_serif | release
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
# }}}
# Clean up {{{
@@ -243,12 +259,9 @@ clean_figures:
clean_ebook_build:
-rm epub_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
-rm epub_build/book*.{idv,lg,loc,log,ncx,run.xml,tmp,xref}
-rm epub_build/{book.css,content.opf} epub_build/book-epub/mimetype
-rm epub_build/book*x.svg
-rm epub_build/book.css
-rm epub_build/content.opf
-rm epub_build/book-epub/mimetype
-rm -rf epub_build/book-epub/META-INF
-rm -rf epub_build/book-epub/OEBPS
-rm -rf epub_build/book-epub/META-INF epub_build/book-epub/OEBPS
clean_website_build:
-rm website_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
@@ -265,15 +278,11 @@ mrproper: clean
$(CLEAN) -C -output-directory=book_serif book.tex
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
-rm figures/*.png
-rm -rf epub/
-rm -rf release/
-rm -rf book_serif/
-rm -rf book_sans_serif/
-rm -rf *book-epub/
-rm -rf epub_build/
-rm -rf website_build/
-rm -rf $(website_dir)
#}}}
-rm -rf book_serif/ book_sans_serif/
-rm -rf epub/ epub_build/ bw-book-epub/ low-res-book-epub/
-rm -rf website_build/ $(website_dir)
# }}}
# Help {{{
###################################
@@ -333,8 +342,9 @@ help:
@echo ""
@echo "set DEBUG i.e make DEBUG=1 ebook to add debug flags to commands"
# }}}
# }}}
# Debug Stuff from now on {{{
# Debug Stuff {{{
###################################
# Verify your spelling and TeX warnings {{{
@@ -360,54 +370,54 @@ spell-check: $(src_tex) spelling_exceptions.txt
.PHONY: quick quick_ebook show_tools_version printvars
# Those 2 targets allow fast debug cycles but not resolving references etc
# They also ignore dependencies and run each time you call them.
quick: # run latex only once no biber, no references etc...
quick: # run latex only once no biber, no references etc...
$(LATEX) -e '$$max_repeat=1' -halt-on-error -output-directory=book_serif book.tex
quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc...
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 -1 --pretty=%B
show_tools_version: # Show version of tools used on the build machine {{{
-$(GIT) log -5 --pretty="%h: %s by %an on %as"
@echo ""
- uname -a
-uname -a
@echo ""
- $(SHELL) --version
-$(SHELL) --version
@echo ""
- @echo "PATH:"
- @echo $(PATH) | tr ':' '\n'
-@echo "PATH:"
-@echo $(PATH) | tr ':' '\n'
@echo ""
- latexmk --version
-latexmk --version
@echo ""
- lualatex --version
-lualatex --version
@echo ""
- tex4ebook --version
-tex4ebook --version
@echo ""
- make4ht --version
-make4ht --version
@echo ""
- tidy -version
-tidy -version
@echo ""
- dvisvgm --version
-dvisvgm --version
@echo ""
- lacheck | head -5 | tail -1
-lacheck | head -5 | tail -1
@echo ""
- chktex --version
-chktex --version
@echo ""
- make --version
-make --version
@echo ""
- biber -version
-biber -version
@echo ""
- ruby --version
-ruby --version
@echo ""
- $(CONVERT_PIC) --version
-$(CONVERT_PIC) --version
@echo ""
- rsync --version
-rsync --version
# }}}
# You can find the value of variable X with the following command:
# make print-X
print-%: ; @echo $* = $($*) # Print a makefile variable
print-%: ; @echo $* = $($*) # Print a makefile variable
printvars: # Print all variables in the makefile
printvars: # Print all variables in the makefile
@$(foreach V,$(sort $(.VARIABLES)), \
$(if $(filter-out environ% default automatic, \
$(origin $V)),$(info $V=$($V) ($(value $V)))))

238
book/nameref.4ht Normal file
View File

@@ -0,0 +1,238 @@
% nameref.4ht (2024-06-15-13:36), generated from tex4ht-4ht.tex
% Copyright 2005-2009 Eitan M. Gurari
% Copyright 2009-2024 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
% is the TeX4ht Project <http://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
\immediate\write-1{version 2024-06-15-13:36}
\let\NR:Type\relax
\let\ltx@label\label
\def\prf:label{{\ifx \NR:Title\:UnDef \a:newlabel{\@currentlabelname}\else \NR:Title\fi}%
{\ifx \NR:Type\relax \else \NR:Type .1\fi}{}}%
\append:defI\label{\let\NR:Title\undefined}
\let\NR:StartSec\:StartSec
\let\NR:no@sect\no@sect
\def\no@sect#1#2#3#4#5#6[#7]#8{\gdef\NR:Title{\a:newlabel{#7}}%
\gdef\NR:Type{#1}%
\NR:no@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}}
\def\:StartSec#1#2#3{%
\gdef\NR:Title{\a:newlabel{#3}}%
\gdef\NR:Type{#1}%
\NR:StartSec{#1}{#2}{#3}%
}
\def\:tempc#1#2#3#4#5#6[#7]#8{%
\gdef\NR:Title{\a:newlabel{#7}}%
\gdef\NR:Type{#1}%
\o:NR@sect:{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}}
\HLet\NR@sect\:tempc
\def\:tempc#1#2#3#4#5{%
\gdef\NR:Title{\a:newlabel\ssect:ttl}%
\gdef\NR:Type{#1}%
\o:NR@ssect:{#1}{#2}{#3}{#4}{#5}%
}
\HLet\NR@ssect\:tempc
\def\:tempc[#1]#2{%
\gdef\NR:Title{\a:newlabel{#1}}%
\gdef\NR:Type{part}%
\o:no@part:[{#1}]{#2}}
% this definition clashes with asmart and amsproc classes, so we
% need to skip if these are active
\@ifundefined{opt@amsart.cls}{%
\@ifundefined{opt@amsproc.cls}{%
\HLet\no@part\:tempc
}{}}{}
\def\:tempc#1{%
\gdef\NR:Title{\a:newlabel{#1}}%
\gdef\NR:Type{part}%
\o:no@spart:{#1}}
\HLet\no@spart\:tempc
\def\:tempc[#1]#2{%
\gdef\NR:Title{\a:newlabel{#1}}%
\gdef\NR:Type{chapter}%
\o:NR@chapter:[{#1}]{#2}}
\HLet\NR@chapter\:tempc
\def\:tempc#1{%
\gdef\NR:Title{\a:newlabel\sch:ttl}%
\o:NR@schapter:{#1}%
\gdef\NR:Type{chapter}%
}
\HLet\NR@schapter\:tempc
\let\o:NR@@caption\@caption
\ifdefined\scr@makechapterhead
% fixes for Komascript
\def\:tempa[#1]#2{%
\gdef\NR:Title{\a:newlabel{#1}}%
\gdef\NR:Type{chapter}%
\o:@chapter:[#1]{#2}%
}
\HLet\@chapter\:tempa
\def\:tempa#1{%
\gdef\NR:Title{\a:newlabel{#1}}%
\gdef\NR:Type{chapter}%
\o:@schapter:{#1}%
}
\HLet\@schapter\:tempa
\fi
%
%
% Keith Andrews <kandrews@iicm.edu> reported that \@captype as
% \NR:Type threw an undefined control sequence error. I think
% \@currenvir is safe, there is nothing special about \@captype.
%
% use of \index and \label inside caption results in a fatal error
% we need to disable them in \NR:Title
% there can be more problematic commands, so we provide a configuration
% that can be used multiple times - the default value fixes known commands
% but a user can add more of them
\def\a:captioncommandsfix{}
\NewConfigure{CaptionCommandsFix}[1]{\concat:config\a:captioncommandsfix{#1}}
\Configure{CaptionCommandsFix}{
\let\index\:gobble%
\let\label\:gobble%
\let\\\relax% causes issues when \centering is active
}
\long\def\@caption#1[#2]{%
\gdef\NR:Type{\@currenvir}%
\begingroup%
\a:captioncommandsfix
\protected@xdef\NR:Title{\a:newlabel{#2}}%
\endgroup%
\o:NR@@caption{#1}[{#2}]%
}
\let\o:NRorg@opargbegintheorem\@opargbegintheorem
\def\@opargbegintheorem#1#2#3{%
\gdef\NR:Title{\a:newlabel{#3}}%
\gdef\NR:Type{\@currenvir}%
\NR@gettitle{#3}%
\defineautorefname{\@currenvir}{#1}%
\o:NRorg@opargbegintheorem{#1}{#2}{#3}%
}%
\let\o:NRorg@begintheorem\@begintheorem
\def\@begintheorem#1#2{%
\gdef\NR:Title{\a:newlabel{#1 #2}}%
\gdef\NR:Type{\@currenvir}%
\defineautorefname{\@currenvir}{#1}%
\NR@gettitle{}%
\o:NRorg@begintheorem{#1}{#2}%
}%
% I don't know if this was useful for anything
% but we cannot use it anymore
% \AtBeginDocument{%
\@ifpackageloaded{listings}{%
\def\:tempc#1{%
\gdef\NR:Title{\a:newlabel{listing}}%
\gdef\NR:Type{lstlisting}%
\o:NROrg@lst@MakeCaption:{#1}%
\gdef\@currentlabelname{listing}}
\HLet\NROrg@lst@MakeCaption\:tempc
}{}%
% bug [348]
\def\:tempams{%
\gdef\NR:Title{\a:newlabel{equation}}%
\gdef\NR:Type{equation}%
\gdef\@currentlabelname{equation}%
}
% https://tex.stackexchange.com/a/581856/2891
\@ifpackageloaded{caption}{
\pend:defIII\caption@beginex{%
\gdef\NR:Type{\@currenvir}%
% handle \label and \index in Caption's package
% version of \caption
\begingroup%
\a:captioncommandsfix
\protected@xdef\NR:Title{\a:newlabel{##2}}%
\endgroup%
}
}{}
\@ifpackageloaded{amsmath}{%
\Configure{@begin}{align}{\:tempams}
\Configure{@begin}{multline}{\:tempams}
\Configure{@begin}{equation}{\:tempams}
\Configure{@begin}{boxed}{\:tempams}
\Configure{@begin}{equations}{\:tempams}
\Configure{@begin}{equation}{\:tempams}
\Configure{@begin}{gather*}{\:tempams}
\Configure{@begin}{gather}{\:tempams}
\Configure{@begin}{genfrac}{\:tempams}
\Configure{@begin}{measure@}{\:tempams}
\Configure{@begin}{multline*}{\:tempams}
\Configure{@begin}{multline}{\:tempams}
\Configure{@begin}{overset}{\:tempams}
\Configure{@begin}{smallmatrix}{\:tempams}
\Configure{@begin}{split}{\:tempams}
\Configure{@begin}{subarray}{\:tempams}
\Configure{@begin}{substack}{\:tempams}
\Configure{@begin}{underset}{\:tempams}
\Configure{@begin}{xleftarrow}{\:tempams}
\Configure{@begin}{xrightarrow}{\:tempams}
}{
\Configure{@begin}{equation}{\:tempams}
}
\let\T:ref=\::ref
\def\::ref{\@ifstar{\protect\T@ref}{\protect\T@ref}}
\def\T@ref#1{%
\@safe@activestrue%
\let\::ref\T:ref%
\expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
\def\::ref{\@ifstar{\protect\T@ref}{\protect\T@ref}}%
\@safe@activesfalse%
}
\gdef\defineautorefname#1#2{%
\expandafter\gdef\csname #1autorefname\endcsname{#2}}
\defineautorefname{theorem}{Theorem}
\Configure{newlabel}
{\csname cur:th\endcsname \csname :currentlabel\endcsname}
{\string\csname\space :autoref\string\endcsname
{\NR:Type}#1}
\ifx \@currentlabelname\:UnDef
\let\@currentlabelname\empty
\fi
\pend:defIII\@setref{\edef\RefArg{##3}}
\append:defIII\@setref{\let\:autoref\:gobble}
\let\:autoref\:gobble
\Hinput{nameref}
\endinput

View File

@@ -4,7 +4,7 @@
In this chapter you will learn how to make your
own sourdough starter, but before doing so you will
quickly learn about baker's math. Don't worry,
it's a very simple way how to write a recipe which
it's a very simple way to write a recipe which
is cleaner and more scalable. Once you get the hang
of it you will want to write every recipe this way.
You will learn to understand the signs indicating
@@ -125,7 +125,7 @@ values are just shown as a reference.
Don't use chlorinated water when setting up your starter.
Ideally, you should use bottled water. In certain regions
like Germany, tap water is perfectly fine. Chlorine is added
to water as a disinfectant to kill microorganisms, you will
to water as a disinfectant to kill microorganisms; you will
not be able to grow a starter with chlorinated water.
In this process, the hydration of your starter is \qty{100}{\percent}.

View File

@@ -300,7 +300,7 @@ Similar to baking too hot, when baking without enough steam, your dough's crust
forms too quickly. It's hard to spot the difference between the two mistakes.
I~typically first ask about the temperature and then about the steaming technique
to determine what might be wrong with the baking process. Too little steam can
typically be spotted by having a thick crust around all around your dough paired
typically be spotted by having a thick crust all around your dough paired
with large alveoli towards the edges.
The steam essentially prevents the Maillard reaction from happening too quickly

View File

@@ -1 +1 @@
3.3.7
3.3.8

View File

@@ -23,7 +23,7 @@ DEPENDENCIES
pry
RUBY VERSION
ruby 3.3.7p123
ruby 3.3.8
BUNDLED WITH
2.4.12