mirror of
https://github.com/hendricius/the-sourdough-framework
synced 2025-12-03 08:13:58 -06:00
Compare commits
2 Commits
main
...
e3813c2cfa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3813c2cfa | ||
|
|
dcc52806ef |
54
.github/workflows/release-book-website.yml
vendored
54
.github/workflows/release-book-website.yml
vendored
@@ -65,16 +65,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd /app/book
|
cd /app/book
|
||||||
make -j -O bake
|
make -j -O bake
|
||||||
- name: Copy book to downloads server
|
- name: Release baked book to S3
|
||||||
uses: burnett01/rsync-deployments@7.0.2
|
uses: shallwefootball/s3-upload-action@master
|
||||||
with:
|
with:
|
||||||
switches: "-avzr"
|
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
||||||
remote_host: ${{ secrets.SSH_HOST }}
|
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
||||||
remote_user: ${{ secrets.SSH_USERNAME }}
|
aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }}
|
||||||
remote_key: ${{ secrets.SSH_KEY }}
|
source_dir: book/release
|
||||||
path: "book/release/*"
|
destination_dir: release
|
||||||
remote_path: "~/downloads/the-sourdough-framework/"
|
- name: Upload book Artifacts
|
||||||
- name: Upload book artifacts to GitHub
|
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: books
|
name: books
|
||||||
@@ -82,17 +81,36 @@ jobs:
|
|||||||
book/book_serif/book.log
|
book/book_serif/book.log
|
||||||
book/book_serif/book.pdf
|
book/book_serif/book.pdf
|
||||||
book/book-epub/book.epub
|
book/book-epub/book.epub
|
||||||
- name: Copy website to downloads server
|
- name: Release baked website to S3
|
||||||
uses: burnett01/rsync-deployments@7.0.2
|
uses: shallwefootball/s3-upload-action@master
|
||||||
with:
|
with:
|
||||||
switches: "-avzr --delete"
|
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
||||||
remote_host: ${{ secrets.SSH_HOST }}
|
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
||||||
remote_user: ${{ secrets.SSH_USERNAME }}
|
aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }}
|
||||||
remote_key: ${{ secrets.SSH_KEY }}
|
source_dir: website/static_website_html
|
||||||
path: "website/static_website_html/*"
|
destination_dir: static_html_root
|
||||||
remote_path: "~/the-sourdough-framework/"
|
- name: Upload website Artifacts
|
||||||
- name: Upload website artifacts to GitHub
|
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: website
|
name: website
|
||||||
path: website/static_website_html
|
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 }}
|
||||||
|
|||||||
4
.github/workflows/test-book-website.yml
vendored
4
.github/workflows/test-book-website.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd /app/book
|
cd /app/book
|
||||||
make -j -O serif ebook website
|
make -j -O serif ebook website
|
||||||
- name: Upload book artifacts to GitHub
|
- name: Upload book Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: books
|
name: books
|
||||||
@@ -49,7 +49,7 @@ jobs:
|
|||||||
book/book_serif/book.log
|
book/book_serif/book.log
|
||||||
book/book_serif/book.pdf
|
book/book_serif/book.pdf
|
||||||
book/book-epub/book.epub
|
book/book-epub/book.epub
|
||||||
- name: Upload website artifacts to GitHub
|
- name: Upload website Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: website
|
name: website
|
||||||
|
|||||||
@@ -37,24 +37,24 @@ At \qty{75}{\degreeCelsius} (\qty{167}{\degF}) the surface of your dough turns
|
|||||||
holds together nicely but is still extensible. This gel is essential
|
holds together nicely but is still extensible. This gel is essential
|
||||||
for oven spring as it retains the gas inside your dough.
|
for oven spring as it retains the gas inside your dough.
|
||||||
|
|
||||||
At around \qty{100}{\degreeCelsius} (\qty{212}{\degF}) the water starts to evaporate out of your
|
As the dough warms up in the oven, the water starts to evaporate out of your
|
||||||
dough. If this weren't the case, your dough would taste soggy and
|
dough. If this weren't the case, your bread would come out soggy and
|
||||||
doughy. The higher hydration your dough has, the more water your bread
|
doughy. The higher the hydration of your dough, the more water your bread
|
||||||
still contains after the bake, changing its consistency. As a result the
|
still contains after the bake, changing its consistency. As a result the
|
||||||
crumb is going to taste a bit more moist.
|
crumb will be somewhat moister.
|
||||||
|
|
||||||
Another often undervalued step is the evaporation of acids.
|
Another often undervalued step is the evaporation of acids from the crust.
|
||||||
At~\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough
|
At~\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough
|
||||||
starts to evaporate.
|
starts to evaporate.
|
||||||
Shortly after at~\qty{122}{\degreeCelsius} (\qty{252}{\degF}) the lactic acid begins evaporating.
|
Shortly after at~\qty{122}{\degreeCelsius} (\qty{252}{\degF}) the lactic acid begins evaporating.
|
||||||
This is crucial to understand and it opens the door to many interesting
|
This is crucial to understand and it opens the door to many interesting
|
||||||
ways to influence your final bread's taste. As more and more water
|
ways to influence your final bread's taste. As more and more water
|
||||||
begins to evaporate the acids in your dough become more concentrated.
|
evaporates the acids in your dough become more concentrated.
|
||||||
There is less water but in relation you have more acids, therefore a shorter
|
There is less water but in relation you have more acids, therefore a longer
|
||||||
bake will lead to a more tangy dough. The longer you bake the bread,
|
bake will lead to a more tangy dough. The longer you bake the bread,
|
||||||
the more of the water evaporates, but also ultimately the acids will follow.
|
the more of the water evaporates, but also ultimately the acids will follow.
|
||||||
The longer you bake, the less sour your bread is going to be. By controlling
|
The longer you bake, the less sour your bread is going to be. By controlling
|
||||||
baking time you can influence which sourness level you would like to achieve.
|
baking time you can somewhat influence which sourness level you would like to achieve. Since the inside of the bread will never go above \qty{100}{\degreeCelsius} (\qty{212}{\degF}), acids cannot evaporate from there.
|
||||||
|
|
||||||
It would be a very interesting experiment to bake a bread at different exact
|
It would be a very interesting experiment to bake a bread at different exact
|
||||||
temperatures. How would a bread taste with only evaporated water but
|
temperatures. How would a bread taste with only evaporated water but
|
||||||
|
|||||||
@@ -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
|
ultimately allow bakeries and home bakers to make bread much faster and more
|
||||||
consistently. Thanks to pure yeast, building industrial bread making machines
|
consistently. Thanks to pure yeast, building industrial bread making machines
|
||||||
was now possible. Provided you maintain the same temperature, same flour and
|
was now possible. Provided you maintain the same temperature, same flour and
|
||||||
yeast strains fermentation became precisely reproducible. This ultimately led
|
yeast strains fermentation became precisely reproducible. This ultimately lead
|
||||||
to the development of giga bakeries and flour blenders. The bakeries demanded
|
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
|
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
|
reason, none of the supermarket flour you buy today is single origin. It is
|
||||||
|
|||||||
@@ -35,21 +35,21 @@ chapters = baking basics bread-types cover flour-types history intro mix-ins\
|
|||||||
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
|
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
|
||||||
wheat-sourdough glossary
|
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... {{{
|
# Tables and TikZ flowcharts/plots/drawings... {{{
|
||||||
src_tables := $(wildcard tables/table-*.tex)
|
src_tables := $(wildcard tables/table-*.tex)
|
||||||
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex figures/vars.tex
|
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
|
||||||
src_figures += $(wildcard plots/fig-*.tex) abbreviations.tex colors.tex
|
src_figures += $(wildcard plots/fig-*.tex) abbreviations.tex colors.tex
|
||||||
src_recipes := $(wildcard recipes/*.tex)
|
src_recipes := $(wildcard recipes/*.tex)
|
||||||
src_plots := $(wildcard plots/*.table)
|
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))
|
tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
|
||||||
|
|
||||||
# Photos {{{
|
# Photos {{{
|
||||||
@@ -76,7 +76,7 @@ low_res_images := $(filter-out %.png, $(low_res_images))
|
|||||||
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
|
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
|
||||||
|
|
||||||
# Format specific configuration files
|
# Format specific configuration files
|
||||||
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css nameref.4ht
|
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
|
||||||
|
|
||||||
website_src := $(src_all) website.cfg style.css
|
website_src := $(src_all) website.cfg style.css
|
||||||
website_dir := static_website_html
|
website_dir := static_website_html
|
||||||
|
|||||||
238
book/nameref.4ht
238
book/nameref.4ht
@@ -1,238 +0,0 @@
|
|||||||
% 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
|
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
In this chapter you will learn how to make your
|
In this chapter you will learn how to make your
|
||||||
own sourdough starter, but before doing so you will
|
own sourdough starter, but before doing so you will
|
||||||
quickly learn about baker's math. Don't worry,
|
quickly learn about baker's math. Don't worry,
|
||||||
it's a very simple way to write a recipe which
|
it's a very simple way how to write a recipe which
|
||||||
is cleaner and more scalable. Once you get the hang
|
is cleaner and more scalable. Once you get the hang
|
||||||
of it you will want to write every recipe this way.
|
of it you will want to write every recipe this way.
|
||||||
You will learn to understand the signs indicating
|
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.
|
Don't use chlorinated water when setting up your starter.
|
||||||
Ideally, you should use bottled water. In certain regions
|
Ideally, you should use bottled water. In certain regions
|
||||||
like Germany, tap water is perfectly fine. Chlorine is added
|
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.
|
not be able to grow a starter with chlorinated water.
|
||||||
|
|
||||||
In this process, the hydration of your starter is \qty{100}{\percent}.
|
In this process, the hydration of your starter is \qty{100}{\percent}.
|
||||||
|
|||||||
@@ -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.
|
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
|
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
|
to determine what might be wrong with the baking process. Too little steam can
|
||||||
typically be spotted by having a thick crust all around your dough paired
|
typically be spotted by having a thick crust around all around your dough paired
|
||||||
with large alveoli towards the edges.
|
with large alveoli towards the edges.
|
||||||
|
|
||||||
The steam essentially prevents the Maillard reaction from happening too quickly
|
The steam essentially prevents the Maillard reaction from happening too quickly
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3.3.8
|
3.3.7
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ DEPENDENCIES
|
|||||||
pry
|
pry
|
||||||
|
|
||||||
RUBY VERSION
|
RUBY VERSION
|
||||||
ruby 3.3.8
|
ruby 3.3.7p123
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.4.12
|
2.4.12
|
||||||
|
|||||||
Reference in New Issue
Block a user