Screen Readers (#53)
* add tikzcache * ignore files * add latexmkrc file * Move figures to new files * rename images * Fix build commands * Release as epub3 and mobi * Add cover-image support * use older epub * Externalize all tables * change gh actions command * fix linux xargs rm
1
.github/workflows/main.yml
vendored
@@ -15,7 +15,6 @@ jobs:
|
||||
run: |
|
||||
apk add make
|
||||
cd book
|
||||
make all
|
||||
make release
|
||||
- name: Release book on S3
|
||||
uses: shallwefootball/s3-upload-action@master
|
||||
|
||||
2
.github/workflows/validate.yml
vendored
@@ -12,4 +12,4 @@ jobs:
|
||||
run: |
|
||||
apk add make
|
||||
cd book
|
||||
make all
|
||||
make build_pdf
|
||||
|
||||
36
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
*.xbb
|
||||
*.aux
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
@@ -12,3 +13,38 @@
|
||||
book/book.out
|
||||
.vscode/
|
||||
book/book.synctex*
|
||||
book/tikz-cache/*
|
||||
book/bookch*
|
||||
book/content.opf
|
||||
book/output-epub
|
||||
book/figures/*.png
|
||||
book/figures/*.pdf
|
||||
book/tables/*.png
|
||||
book/tables/*.pdf
|
||||
book/release/*
|
||||
book/book.4ct
|
||||
book/book.4tc
|
||||
book/book.aux
|
||||
book/book.bbl
|
||||
book/book.bcf
|
||||
book/book.blg
|
||||
book/book.css
|
||||
book/book.dvi
|
||||
book/book.html
|
||||
book/book.idv
|
||||
book/book.lg
|
||||
book/book.log
|
||||
book/book.mobi
|
||||
book/book.azw3
|
||||
book/book.epub
|
||||
book/book.ncx
|
||||
book/book.out
|
||||
book/book.pdf
|
||||
book/book.run.xml
|
||||
book/book.tmp
|
||||
book/book.toc
|
||||
book/book.xref
|
||||
book/book*.html
|
||||
book/book-epub/
|
||||
book/book-mobi/
|
||||
book/book-azw3/
|
||||
|
||||
|
Before Width: | Height: | Size: 785 KiB After Width: | Height: | Size: 785 KiB |
@@ -3,29 +3,7 @@ your dough into the oven. This is typically done after your
|
||||
dough has gone through the bulk fermentation and proofing stage.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
|
||||
\node [block, right of=heat_oven, node distance=3cm] (score_dough) {\footnotesize Score your dough};
|
||||
\node [decision, right of=score_dough, node distance=4cm] (decide_steam) {\footnotesize Choose your steaming method};
|
||||
\node [block, below of=heat_oven, node distance=4cm] (inverted_tray_method) {\footnotesize Inverted tray method};
|
||||
\node [block, right of=inverted_tray_method, node distance=3cm] (dutch_oven) {\footnotesize Dutch oven};
|
||||
\node [block, right of=dutch_oven, node distance=3cm] (steam_injection) {\footnotesize Steam injection oven};
|
||||
\node [block, below of=inverted_tray_method, node distance=3cm] (bake_30) {\footnotesize Bake dough for 30 minutes with steam};
|
||||
\node [block, right of=bake_30, node distance=3cm] (remove_steam) {\footnotesize Remove source of steam};
|
||||
\node [block, right of=remove_steam, node distance=3cm] (build_crust) {\footnotesize Build the crust};
|
||||
\node [block, right of=build_crust, node distance=3cm] (finish_baking) {\footnotesize Stop baking 10-30 minutes later depending on crust preference};
|
||||
\path [line] (heat_oven) -- (score_dough);
|
||||
\path [line] (score_dough) -- (decide_steam);
|
||||
\path [line] (decide_steam) -- (inverted_tray_method);
|
||||
\path [line] (decide_steam) -- (dutch_oven);
|
||||
\path [line] (decide_steam) -- (steam_injection);
|
||||
\path [line] (steam_injection) -- (bake_30);
|
||||
\path [line] (inverted_tray_method) -- (bake_30);
|
||||
\path [line] (dutch_oven) -- (bake_30);
|
||||
\path [line] (bake_30) -- (remove_steam);
|
||||
\path [line] (remove_steam) -- (build_crust);
|
||||
\path [line] (build_crust) -- (finish_baking);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-baking-process.pdf}
|
||||
\caption{A schematic visualization of the baking process using different sources of steam in a home oven.}
|
||||
\label{fig:baking-process}
|
||||
\end{figure}
|
||||
@@ -41,22 +19,9 @@ Your dough starts to vertically rise. This is called oven spring.
|
||||
Your bread starts to build a crust of gel like consistency. The crust is still
|
||||
extensible and can be stretched.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
\textbf{°C °F} & \textbf{Stage} & \textbf{Description} \\ \hline
|
||||
60 - 140 & Sterilisation & \begin{tabular}[c]{@{}l@{}}The temperature is too hot for your\\ microorganisms and they die\end{tabular} \\ \hline
|
||||
75 - 167 & Gel building & \begin{tabular}[c]{@{}l@{}}A gel builds on the surface persisting\\ your dough's structure. It is still\\ extensible and can spring in the\\ oven\end{tabular} \\ \hline
|
||||
100 - 212 & Water evaporates & \begin{tabular}[c]{@{}l@{}}Water begins to evaporate and\\ inflates your dough's alveoli\end{tabular} \\ \hline
|
||||
118 - 244 & Acetic acid evaporates & \begin{tabular}[c]{@{}l@{}}The vinegary tasting acid starts\\ to evaporate. The sourness decreases\end{tabular} \\ \hline
|
||||
122 - 252 & Lactic acid evaporates & \begin{tabular}[c]{@{}l@{}}The dairy tasting lactic acid begins\\ to evaporate. Sourness further decreases\end{tabular} \\ \hline
|
||||
140 - 284 & Maillard reaction & \begin{tabular}[c]{@{}l@{}}The maillard reaction starts to deform\\ starches and proteins. The dough starts\\ browning\end{tabular} \\ \hline
|
||||
170 - 338 & Caramelization & \begin{tabular}[c]{@{}l@{}}Remaining sugars begin to caramelise\\ giving your bread a distinct flavor\end{tabular} \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{The different stages of the baking process and their impact on your bread}
|
||||
\begin{table}[htp!]
|
||||
\includegraphics[width=\textwidth]{tables/table-baking-process-stages.pdf}
|
||||
\caption{The different stages that your dough undergoes during the baking process.}
|
||||
\end{table}
|
||||
|
||||
At around 60°C (140°F) the microbes in your dough start to die.
|
||||
@@ -194,7 +159,7 @@ would like a soft crust you can steam your dough all the
|
||||
way.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{baking-too-hot.jpeg}
|
||||
\includegraphics[width=\textwidth]{baking-too-hot}
|
||||
\caption{A submission by Karomizu showing a bread that has been baked
|
||||
at too high a temperature or with too little steam. Note the large
|
||||
pockets of air towards the crust. They are a typical indicator.}
|
||||
@@ -241,27 +206,7 @@ created from the dough and water source stays
|
||||
around your dough.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Place water tray and stone in oven};
|
||||
\node [block, right of=init] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
|
||||
\node [block, right of=heat_oven] (score_your_dough) {\footnotesize Score your dough};
|
||||
\node [block, right of=score_your_dough] (spritz) {\footnotesize Spritz your dough with water};
|
||||
\node [block, right of=spritz] (load_tray) {\footnotesize Place non-preheated inverted tray in oven};
|
||||
\node [block, below of=load_tray, node distance=4cm] (load_doughs) {\footnotesize Load doughs into oven};
|
||||
\node [block, left of=load_doughs, node distance=3cm] (load_water) {\footnotesize Place water in heated water tray};
|
||||
\node [block, left of=load_water, node distance=3cm] (bake) {\footnotesize Bake 30 minutes or until core temperature is 92°C (197°F)};
|
||||
\node [block, left of=bake, node distance=3cm] (remove_steam) {\footnotesize Remove steam source and top tray};
|
||||
\node [block, left of=remove_steam, node distance=3cm] (finish) {\footnotesize Bake at least another 10 minutes or until crust has your desired color};
|
||||
\path [line] (init) -- (heat_oven);
|
||||
\path [line] (heat_oven) -- (score_your_dough);
|
||||
\path [line] (score_your_dough) -- (spritz);
|
||||
\path [line] (spritz) -- (load_tray);
|
||||
\path [line] (load_tray) -- (load_doughs);
|
||||
\path [line] (load_doughs) -- (load_water);
|
||||
\path [line] (load_water) -- (bake);
|
||||
\path [line] (bake) -- (remove_steam);
|
||||
\path [line] (remove_steam) -- (finish);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-inverted-tray-method.pdf}
|
||||
\caption{A schematic visualization the inverted tray baking method that works great for home ovens.}
|
||||
\label{fig:inverted-tray-process}
|
||||
\end{figure}
|
||||
@@ -315,20 +260,10 @@ crust color. In my case this is another 15-25 minutes typically.
|
||||
|
||||
\section{Conclusions}
|
||||
|
||||
\begin{table}[]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{Oven type} & \textbf{Plain (no tools)} & \textbf{Inverted tray} & \textbf{Dutch oven} \\ \hline
|
||||
Gas & No & No & Yes \\ \hline
|
||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan always on)\end{tabular} & No & No & Yes \\ \hline
|
||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan can be disabled)\end{tabular} & No & Yes & Yes \\ \hline
|
||||
Steam & Yes & Yes & Yes \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{An overview of ovens and their different baking methods}
|
||||
\end{table}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-oven-baking-overview.pdf}
|
||||
\caption{An overview of different oventypes and their different baking methods}
|
||||
\end{figure}
|
||||
|
||||
Depending on your home oven a different method
|
||||
of steaming should be used. Generally most ovens
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
\usepackage{float}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{tocloft}
|
||||
\usepackage{tex4ebook}
|
||||
|
||||
% References
|
||||
\usepackage[backend=biber]{biblatex}
|
||||
@@ -46,22 +47,14 @@
|
||||
% Space between paragraphs
|
||||
\usepackage[skip=5pt plus1pt, indent=0pt]{parskip}
|
||||
|
||||
% Define styles for the flow chart graphics
|
||||
\definecolor{codeblue}{RGB}{69, 161, 248}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes,arrows}
|
||||
\tikzstyle{decision} = [diamond, draw, fill=codeblue, text=white,
|
||||
text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
|
||||
\tikzstyle{block} = [rectangle, draw, fill=codeblue, text=white,
|
||||
text width=5em, text centered, rounded corners, minimum height=4em]
|
||||
\tikzstyle{line} = [draw, -latex']
|
||||
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=3cm,
|
||||
minimum height=2em]
|
||||
|
||||
% Caption and figure size below images
|
||||
\usepackage{caption}
|
||||
\captionsetup[figure]{font=footnotesize}
|
||||
|
||||
% Basic attributes
|
||||
\author{Hendrik Kleinwächter}
|
||||
\title{The Sourdough Framework}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% Title page
|
||||
|
||||
@@ -7,21 +7,11 @@ the most accessible, least effort type of bread you can make.
|
||||
If you are a busy person and/or don't have an oven this might
|
||||
be exactly the type of bread you should consider.
|
||||
|
||||
\begin{table}[htp!]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
& \textbf{Flat bread} & \textbf{Loaf pan bread} & \textbf{Free standing bread} \\ \hline
|
||||
\textbf{Cooking method} & Fire, pan, barbecue & Oven & Oven \\ \hline
|
||||
\textbf{Working time in minutes} & 3 & 5 & 60 \\ \hline
|
||||
\textbf{Flour types} & All & All & Gluten flours \\ \hline
|
||||
\textbf{Difficulty} & Very easy & Easy & Difficult \\ \hline
|
||||
\textbf{Cost} & Low & Medium & High \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{\label{tab:bread-types-comparison}An overview of different bread types}
|
||||
\end{table}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-overview-bread-types.pdf}
|
||||
\caption{An overview of different bread types and their respective complexity}
|
||||
\label{tab:bread-types-comparison}
|
||||
\end{figure}
|
||||
|
||||
\section{Flat bread}
|
||||
|
||||
@@ -170,13 +160,7 @@ few steps you can stop buying bread forever. This works with
|
||||
every flour, including gluten free options.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto, every node/.style={inner sep=10, outer sep=0}]
|
||||
\node [block] (init) {Mix ingredients};
|
||||
\node [block, right of=init, node distance=5cm] (wait) {Wait for dough to be ready};
|
||||
\node [block, right of=wait, node distance=5cm] (bake_bread) {Bake bread on stove};
|
||||
\path [line] (init) -- (wait);
|
||||
\path [line] (wait) -- (bake_bread);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-process-flat-bread.pdf}
|
||||
\caption{The process of making a flat bread is very simple requiring very little effort. This
|
||||
type of bread is especially handy for busy bakers.}
|
||||
\label{fig:flat-bread-process}
|
||||
@@ -187,23 +171,12 @@ I have little time or when I am abroad. You can choose
|
||||
between two options. 1) A flat bread similar to a roti or naan bread
|
||||
or 2) sourdough pancakes.
|
||||
|
||||
\begin{table}[htb!]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
& \textbf{Flat breads} & \textbf{Pancakes} \\ \hline
|
||||
\textbf{Flour} & 100g & 100g \\ \hline
|
||||
\textbf{Water} & 100g (100\%) & 300g (300\%) \\ \hline
|
||||
\textbf{Sourdough starter} & 5-20g (5-20\%) & 5-20g (5-20\%) \\ \hline
|
||||
\textbf{Salt} & 2g (2\%) & 2g (2\%) \\ \hline
|
||||
\textbf{When bake?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-flat-bread-pancake-recipe.pdf}
|
||||
\caption{\label{tab:flat-bread-ingredients}Flat breads or pancakes recipe for 1 person. Multiply the ingredients
|
||||
to increase portion size. Refer to the section \ref{section:bakers-math} "\nameref{section:bakers-math}" to learn how
|
||||
to understand and use the percentages properly.}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
To get started prepare your sourdough starter. If it has not been using for a very
|
||||
long time consider giving it another feeding. To do so simply take 1g of your
|
||||
@@ -240,7 +213,7 @@ when getting started. You can better observe the dough and see when
|
||||
it is ready.
|
||||
|
||||
\begin{figure}[htb!]
|
||||
\includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread.jpeg}
|
||||
\includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread}
|
||||
\centering
|
||||
\caption{An ethiopian woman baking an "injera" made using teff flour.
|
||||
The image has been provided by Charliefleurene via Wikipedia}
|
||||
|
||||
27
book/figures/fig-baking-process.tex
Normal file
@@ -0,0 +1,27 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
|
||||
\node [block, right of=heat_oven, node distance=3cm] (score_dough) {\footnotesize Score your dough};
|
||||
\node [decision, right of=score_dough, node distance=4cm] (decide_steam) {\footnotesize Choose your steaming method};
|
||||
\node [block, below of=heat_oven, node distance=4cm] (inverted_tray_method) {\footnotesize Inverted tray method};
|
||||
\node [block, right of=inverted_tray_method, node distance=3cm] (dutch_oven) {\footnotesize Dutch oven};
|
||||
\node [block, right of=dutch_oven, node distance=3cm] (steam_injection) {\footnotesize Steam injection oven};
|
||||
\node [block, below of=inverted_tray_method, node distance=3cm] (bake_30) {\footnotesize Bake dough for 30 minutes with steam};
|
||||
\node [block, right of=bake_30, node distance=3cm] (remove_steam) {\footnotesize Remove source of steam};
|
||||
\node [block, right of=remove_steam, node distance=3cm] (build_crust) {\footnotesize Build the crust};
|
||||
\node [block, right of=build_crust, node distance=3cm] (finish_baking) {\footnotesize Stop baking 10-30 minutes later depending on crust preference};
|
||||
\path [line] (heat_oven) -- (score_dough);
|
||||
\path [line] (score_dough) -- (decide_steam);
|
||||
\path [line] (decide_steam) -- (inverted_tray_method);
|
||||
\path [line] (decide_steam) -- (dutch_oven);
|
||||
\path [line] (decide_steam) -- (steam_injection);
|
||||
\path [line] (steam_injection) -- (bake_30);
|
||||
\path [line] (inverted_tray_method) -- (bake_30);
|
||||
\path [line] (dutch_oven) -- (bake_30);
|
||||
\path [line] (bake_30) -- (remove_steam);
|
||||
\path [line] (remove_steam) -- (build_crust);
|
||||
\path [line] (build_crust) -- (finish_baking);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
13
book/figures/fig-dividing-preshaping.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Dividing required?};
|
||||
\node [decision, right of=init, node distance=5cm] (more_than_one_loaf) {\footnotesize More than 1 loaf?};
|
||||
\node [block, right of=more_than_one_loaf, node distance=5cm] (yes) {\footnotesize Yes};
|
||||
\node [block, below of=yes, node distance=3cm] (no) {\footnotesize No};
|
||||
\path [line] (init) -- (more_than_one_loaf);
|
||||
\path [line] (more_than_one_loaf) -- (yes);
|
||||
\path [line] (more_than_one_loaf) -- (no);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
25
book/figures/fig-inverted-tray-method.tex
Normal file
@@ -0,0 +1,25 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Place water tray and stone in oven};
|
||||
\node [block, right of=init] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
|
||||
\node [block, right of=heat_oven] (score_your_dough) {\footnotesize Score your dough};
|
||||
\node [block, right of=score_your_dough] (spritz) {\footnotesize Spritz your dough with water};
|
||||
\node [block, right of=spritz] (load_tray) {\footnotesize Place non-preheated inverted tray in oven};
|
||||
\node [block, below of=load_tray, node distance=4cm] (load_doughs) {\footnotesize Load doughs into oven};
|
||||
\node [block, left of=load_doughs, node distance=3cm] (load_water) {\footnotesize Place water in heated water tray};
|
||||
\node [block, left of=load_water, node distance=3cm] (bake) {\footnotesize Bake 30 minutes or until core temperature is 92°C (197°F)};
|
||||
\node [block, left of=bake, node distance=3cm] (remove_steam) {\footnotesize Remove steam source and top tray};
|
||||
\node [block, left of=remove_steam, node distance=3cm] (finish) {\footnotesize Bake at least another 10 minutes or until crust has your desired color};
|
||||
\path [line] (init) -- (heat_oven);
|
||||
\path [line] (heat_oven) -- (score_your_dough);
|
||||
\path [line] (score_your_dough) -- (spritz);
|
||||
\path [line] (spritz) -- (load_tray);
|
||||
\path [line] (load_tray) -- (load_doughs);
|
||||
\path [line] (load_doughs) -- (load_water);
|
||||
\path [line] (load_water) -- (bake);
|
||||
\path [line] (bake) -- (remove_steam);
|
||||
\path [line] (remove_steam) -- (finish);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
33
book/figures/fig-kneading-process.tex
Normal file
@@ -0,0 +1,33 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Homogenize recipe ingredients};
|
||||
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (init) -- (wait1);
|
||||
\node [block, right of=wait1, node distance=3cm] (knead1) {\footnotesize Knead 5 minutes};
|
||||
\path [line] (wait1) -- (knead1);
|
||||
\node [block, right of=knead1, node distance=3cm] (wait2) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (knead1) -- (wait2);
|
||||
\node [decision, below of=wait2, node distance=3cm] (windowpane_test) {\footnotesize Window-pane?};
|
||||
\path [line] (wait2) -- (windowpane_test);
|
||||
\path [line] (windowpane_test) -- node{no} (knead1);
|
||||
\node [decision, left of=windowpane_test, node distance=4.5cm] (more_water) {\footnotesize Bassinage for more water?};
|
||||
\path [line] (windowpane_test) -- node{yes} (more_water);
|
||||
\node [block, left of=more_water, node distance=4.5cm] (add_water) {\footnotesize Add water};
|
||||
\path [line] (more_water) -- node{yes} (add_water);
|
||||
\path [line] (add_water) -- (knead1);
|
||||
\node [block, below of=add_water, node distance=4cm] (wait3) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (add_water) -- (wait3);
|
||||
\node [decision, right of=wait3, node distance=4.5cm] (dough_sample) {\footnotesize Aliquot jar?};
|
||||
\path [line] (wait3) -- (dough_sample);
|
||||
\path [line] (more_water) -- node{no} (dough_sample);
|
||||
\node [block, right of=dough_sample, node distance=4.5cm] (dough_ball) {\footnotesize Make round dough ball};
|
||||
\path [line] (dough_sample) -- node{no} (dough_ball);
|
||||
\node [block, below of=dough_sample, node distance=3cm] (extract_sample) {\footnotesize Extract sample};
|
||||
\path [line] (dough_sample) -- node{yes} (extract_sample);
|
||||
\path [line] (extract_sample) -- (dough_ball);
|
||||
\node [block, below of=dough_ball, node distance=3cm] (begin_bulk) {\footnotesize Begin bulk fermentation};
|
||||
\path [line] (dough_ball) -- (begin_bulk);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
23
book/figures/fig-liquid-starter-conversion.tex
Normal file
@@ -0,0 +1,23 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a regular or stiff starter};
|
||||
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 1g existing starter, 5g flour and 25g water};
|
||||
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
|
||||
\node [block, below of=init, node distance=4cm] (feed_again) {\footnotesize Feed again using 1:5:25 ratio};
|
||||
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
|
||||
\node [decision, below of=next_day, node distance=4cm] (ready_signs) {\footnotesize Sour yogurty smell and bubbles visible on flour?};
|
||||
\node [block, below of=test, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
|
||||
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
|
||||
\path [line] (init) -- (feed_new_ratio);
|
||||
\path [line] (feed_new_ratio) -- (next_day);
|
||||
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
|
||||
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
|
||||
\path [line] (next_day) -- (feed_again);
|
||||
\path [line] (test) -- (ready_signs);
|
||||
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
|
||||
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
|
||||
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
17
book/figures/fig-non-wheat-process.tex
Normal file
@@ -0,0 +1,17 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Mix ingredients};
|
||||
\node [block, below of=init, node distance=3cm] (bulk_ferment) {\footnotesize Bulk ferment};
|
||||
\node [block, right of=init, node distance=3cm] (divide) {\footnotesize Divide};
|
||||
\node [block, below of=divide, node distance=3cm] (shape) {\footnotesize Shape};
|
||||
\node [block, right of=divide, node distance=3cm] (proof) {\footnotesize Proof};
|
||||
\node [block, below of=proof, node distance=3cm] (bake) {\footnotesize Bake};
|
||||
\path [line] (init) -- (bulk_ferment);
|
||||
\path [line] (bulk_ferment) -- (divide);
|
||||
\path [line] (divide) -- (shape);
|
||||
\path [line] (shape) -- (proof);
|
||||
\path [line] (proof) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
11
book/figures/fig-process-flat-bread.tex
Normal file
@@ -0,0 +1,11 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto, every node/.style={inner sep=10, outer sep=0}]
|
||||
\node [block] (init) {Mix ingredients};
|
||||
\node [block, right of=init, node distance=5cm] (wait) {Wait for dough to be ready};
|
||||
\node [block, right of=wait, node distance=5cm] (bake_bread) {Bake bread on stove};
|
||||
\path [line] (init) -- (wait);
|
||||
\path [line] (wait) -- (bake_bread);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
26
book/figures/fig-proofing-process.tex
Normal file
@@ -0,0 +1,26 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [decision] (init) {\footnotesize Room temperature proofing?};
|
||||
\node [decision, right of=init, node distance=9cm] (retard_bake_decision) {\footnotesize Bake in less than 10 hours from now?};
|
||||
\node [block, below of=init, node distance=4cm] (poke) {\footnotesize Poke the dough};
|
||||
\node [block, right of=poke, node distance=4cm] (wait_poke) {\footnotesize Wait 15 minutes};
|
||||
\node [decision, below of=poke, node distance=3cm] (dent_visible_decision) {\footnotesize Dent still visible after 1 minute?};
|
||||
\node [block, right of=dent_visible_decision, node distance=4cm] (bake) {\footnotesize Score and bake};
|
||||
\node [block, below of=retard_bake_decision, node distance=3cm] (wait_retard) {\footnotesize Wait 15 minutes};
|
||||
\node [block, below of=wait_retard, node distance=3cm] (retard) {\footnotesize Proof in fridge at 4°C (40°F)};
|
||||
\node [block, right of=wait_retard, node distance=3cm] (move_to_fridge) {\footnotesize Move dough directly to fridge};
|
||||
\path [line] (init) -- node{yes} (poke);
|
||||
\path [line] (init) -- node{no} (retard_bake_decision);
|
||||
\path [line] (poke) -- (dent_visible_decision);
|
||||
\path [line] (dent_visible_decision) -- node{yes} (bake);
|
||||
\path [line] (dent_visible_decision) -- node{no} (wait_poke);
|
||||
\path [line] (wait_poke) -- (poke);
|
||||
\path [line] (retard_bake_decision) -- node{yes} (wait_retard);
|
||||
\path [line] (retard_bake_decision) -- node{no} (move_to_fridge);
|
||||
\path [line] (wait_retard) -- (retard);
|
||||
\path [line] (move_to_fridge) -- (retard);
|
||||
\path [line] (retard) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
21
book/figures/fig-shaping-process.tex
Normal file
@@ -0,0 +1,21 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Begin shaping};
|
||||
\node [decision, right of=init, node distance=5cm] (overfermented_decision) {\footnotesize Dough overly sticky or dough tears?};
|
||||
\node [block, right of=overfermented_decision, node distance=4cm] (overfermented) {\footnotesize Your dough is likely overfermented};
|
||||
\node [block, right of=overfermented, node distance=3cm] (loafpan) {\footnotesize Move to loaf pan, short proof, then bake directly};
|
||||
\node [block, below of=init, node distance=4cm] (shaping_technique) {\footnotesize Proceed with shaping technique};
|
||||
\node [block, right of=shaping_technique, node distance=3cm] (flour) {\footnotesize Flour shaped dough};
|
||||
\node [block, right of=flour, node distance=3cm] (banneton) {\footnotesize Place upside down in banneton};
|
||||
\node [block, right of=banneton, node distance=3cm] (proof) {\footnotesize Begin proofing};
|
||||
\path [line] (init) -- (overfermented_decision);
|
||||
\path [line] (overfermented_decision) -- node{yes} (overfermented);
|
||||
\path [line] (overfermented_decision) -- node{no} (shaping_technique);
|
||||
\path [line] (shaping_technique) -- (flour);
|
||||
\path [line] (flour) -- (banneton);
|
||||
\path [line] (banneton) -- (proof);
|
||||
\path [line] (overfermented) -- (loafpan);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
36
book/figures/fig-starter-maintenance.tex
Normal file
@@ -0,0 +1,36 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make your bread dough};
|
||||
\node [decision, below of=init, node distance=3.5cm] (all_starter_used) {\footnotesize All starter used?};
|
||||
\path [line] (init) -- (all_starter_used);
|
||||
\node [block, right of=init, node distance=3cm] (use_dough) {\footnotesize Take 10g of your bread dough};
|
||||
\node [block, right of=all_starter_used, node distance=3cm] (use_starter) {\footnotesize Take all but not more than 10g of your starter};
|
||||
\path [line] (all_starter_used) -- node{yes} (use_dough);
|
||||
\path [line] (all_starter_used) -- node{no} (use_starter);
|
||||
\node [block, right of=use_dough, node distance=3cm] (feed_starter) {\footnotesize Feed using 1:5:5 ratio};
|
||||
\path [line] (use_dough) -- (feed_starter);
|
||||
\path [line] (use_starter) -- (feed_starter);
|
||||
\node [decision, right of=feed_starter, node distance=3cm] (bake_next_day_check) {\footnotesize Bake next day?};
|
||||
\path [line] (feed_starter) -- (bake_next_day_check);
|
||||
\node [block, right of=bake_next_day_check, node distance=3.5cm] (make_bread_dough) {\footnotesize Make bread dough again after 8-12 hours};
|
||||
\path [line] (bake_next_day_check) -- node{yes} (make_bread_dough);
|
||||
\node [decision, right of=use_starter, node distance=3cm] (bake_next_week_check) {\footnotesize Baking in next 2 weeks?};
|
||||
\node [block, right of=bake_next_week_check, node distance=3.5cm] (store_fridge) {\footnotesize Store starter in fridge at 4°C(40°F)};
|
||||
\path [line] (bake_next_week_check) -- node{yes} (store_fridge);
|
||||
\node [block, right of=store_fridge, node distance=3cm] (feed_after_fridge) {\footnotesize Feed again using 1:5:5 ration 8-12 hours before making dough};
|
||||
\path [line] (store_fridge) -- (feed_after_fridge);
|
||||
\path [line] (bake_next_day_check) -- node{no} (bake_next_week_check);
|
||||
\node [decision, below of=use_starter, node distance=3cm] (freezer_check) {\footnotesize Have a freezer?};
|
||||
\path [line] (bake_next_week_check) -- (store_fridge);
|
||||
\path [line] (bake_next_week_check) -- node{no} (freezer_check);
|
||||
\node [block, right of=freezer_check, node distance=3cm] (dry_starter) {\footnotesize Dry your starter};
|
||||
\node [block, below of=dry_starter, node distance=3cm] (freeze_starter) {\footnotesize Freeze your starter};
|
||||
\path [line] (freezer_check) -- node{no} (dry_starter);
|
||||
\path [line] (freezer_check) -- node{yes} (freeze_starter);
|
||||
\node [block, right of=dry_starter, node distance=3.5cm] (reactivate_freezer) {\footnotesize Reactivate starter for 3 days with daily 1:5:5 feedings};
|
||||
\path [line] (dry_starter) -- (reactivate_freezer);
|
||||
\path [line] (freeze_starter) -- (reactivate_freezer);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
24
book/figures/fig-starter-process.tex
Normal file
@@ -0,0 +1,24 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Mix 50g flour + 50g water, stir};
|
||||
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 24 hours};
|
||||
\path [line] (init) -- (wait1);
|
||||
\node [block, right of=wait1, node distance=3cm] (feed) {\footnotesize 10g of previous day + 50g water + 50g flour, stir};
|
||||
\path [line] (wait1) -- (feed);
|
||||
\node [block, below of=feed] (discard) {\footnotesize Discard the rest};
|
||||
\path [line] (feed) -- (discard);
|
||||
\node [decision, right of=feed, node distance=3.5cm] (decide) {\footnotesize Is good?};
|
||||
\node [decision, above of=decide, node distance=3cm] (timeout) {\footnotesize Less than 10 feeds?};
|
||||
\node [block, above of=feed, node distance=3cm] (wait2) {\footnotesize Wait 24 hours};
|
||||
\node [block, right of=timeout, node distance=3cm] (discard2) {\footnotesize Batch failed};
|
||||
\path [line] (timeout) -- node{no} (discard2);
|
||||
\path [line] (timeout) -- node{yes} (wait2);
|
||||
\path [line] (feed) -- (decide);
|
||||
\node [block, right of=decide, node distance=3cm] (use) {\footnotesize Ready to use};
|
||||
\path [line] (decide) -- node{no} (timeout);
|
||||
\path [line] (wait2) -- (feed);
|
||||
\path [line] (decide) -- node{yes} (use);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
21
book/figures/fig-starter-readiness.tex
Normal file
@@ -0,0 +1,21 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a starter};
|
||||
\node [block, right of=init, node distance=3cm] (feed) {\footnotesize Feed your starter};
|
||||
\path [line] (init) -- (feed);
|
||||
\node [block, right of=feed, node distance=3cm] (ready_question) {\footnotesize Perform readiness check};
|
||||
\path [line] (feed) -- (ready_question);
|
||||
\node [block, below of=feed, node distance=3cm] (wait_12) {\footnotesize Wait 12 hours};
|
||||
\path [line] (wait_12) -- (feed);
|
||||
\node [decision, right of=ready_question, node distance=3.5cm] (is_bubbly) {\footnotesize Bubbly? Size Increase?};
|
||||
\path [line] (ready_question) -- (is_bubbly);
|
||||
\path [line] (is_bubbly) -- node{no} (wait_12);
|
||||
\node [decision, below of=is_bubbly, node distance=4.0cm] (check_smell) {\footnotesize Vinegary, or yogurt smell?};
|
||||
\path [line] (is_bubbly) -- node{yes} (check_smell);
|
||||
\node [block, below of=init, node distance=6cm] (make_dough) {\footnotesize Make your dough};
|
||||
\path [line] (check_smell) -- node{yes} (make_dough);
|
||||
\path [line] (check_smell) -- node{no} (wait_12);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
23
book/figures/fig-stiff-starter-conversion.tex
Normal file
@@ -0,0 +1,23 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a regular or liquid starter};
|
||||
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 10g existing starter, 50g flour and 25g water};
|
||||
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
|
||||
\node [block, below of=feed_new_ratio] (feed_again) {\footnotesize Feed again using 1:5:2.5 ratio};
|
||||
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
|
||||
\node [decision, right of=feed_again, node distance=4cm] (ready_signs) {\footnotesize Size increase and sour smell?};
|
||||
\node [block, right of=ready_signs, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
|
||||
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
|
||||
\path [line] (init) -- (feed_new_ratio);
|
||||
\path [line] (feed_new_ratio) -- (next_day);
|
||||
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
|
||||
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
|
||||
\path [line] (next_day) -- (feed_again);
|
||||
\path [line] (test) -- (ready_signs);
|
||||
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
|
||||
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
|
||||
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
26
book/figures/fig-wheat-sourdough-process.tex
Normal file
@@ -0,0 +1,26 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Ready starter};
|
||||
\node [block, right of=init, node distance=3cm] (mix_ingredients) {\footnotesize Mix ingredients};
|
||||
\node [block, right of=mix_ingredients, node distance=3cm] (dough_strength) {\footnotesize Create dough strength};
|
||||
\node [block, right of=dough_strength, node distance=3cm] (bulk) {\footnotesize Bulk ferment};
|
||||
\node [decision, below of=dough_strength, node distance=3cm] (divide_test) {\footnotesize Making 1 loaf?};
|
||||
\node [block, left of=divide_test, node distance=3cm] (divide) {\footnotesize Divide};
|
||||
\node [block, left of=divide, node distance=3cm] (preshape) {\footnotesize Preshape};
|
||||
\node [block, below of=preshape, node distance=3cm] (shape) {\footnotesize Shape};
|
||||
\node [block, right of=shape, node distance=3cm] (proof) {\footnotesize Proof};
|
||||
\node [block, right of=proof, node distance=3cm] (bake) {\footnotesize Bake};
|
||||
\path [line] (init) -- (mix_ingredients);
|
||||
\path [line] (mix_ingredients) -- (dough_strength);
|
||||
\path [line] (dough_strength) -- (bulk);
|
||||
\path [line] (bulk) -- (divide_test);
|
||||
\path [line] (divide_test) -- node{yes} (shape);
|
||||
\path [line] (divide_test) -- node{no} (divide);
|
||||
\path [line] (divide) -- (preshape);
|
||||
\path [line] (preshape) -- (shape);
|
||||
\path [line] (shape) -- (proof);
|
||||
\path [line] (proof) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
34
book/figures/fig-wheat-sourdough-starter-process.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [decision] (init) {\footnotesize Starter last fed within 3 days?};
|
||||
\node [block, right of=init, node distance=4cm] (feed_no_branch)
|
||||
{\footnotesize Feed starter twice. 48 hours before and 6-12 hours before};
|
||||
\node [block, below of=feed_no_branch, node distance=3cm] (feed_yes_branch)
|
||||
{\footnotesize Feed starter once 6-12 hours before making dough};
|
||||
\node [block, right of=feed_no_branch, node distance=6cm] (high_ratio)
|
||||
{\footnotesize Use a 1:10:10 ratio. 10g starter, 100g flour, 100g water};
|
||||
\node [block, right of=feed_yes_branch, node distance=3cm] (low_ratio)
|
||||
{\footnotesize Use a 1:5:5 ratio. 10g starter, 50g flour, 50g water};
|
||||
\node [block, below of=high_ratio, node distance=6cm] (check_starter)
|
||||
{\footnotesize Check if starter is ready to be used};
|
||||
\node [decision, below of=init, node distance=6cm] (size_check)
|
||||
{\footnotesize Bubbly? Increased in size?};
|
||||
\node [decision, below of=size_check, node distance=5cm] (smell_check)
|
||||
{\footnotesize Vinegary or yogurty smell?};
|
||||
\node [block, right of=smell_check, node distance=6cm] (make_dough)
|
||||
{\footnotesize Prepare dough};
|
||||
\path [line] (init) -- node{no} (feed_no_branch);
|
||||
\path [line] (init) -- node{yes} (feed_yes_branch);
|
||||
\path [line] (feed_yes_branch) -- (low_ratio);
|
||||
\path [line] (feed_no_branch) -- (high_ratio);
|
||||
\path [line] (high_ratio) -- (check_starter);
|
||||
\path [line] (low_ratio) -- (check_starter);
|
||||
\path [line] (check_starter) -- (size_check);
|
||||
\path [line] (size_check) -- node{no} (feed_yes_branch);
|
||||
\path [line] (size_check) -- node{yes} (smell_check);
|
||||
\path [line] (smell_check) -- node{no} (feed_yes_branch);
|
||||
\path [line] (smell_check) -- node{yes} (make_dough);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
10
book/figures/vars.tex
Normal file
@@ -0,0 +1,10 @@
|
||||
\documentclass[tikz]{standalone}
|
||||
\usepackage{tikz}
|
||||
|
||||
\definecolor{codeblue}{RGB}{69, 161, 248}
|
||||
\usetikzlibrary{shapes,arrows}
|
||||
\tikzstyle{decision} = [diamond, draw, fill=codeblue, text=white,
|
||||
text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
|
||||
\tikzstyle{block} = [rectangle, draw, fill=codeblue, text=white,
|
||||
text width=5em, text centered, rounded corners, minimum height=4em]
|
||||
\tikzstyle{line} = [draw, -latex']
|
||||
@@ -12,21 +12,11 @@ activated. The whitest flour you can get is mostly just the starch part of the s
|
||||
Depending on which layers are still present, names are used to describe the
|
||||
type of flour.
|
||||
|
||||
\begin{table}[htb!]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|r|r|r|}
|
||||
\hline
|
||||
\textbf{Type USA} & \textbf{Type UK} & \multicolumn{1}{l|}{\textbf{Type Germany}} & \multicolumn{1}{l|}{\textbf{Type France}} & \multicolumn{1}{l|}{\textbf{Type Italy}} \\ \hline
|
||||
Cake & Soft flour & T405 & T45 & 00 \\ \hline
|
||||
All purpose & Plain flour & T550 & T55 & 0 \\ \hline
|
||||
& & T812 & T80 & 1 \\ \hline
|
||||
& & T1050 & T110 & 2 \\ \hline
|
||||
Whole & Whole & Vollkorn & T150 & Integrale \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{\label{tab:flour-types-comparison}A comparison of the different wheat flour types}
|
||||
\end{table}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-flour-types.pdf}
|
||||
\label{tab:flour-types-comparison}
|
||||
\caption{A comparison of the different wheat flour types}
|
||||
\end{figure}
|
||||
|
||||
In Germany the ash content is used to describe the flours. The lab will burn
|
||||
100 grams of flour in the oven. Then afterwards the remaining ash is extracted
|
||||
@@ -57,25 +47,10 @@ structure. For no/low gluten flour your main focus is managing acidity. You do n
|
||||
want the final bread to be too sour. You do not have to worry about the gluten
|
||||
degradation, removing a huge headache from the equation.
|
||||
|
||||
\begin{table}[]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{Grain type} & \textbf{Homogenize} & \textbf{Knead} & \textbf{Stretch \& Fold} & \textbf{Shape} \\ \hline
|
||||
\textbf{Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{\textgreater 70\% Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{Spelt} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{Rye} & Yes & No & No & No \\ \hline
|
||||
\textbf{Emmer} & Yes & No & No & No \\ \hline
|
||||
\textbf{Einkorn} & Yes & No & No & No \\ \hline
|
||||
\textbf{Rice} & Yes & No & No & No \\ \hline
|
||||
\textbf{Corn} & Yes & No & No & No \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-grains-bread-making-process.pdf}
|
||||
\caption{An overview of different grain types and the steps involved in the respective bread making process}
|
||||
\end{table}
|
||||
|
||||
\end{figure}
|
||||
|
||||
As gluten has a special role, the rest of this chapter is dedicated to having a
|
||||
closer look at different gluten flours and how to distinguish them. Spelt
|
||||
@@ -123,21 +98,11 @@ product out of a high W flour you will need to have a long fermentation period.
|
||||
The long fermentation period also means that your microbes will enrich
|
||||
your dough with more flavor.
|
||||
|
||||
\begin{table}[]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|r|l|r|}
|
||||
\hline
|
||||
\textbf{W-Value} & \multicolumn{1}{l|}{\textbf{Hydration in \%}} & \textbf{Uses} & \multicolumn{1}{l|}{\textbf{Fermentation times}} \\ \hline
|
||||
0-150 & 50 & Cookies & Very short \\ \hline
|
||||
150-250 & 50-60 & Cakes, Bread, Pizza & Short-Medium \\ \hline
|
||||
250-350 & 60-70 & Bread, Pizza & Long \\ \hline
|
||||
350+ & 70-90 & Bread, Pizza & Very long \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{\label{tab:w-value}An overview of different levels of W values and the respective hydrations and fermentation times}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-overview-w-values.pdf}
|
||||
\caption{An overview of different levels of W values and the respective hydrations and fermentation times}
|
||||
\label{tab:w-value}
|
||||
\end{figure}
|
||||
|
||||
Generally, when aiming to
|
||||
bake free standing sourdough bread aim for a higher protein content. If the
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
5
book/latexmkrc
Normal file
@@ -0,0 +1,5 @@
|
||||
END{
|
||||
# system("tex4ebook -j output -m draft -a debug main > tex4ebook.log");
|
||||
system("tex4ebook -j output -e build.mk4 main");
|
||||
system("rm tikz-cache/*");
|
||||
}
|
||||
@@ -1,23 +1,74 @@
|
||||
all:
|
||||
.PHONY: build_pdf
|
||||
build_pdf: clean figures tables
|
||||
pdflatex book.tex
|
||||
biber book
|
||||
pdflatex book.tex
|
||||
|
||||
fast:
|
||||
pdflatex book.tex
|
||||
.PHONY: figures
|
||||
figures:
|
||||
cd figures && find . -name "fig-*.tex" -exec pdflatex '{}' \; && cd ../
|
||||
|
||||
.PHONY: tables
|
||||
tables:
|
||||
cd tables && find . -name "table-*.tex" -exec pdflatex '{}' \; && cd ../
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm book.blg
|
||||
rm book.bbl
|
||||
rm book.aux
|
||||
rm book.out
|
||||
rm book.toc
|
||||
rm book.run.xml
|
||||
rm book.bcf
|
||||
rm book.pdf
|
||||
rm book.log
|
||||
rm -f book.blg
|
||||
rm -f book.bbl
|
||||
rm -f book.aux
|
||||
rm -f book.out
|
||||
rm -f book.toc
|
||||
rm -f book.run.xml
|
||||
rm -f book.bcf
|
||||
rm -f book.pdf
|
||||
rm -f book.log
|
||||
rm -f book.mobi
|
||||
rm -f book.4ct
|
||||
rm -f book.4tc
|
||||
rm -f book.dvi
|
||||
rm -f book.epub
|
||||
rm -f book.css
|
||||
rm -f book.fdb_latexmk
|
||||
rm -f book.fls
|
||||
rm -f book.idv
|
||||
rm -f book.lg
|
||||
rm -f book.ncx
|
||||
rm -f book.tmp
|
||||
rm -f book.xref
|
||||
rm -f book*.svg
|
||||
rm -f book*.html
|
||||
rm -f book*.xhtml
|
||||
rm -rf book-epub/
|
||||
rm -rf book-epub3/
|
||||
rm -rf book-mobi/
|
||||
rm -f *.pdf
|
||||
rm -f output.log
|
||||
rm -f content.opf
|
||||
rm -rf figures/*.aux
|
||||
rm -rf figures/*.fdb_latexmk
|
||||
rm -rf figures/*.fls
|
||||
rm -rf figures/*.log
|
||||
rm -rf figures/*.pdf
|
||||
rm -rf figures/*.png
|
||||
find . -name "*.xbb" | xargs rm -f
|
||||
rm -rf release/
|
||||
|
||||
release:
|
||||
rm -rf release
|
||||
mkdir release
|
||||
.PHONY: release
|
||||
release: clean build_pdf make_release_dir build_ebook
|
||||
cp book.pdf release/TheBreadCode-The-Sourdough-Framework.pdf
|
||||
cp book.epub release/TheBreadCode-The-Sourdough-Framework.epub
|
||||
cp book.mobi release/TheBreadCode-The-Sourdough-Framework.mobi
|
||||
cp book.azw3 release/TheBreadCode-The-Sourdough-Framework.azw3
|
||||
|
||||
.PHONY: make_release_dir
|
||||
make_release_dir:
|
||||
mkdir -p release
|
||||
|
||||
.PHONY: build_ebook
|
||||
build_ebook: build_pdf make_release_dir
|
||||
find . -name "*.jpg" | xargs ebb -x
|
||||
find . -name "*.png" | xargs ebb -x
|
||||
tex4ebook -c tex4ebook.cfg -f epub book.tex
|
||||
tex4ebook -c tex4ebook.cfg -f mobi book.tex
|
||||
tex4ebook -c tex4ebook.cfg -f azw3 book.tex
|
||||
|
||||
@@ -27,19 +27,7 @@ of gluten development, the final bread will feature a denser
|
||||
crumb compared to wheat.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Mix ingredients};
|
||||
\node [block, below of=init, node distance=3cm] (bulk_ferment) {\footnotesize Bulk ferment};
|
||||
\node [block, right of=init, node distance=3cm] (divide) {\footnotesize Divide};
|
||||
\node [block, below of=divide, node distance=3cm] (shape) {\footnotesize Shape};
|
||||
\node [block, right of=divide, node distance=3cm] (proof) {\footnotesize Proof};
|
||||
\node [block, below of=proof, node distance=3cm] (bake) {\footnotesize Bake};
|
||||
\path [line] (init) -- (bulk_ferment);
|
||||
\path [line] (bulk_ferment) -- (divide);
|
||||
\path [line] (divide) -- (shape);
|
||||
\path [line] (shape) -- (proof);
|
||||
\path [line] (proof) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-non-wheat-process.pdf}
|
||||
\caption{A visualization of the process to make non-wheat sourdough bread.
|
||||
The process is much simpler than making wheat sourdough bread. There is
|
||||
no gluten development. The ingredients are simply mixed together.}
|
||||
@@ -165,4 +153,4 @@ almost daily basis. The effort required to make bread like
|
||||
this is much lower compared to a wheat-based dough. In some
|
||||
cases, I extend the recipe and add additional sourdough discard
|
||||
to the dough. You can add as much discard as you like. The resulting
|
||||
bread has a very complex but delicious flavor profile.
|
||||
bread has a very complex but delicious flavor profile.
|
||||
|
||||
@@ -3,17 +3,11 @@ at different sourdough starter types and their respective
|
||||
traits.
|
||||
|
||||
\begin{table}[htp!]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|r|l|}
|
||||
\hline
|
||||
\textbf{Starter type} & \textbf{Hydration in \%} & \textbf{Flour type} & \multicolumn{1}{l|}{\textbf{Yeast activity}} & \textbf{Bacterial activity} \\ \hline
|
||||
Regular & 100 & Strong wheat flour & Balanced & Balanced \\ \hline
|
||||
Liquid & 500 & Very strong wheat flour & Minimal & High \\ \hline
|
||||
Stiff & 50-60 & All wheat flour & High & Low \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\caption{\label{tab:starter-types-comparison}A comparison of different sourdough starter types}
|
||||
\includegraphics[width=\textwidth]{tables/table-starter-types.pdf}
|
||||
\caption{A comparison of different sourdough starter types and their
|
||||
respective properties. The only difference is the level of water (hydration)
|
||||
that is used when feeding the starter.}
|
||||
\label{tab:starter-types-comparison}
|
||||
\end{table}
|
||||
|
||||
Depending on the flour you have at hand the type of starter changes. With more
|
||||
@@ -118,26 +112,9 @@ starter's flavour by changing the type to a liquid starter.
|
||||
\label{fig:liquid-sourdough-starter}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a regular or stiff starter};
|
||||
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 1g existing starter, 5g flour and 25g water};
|
||||
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
|
||||
\node [block, below of=init, node distance=4cm] (feed_again) {\footnotesize Feed again using 1:5:25 ratio};
|
||||
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
|
||||
\node [decision, below of=next_day, node distance=4cm] (ready_signs) {\footnotesize Sour yogurty smell and bubbles visible on flour?};
|
||||
\node [block, below of=test, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
|
||||
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
|
||||
\path [line] (init) -- (feed_new_ratio);
|
||||
\path [line] (feed_new_ratio) -- (next_day);
|
||||
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
|
||||
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
|
||||
\path [line] (next_day) -- (feed_again);
|
||||
\path [line] (test) -- (ready_signs);
|
||||
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
|
||||
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
|
||||
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-liquid-starter-conversion.pdf}
|
||||
\caption{The process to convert your regular or stiff starter into a liquid starter. The whole
|
||||
process takes around 3 days. The longer you maintain your starter at the
|
||||
suggested hydration level the more adapted your microorganisms become. It is recommended
|
||||
@@ -210,25 +187,7 @@ around 50 to 60 percent. So for 100 grams of flour you are using around 50 to
|
||||
60 grams of water.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a regular or liquid starter};
|
||||
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 10g existing starter, 50g flour and 25g water};
|
||||
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
|
||||
\node [block, below of=feed_new_ratio] (feed_again) {\footnotesize Feed again using 1:5:2.5 ratio};
|
||||
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
|
||||
\node [decision, right of=feed_again, node distance=4cm] (ready_signs) {\footnotesize Size increase and sour smell?};
|
||||
\node [block, right of=ready_signs, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
|
||||
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
|
||||
\path [line] (init) -- (feed_new_ratio);
|
||||
\path [line] (feed_new_ratio) -- (next_day);
|
||||
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
|
||||
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
|
||||
\path [line] (next_day) -- (feed_again);
|
||||
\path [line] (test) -- (ready_signs);
|
||||
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
|
||||
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
|
||||
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-stiff-starter-conversion.pdf}
|
||||
\caption{The process to convert your regular starter into a stiff starter. The whole
|
||||
process takes around 3 days. The longer you maintain your starter at the
|
||||
suggested hydration level the more adapted your microorganisms become. The
|
||||
|
||||
@@ -34,19 +34,10 @@ but there is an easier way. This is where baker's math
|
||||
comes in handy. Let's look at the default recipe with baker's
|
||||
math and then adjust it for the 1.4 kilogram flour quantity.
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|r|r|}
|
||||
\hline
|
||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Percent}} & \multicolumn{1}{l|}{\textbf{Calculation}} \\ \hline
|
||||
1000g flour & 100\% & 1000g of 1000g = 100\% \\ \hline
|
||||
600g water & 60\% & 600g of 1000g = 60\% \\ \hline
|
||||
100g sourdough starter & 10\% & 100g of 1000g = 10\% \\ \hline
|
||||
20g salt & 2\% & 20g of 1000g = 2\% \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\end{table}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-bakers-math-example.pdf}
|
||||
\caption{An example table demonstrating how to properly calclate using baker's math}
|
||||
\end{figure}
|
||||
|
||||
Note how each of the ingredients is calculated as a percentage
|
||||
based on the flour. The 100 percent is the baseline as the absolute
|
||||
@@ -57,19 +48,11 @@ Now let's go back to our example and add just the flour, as we have
|
||||
more flour available the next day. As mentioned the next day
|
||||
we have 1.4 kilograms at hand (1400 grams).
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|r|r|}
|
||||
\hline
|
||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Baker's math}} & \multicolumn{1}{l|}{\textbf{Calculated value}} \\ \hline
|
||||
Flour & 100\% & 1400*1 = 1400g \\ \hline
|
||||
Water & 60\% & 1400*0.6 = 840g \\ \hline
|
||||
Sourdough starter & 10\% & 1400*0.1 = 140g \\ \hline
|
||||
Salt & 2\% & 1400*0.02 = 28g \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\end{table}
|
||||
\begin{figure}[H]
|
||||
\includegraphics[width=\textwidth]{tables/table-recipe-bakers-math.pdf}
|
||||
\caption{An example recipe that uses 1400 grams as base and is then
|
||||
calculated using baker's math}
|
||||
\end{figure}
|
||||
|
||||
For each ingredient we calculate the percentage
|
||||
based on the flour available (1400 grams). So for the water
|
||||
@@ -133,26 +116,7 @@ use a glass and place another inverted one on top. The container shouldn't
|
||||
be airtight. You still want some gas exchange to be possible.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Mix 50g flour + 50g water, stir};
|
||||
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 24 hours};
|
||||
\path [line] (init) -- (wait1);
|
||||
\node [block, right of=wait1, node distance=3cm] (feed) {\footnotesize 10g of previous day + 50g water + 50g flour, stir};
|
||||
\path [line] (wait1) -- (feed);
|
||||
\node [block, below of=feed] (discard) {\footnotesize Discard the rest};
|
||||
\path [line] (feed) -- (discard);
|
||||
\node [decision, right of=feed, node distance=3.5cm] (decide) {\footnotesize Is good?};
|
||||
\node [decision, above of=decide, node distance=3cm] (timeout) {\footnotesize Less than 10 feeds?};
|
||||
\node [block, above of=feed, node distance=3cm] (wait2) {\footnotesize Wait 24 hours};
|
||||
\node [block, right of=timeout, node distance=3cm] (discard2) {\footnotesize Batch failed};
|
||||
\path [line] (timeout) -- node{no} (discard2);
|
||||
\path [line] (timeout) -- node{yes} (wait2);
|
||||
\path [line] (feed) -- (decide);
|
||||
\node [block, right of=decide, node distance=3cm] (use) {\footnotesize Ready to use};
|
||||
\path [line] (decide) -- node{no} (timeout);
|
||||
\path [line] (wait2) -- (feed);
|
||||
\path [line] (decide) -- node{yes} (use);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-starter-process.pdf}
|
||||
\caption{The process of making a sourdough starter from scratch}
|
||||
\label{fig:sourdough-starter-process}
|
||||
\end{figure}
|
||||
@@ -270,23 +234,7 @@ yeast has been isolated like this from century old sourdough
|
||||
starters.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make a starter};
|
||||
\node [block, right of=init, node distance=3cm] (feed) {\footnotesize Feed your starter};
|
||||
\path [line] (init) -- (feed);
|
||||
\node [block, right of=feed, node distance=3cm] (ready_question) {\footnotesize Perform readiness check};
|
||||
\path [line] (feed) -- (ready_question);
|
||||
\node [block, below of=feed, node distance=3cm] (wait_12) {\footnotesize Wait 12 hours};
|
||||
\path [line] (wait_12) -- (feed);
|
||||
\node [decision, right of=ready_question, node distance=3.5cm] (is_bubbly) {\footnotesize Bubbly? Size Increase?};
|
||||
\path [line] (ready_question) -- (is_bubbly);
|
||||
\path [line] (is_bubbly) -- node{no} (wait_12);
|
||||
\node [decision, below of=is_bubbly, node distance=4.0cm] (check_smell) {\footnotesize Vinegary, or yogurt smell?};
|
||||
\path [line] (is_bubbly) -- node{yes} (check_smell);
|
||||
\node [block, below of=init, node distance=6cm] (make_dough) {\footnotesize Make your dough};
|
||||
\path [line] (check_smell) -- node{yes} (make_dough);
|
||||
\path [line] (check_smell) -- node{no} (wait_12);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-starter-readiness.pdf}
|
||||
\caption{A flow chart showing you how to determine if your sourdough starter is ready to be used.
|
||||
For checking readiness look at a size increase and take note of your starter's smell. Both are important
|
||||
indicators to check for readiness.}
|
||||
@@ -353,38 +301,7 @@ yeast part of your sourdough and balance the fermentation.
|
||||
\section{Maintenance}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Make your bread dough};
|
||||
\node [decision, below of=init, node distance=3.5cm] (all_starter_used) {\footnotesize All starter used?};
|
||||
\path [line] (init) -- (all_starter_used);
|
||||
\node [block, right of=init, node distance=3cm] (use_dough) {\footnotesize Take 10g of your bread dough};
|
||||
\node [block, right of=all_starter_used, node distance=3cm] (use_starter) {\footnotesize Take all but not more than 10g of your starter};
|
||||
\path [line] (all_starter_used) -- node{yes} (use_dough);
|
||||
\path [line] (all_starter_used) -- node{no} (use_starter);
|
||||
\node [block, right of=use_dough, node distance=3cm] (feed_starter) {\footnotesize Feed using 1:5:5 ratio};
|
||||
\path [line] (use_dough) -- (feed_starter);
|
||||
\path [line] (use_starter) -- (feed_starter);
|
||||
\node [decision, right of=feed_starter, node distance=3cm] (bake_next_day_check) {\footnotesize Bake next day?};
|
||||
\path [line] (feed_starter) -- (bake_next_day_check);
|
||||
\node [block, right of=bake_next_day_check, node distance=3.5cm] (make_bread_dough) {\footnotesize Make bread dough again after 8-12 hours};
|
||||
\path [line] (bake_next_day_check) -- node{yes} (make_bread_dough);
|
||||
\node [decision, right of=use_starter, node distance=3cm] (bake_next_week_check) {\footnotesize Baking in next 2 weeks?};
|
||||
\node [block, right of=bake_next_week_check, node distance=3.5cm] (store_fridge) {\footnotesize Store starter in fridge at 4°C(40°F)};
|
||||
\path [line] (bake_next_week_check) -- node{yes} (store_fridge);
|
||||
\node [block, right of=store_fridge, node distance=3cm] (feed_after_fridge) {\footnotesize Feed again using 1:5:5 ration 8-12 hours before making dough};
|
||||
\path [line] (store_fridge) -- (feed_after_fridge);
|
||||
\path [line] (bake_next_day_check) -- node{no} (bake_next_week_check);
|
||||
\node [decision, below of=use_starter, node distance=3cm] (freezer_check) {\footnotesize Have a freezer?};
|
||||
\path [line] (bake_next_week_check) -- (store_fridge);
|
||||
\path [line] (bake_next_week_check) -- node{no} (freezer_check);
|
||||
\node [block, right of=freezer_check, node distance=3cm] (dry_starter) {\footnotesize Dry your starter};
|
||||
\node [block, below of=dry_starter, node distance=3cm] (freeze_starter) {\footnotesize Freeze your starter};
|
||||
\path [line] (freezer_check) -- node{no} (dry_starter);
|
||||
\path [line] (freezer_check) -- node{yes} (freeze_starter);
|
||||
\node [block, right of=dry_starter, node distance=3.5cm] (reactivate_freezer) {\footnotesize Reactivate starter for 3 days with daily 1:5:5 feedings};
|
||||
\path [line] (dry_starter) -- (reactivate_freezer);
|
||||
\path [line] (freeze_starter) -- (reactivate_freezer);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-starter-maintenance.pdf}
|
||||
\caption{A full flowchart showing you how to conduct proper sourdough starter maintenance. You can use a
|
||||
piece of your dough as the next starter. You can also use left-over starter and feed it again. Choose an
|
||||
option that works fest for your own schedule. The chart assumes that you are using a starter at a 100 percent
|
||||
|
||||
@@ -3,19 +3,12 @@ methods of storing your bread. This way
|
||||
your bread can best be enjoyed at a later
|
||||
time.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
\textbf{Method} & \textbf{Advantages} & \textbf{Disadvantages} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Room\\ temperature\end{tabular}} & \begin{tabular}[c]{@{}l@{}}The easiest option. Best for bread that\\ is eaten within a day. Crust typically\\ stays crisp when humidity not too high.\end{tabular} & Bread dries out very quickly. \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Room\\ temperature\\ in container\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Good for up to a week. Catches mold\\ more quickly.\end{tabular} & \begin{tabular}[c]{@{}l@{}}Bread needs to be toasted\\ for crust to become crisp again.\end{tabular} \\ \hline
|
||||
\textbf{Fridge} & \begin{tabular}[c]{@{}l@{}}Bread stays good for weeks. Can dry\\ out a little bit when not using air-tight\\ container.\end{tabular} & \begin{tabular}[c]{@{}l@{}}Bread needs to be toasted.\\ Requires fridge and energy.\end{tabular} \\ \hline
|
||||
\textbf{Freezer} & Bread stays good for years. & \begin{tabular}[c]{@{}l@{}}Requires thawing and then\\ toasting. Requires freezer and\\ energy.\end{tabular} \\ \hline
|
||||
\end{tabular}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-storing-bread-overview.pdf}
|
||||
\caption{A table visualizing the advantages and disadvantages
|
||||
of different bread storing options.}
|
||||
\label{table:bread-storage}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
\section{Room temperature}
|
||||
|
||||
@@ -116,4 +109,4 @@ that you like.
|
||||
|
||||
This option is great for the very long-term storage. Personally
|
||||
I like having a few slices of bread frozen as an emergency
|
||||
backup when I had no time to bake.
|
||||
backup when I had no time to bake.
|
||||
|
||||
12
book/tables/table-bakers-math-example.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|r|r|}
|
||||
\hline
|
||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Percent}} & \multicolumn{1}{l|}{\textbf{Calculation}} \\ \hline
|
||||
1000g flour & 100\% & 1000g of 1000g = 100\% \\ \hline
|
||||
600g water & 60\% & 600g of 1000g = 60\% \\ \hline
|
||||
100g sourdough starter & 10\% & 100g of 1000g = 10\% \\ \hline
|
||||
20g salt & 2\% & 20g of 1000g = 2\% \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
16
book/tables/table-baking-process-stages.tex
Normal file
@@ -0,0 +1,16 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
\textbf{°C °F} & \textbf{Stage} & \textbf{Description} \\ \hline
|
||||
60 - 140 & Sterilisation & \begin{tabular}[c]{@{}l@{}}The temperature is too hot for your\\ microorganisms and they die\end{tabular} \\ \hline
|
||||
75 - 167 & Gel building & \begin{tabular}[c]{@{}l@{}}A gel builds on the surface persisting\\ your dough's structure. It is still\\ extensible and can spring in the\\ oven\end{tabular} \\ \hline
|
||||
100 - 212 & Water evaporates & \begin{tabular}[c]{@{}l@{}}Water begins to evaporate and\\ inflates your dough's alveoli\end{tabular} \\ \hline
|
||||
118 - 244 & Acetic acid evaporates & \begin{tabular}[c]{@{}l@{}}The vinegary tasting acid starts\\ to evaporate. The sourness decreases\end{tabular} \\ \hline
|
||||
122 - 252 & Lactic acid evaporates & \begin{tabular}[c]{@{}l@{}}The dairy tasting lactic acid begins\\ to evaporate. Sourness further decreases\end{tabular} \\ \hline
|
||||
140 - 284 & Maillard reaction & \begin{tabular}[c]{@{}l@{}}The maillard reaction starts to deform\\ starches and proteins. The dough starts\\ browning\end{tabular} \\ \hline
|
||||
170 - 338 & Caramelization & \begin{tabular}[c]{@{}l@{}}Remaining sugars begin to caramelise\\ giving your bread a distinct flavor\end{tabular} \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
|
||||
12
book/tables/table-dough-size-increase.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|r|r|}
|
||||
\hline
|
||||
\multicolumn{1}{|l|}{\textbf{Flour protein content}} & \multicolumn{1}{l|}{\textbf{Relative aliquot size increase}} \\ \hline
|
||||
8-10\% & 25\% \\ \hline
|
||||
10-12\% & 50\% \\ \hline
|
||||
12-15\% & 100\% \\ \hline
|
||||
\textgreater 15\% & \textgreater 100\% \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
13
book/tables/table-fermentation-effects.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{} & \textbf{\begin{tabular}[c]{@{}l@{}}Too short\\ fermentation\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Too long\\ fermentation\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Perfect\\ fermentation\end{tabular}} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Crumb\\ texture\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Unbaked gummy areas\\ towards the bottom of\\ the bread\end{tabular} & \begin{tabular}[c]{@{}l@{}}Crumb can be\\ perceived as\\ gummy, as most\\ gluten broken\\ down\end{tabular} & \begin{tabular}[c]{@{}l@{}}Crumb evenly baked.\\ Crumb can be perceived\\ as moist, but not\\ gummy\end{tabular} \\ \hline
|
||||
\textbf{Alveoli} & \begin{tabular}[c]{@{}l@{}}Overly large alveoli\\ in the crumb "craters"\end{tabular} & \begin{tabular}[c]{@{}l@{}}Many tiny alveoli\\ equally distributed\end{tabular} & \begin{tabular}[c]{@{}l@{}}Alveoli evenly\\ distributed, no\\ "craters"\end{tabular} \\ \hline
|
||||
\textbf{Taste} & Pale neutral taste & \begin{tabular}[c]{@{}l@{}}Strong acidic flavor\\ profile. Acidity\\ overweighs when\\ tasting\end{tabular} & \begin{tabular}[c]{@{}l@{}}Balanced flavor profile,\\ not too mild but also\\ not too sour. Depending\\ on starter vinegary\\ or lactic notes\end{tabular} \\ \hline
|
||||
\textbf{Texture} & Overall poor Texture & \begin{tabular}[c]{@{}l@{}}Good consistency,\\ crumb is not as fluffy\\ as it could be\end{tabular} & \begin{tabular}[c]{@{}l@{}}Great combination of \\ textures\end{tabular} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Oven\\ spring\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Vertical oven spring,\\ mostly due to water\\ evaporating and\\ inflating the dough\end{tabular} & \begin{tabular}[c]{@{}l@{}}Very flat pancake like \\ structure after baking\end{tabular} & \begin{tabular}[c]{@{}l@{}}Great vertical oven\\ spring. Dough grows\\ more upwards rather\\ than sideways\end{tabular} \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
13
book/tables/table-flat-bread-pancake-recipe.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
& \textbf{Flat breads} & \textbf{Pancakes} \\ \hline
|
||||
\textbf{Flour} & 100g & 100g \\ \hline
|
||||
\textbf{Water} & 100g (100\%) & 300g (300\%) \\ \hline
|
||||
\textbf{Sourdough starter} & 5-20g (5-20\%) & 5-20g (5-20\%) \\ \hline
|
||||
\textbf{Salt} & 2g (2\%) & 2g (2\%) \\ \hline
|
||||
\textbf{When bake?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
13
book/tables/table-flour-types.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|r|r|r|}
|
||||
\hline
|
||||
\textbf{Type USA} & \textbf{Type UK} & \multicolumn{1}{l|}{\textbf{Type Germany}} & \multicolumn{1}{l|}{\textbf{Type France}} & \multicolumn{1}{l|}{\textbf{Type Italy}} \\ \hline
|
||||
Cake & Soft flour & T405 & T45 & 00 \\ \hline
|
||||
All purpose & Plain flour & T550 & T55 & 0 \\ \hline
|
||||
& & T812 & T80 & 1 \\ \hline
|
||||
& & T1050 & T110 & 2 \\ \hline
|
||||
Whole & Whole & Vollkorn & T150 & Integrale \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
16
book/tables/table-grains-bread-making-process.tex
Normal file
@@ -0,0 +1,16 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{Grain type} & \textbf{Homogenize} & \textbf{Knead} & \textbf{Stretch \& Fold} & \textbf{Shape} \\ \hline
|
||||
\textbf{Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{\textgreater 70\% Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{Spelt} & Yes & Yes & Yes & Yes \\ \hline
|
||||
\textbf{Rye} & Yes & No & No & No \\ \hline
|
||||
\textbf{Emmer} & Yes & No & No & No \\ \hline
|
||||
\textbf{Einkorn} & Yes & No & No & No \\ \hline
|
||||
\textbf{Rice} & Yes & No & No & No \\ \hline
|
||||
\textbf{Corn} & Yes & No & No & No \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
12
book/tables/table-oven-baking-overview.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{Oven type} & \textbf{Plain (no tools)} & \textbf{Inverted tray} & \textbf{Dutch oven} \\ \hline
|
||||
Gas & No & No & Yes \\ \hline
|
||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan always on)\end{tabular} & No & No & Yes \\ \hline
|
||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan can be disabled)\end{tabular} & No & Yes & Yes \\ \hline
|
||||
Steam & Yes & Yes & Yes \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
13
book/tables/table-overview-bread-types.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
& \textbf{Flat bread} & \textbf{Loaf pan bread} & \textbf{Free standing bread} \\ \hline
|
||||
\textbf{Cooking method} & Fire, pan, barbecue & Oven & Oven \\ \hline
|
||||
\textbf{Working time in minutes} & 3 & 5 & 60 \\ \hline
|
||||
\textbf{Flour types} & All & All & Gluten flours \\ \hline
|
||||
\textbf{Difficulty} & Very easy & Easy & Difficult \\ \hline
|
||||
\textbf{Cost} & Low & Medium & High \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
12
book/tables/table-overview-w-values.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|r|l|r|}
|
||||
\hline
|
||||
\textbf{W-Value} & \multicolumn{1}{l|}{\textbf{Hydration in \%}} & \textbf{Uses} & \multicolumn{1}{l|}{\textbf{Fermentation times}} \\ \hline
|
||||
0-150 & 50 & Cookies & Very short \\ \hline
|
||||
150-250 & 50-60 & Cakes, Bread, Pizza & Short-Medium \\ \hline
|
||||
250-350 & 60-70 & Bread, Pizza & Long \\ \hline
|
||||
350+ & 70-90 & Bread, Pizza & Very long \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
15
book/tables/table-ph-values-dough.tex
Normal file
@@ -0,0 +1,15 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|r|}
|
||||
\hline
|
||||
\textbf{Step} & \multicolumn{1}{l|}{\textbf{pH Value}} \\ \hline
|
||||
Starter ready & 4.20 \\ \hline
|
||||
Mixing & 6.00 \\ \hline
|
||||
Dividing/preshaping & 4.10 \\ \hline
|
||||
Shaping & 4.05 \\ \hline
|
||||
Before proofing & 4.03 \\ \hline
|
||||
After proofing & 3.80 \\ \hline
|
||||
After baking & 3.90 \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
12
book/tables/table-recipe-bakers-math.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|r|r|}
|
||||
\hline
|
||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Baker's math}} & \multicolumn{1}{l|}{\textbf{Calculated value}} \\ \hline
|
||||
Flour & 100\% & 1400*1 = 1400g \\ \hline
|
||||
Water & 60\% & 1400*0.6 = 840g \\ \hline
|
||||
Sourdough starter & 10\% & 1400*0.1 = 140g \\ \hline
|
||||
Salt & 2\% & 1400*0.02 = 28g \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
11
book/tables/table-starter-types.tex
Normal file
@@ -0,0 +1,11 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|r|l|}
|
||||
\hline
|
||||
\textbf{Starter type} & \textbf{Hydration in \%} & \textbf{Flour type} & \multicolumn{1}{l|}{\textbf{Yeast activity}} & \textbf{Bacterial activity} \\ \hline
|
||||
Regular & 100 & Strong wheat flour & Balanced & Balanced \\ \hline
|
||||
Liquid & 500 & Very strong wheat flour & Minimal & High \\ \hline
|
||||
Stiff & 50-60 & All wheat flour & High & Low \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
14
book/tables/table-starter-usage-activity.tex
Normal file
@@ -0,0 +1,14 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Temperature\\ in °C\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Temperature\\ in °F\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Starter\\ recently fed?\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Amount\\ of starter in\%\end{tabular}} \\ \hline
|
||||
30 & 86 & Yes & 5 \\ \hline
|
||||
25 & 77 & Yes & 10 \\ \hline
|
||||
20 & 68 & Yes & 15 \\ \hline
|
||||
30 & 86 & No & 2.5 \\ \hline
|
||||
25 & 77 & No & 5 \\ \hline
|
||||
20 & 68 & No & 10 \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
12
book/tables/table-storing-bread-overview.tex
Normal file
@@ -0,0 +1,12 @@
|
||||
\input{./vars}
|
||||
|
||||
\begin{document}
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
\textbf{Method} & \textbf{Advantages} & \textbf{Disadvantages} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Room\\ temperature\end{tabular}} & \begin{tabular}[c]{@{}l@{}}The easiest option. Best for bread that\\ is eaten within a day. Crust typically\\ stays crisp when humidity not too high.\end{tabular} & Bread dries out very quickly. \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Room\\ temperature\\ in container\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Good for up to a week. Catches mold\\ more quickly.\end{tabular} & \begin{tabular}[c]{@{}l@{}}Bread needs to be toasted\\ for crust to become crisp again.\end{tabular} \\ \hline
|
||||
\textbf{Fridge} & \begin{tabular}[c]{@{}l@{}}Bread stays good for weeks. Can dry\\ out a little bit when not using air-tight\\ container.\end{tabular} & \begin{tabular}[c]{@{}l@{}}Bread needs to be toasted.\\ Requires fridge and energy.\end{tabular} \\ \hline
|
||||
\textbf{Freezer} & Bread stays good for years. & \begin{tabular}[c]{@{}l@{}}Requires thawing and then\\ toasting. Requires freezer and\\ energy.\end{tabular} \\ \hline
|
||||
\end{tabular}
|
||||
\end{document}
|
||||
1
book/tables/vars.tex
Normal file
@@ -0,0 +1 @@
|
||||
\documentclass{standalone}
|
||||
8
book/tex4ebook.cfg
Normal file
@@ -0,0 +1,8 @@
|
||||
\Preamble{xhtml}
|
||||
\begin{document}
|
||||
\Configure{DocumentLanguage}{en}
|
||||
\Configure{OpfScheme}{URI}
|
||||
\Configure{UniqueIdentifier}{https://the-bread-code.io}
|
||||
\Configure{CoverMimeType}{image/jpeg}
|
||||
\CoverMetadata{images/cover-page.jpg}
|
||||
\EndPreamble
|
||||
|
Before Width: | Height: | Size: 388 KiB After Width: | Height: | Size: 388 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
@@ -43,28 +43,7 @@ that tastes much better than any store-bought bread.
|
||||
\section{The process}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Ready starter};
|
||||
\node [block, right of=init, node distance=3cm] (mix_ingredients) {\footnotesize Mix ingredients};
|
||||
\node [block, right of=mix_ingredients, node distance=3cm] (dough_strength) {\footnotesize Create dough strength};
|
||||
\node [block, right of=dough_strength, node distance=3cm] (bulk) {\footnotesize Bulk ferment};
|
||||
\node [decision, below of=dough_strength, node distance=3cm] (divide_test) {\footnotesize Making 1 loaf?};
|
||||
\node [block, left of=divide_test, node distance=3cm] (divide) {\footnotesize Divide};
|
||||
\node [block, left of=divide, node distance=3cm] (preshape) {\footnotesize Preshape};
|
||||
\node [block, below of=preshape, node distance=3cm] (shape) {\footnotesize Shape};
|
||||
\node [block, right of=shape, node distance=3cm] (proof) {\footnotesize Proof};
|
||||
\node [block, right of=proof, node distance=3cm] (bake) {\footnotesize Bake};
|
||||
\path [line] (init) -- (mix_ingredients);
|
||||
\path [line] (mix_ingredients) -- (dough_strength);
|
||||
\path [line] (dough_strength) -- (bulk);
|
||||
\path [line] (bulk) -- (divide_test);
|
||||
\path [line] (divide_test) -- node{yes} (shape);
|
||||
\path [line] (divide_test) -- node{no} (divide);
|
||||
\path [line] (divide) -- (preshape);
|
||||
\path [line] (preshape) -- (shape);
|
||||
\path [line] (shape) -- (proof);
|
||||
\path [line] (proof) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-wheat-sourdough-process.pdf}
|
||||
\caption{The typical process of making a wheat-based sourdough bread}
|
||||
\label{fig:wheat-sourdough-process}
|
||||
\end{figure}
|
||||
@@ -116,36 +95,7 @@ doesn't have a good balance of yeast to bacteria, so will your
|
||||
main dough.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [decision] (init) {\footnotesize Starter last fed within 3 days?};
|
||||
\node [block, right of=init, node distance=4cm] (feed_no_branch)
|
||||
{\footnotesize Feed starter twice. 48 hours before and 6-12 hours before};
|
||||
\node [block, below of=feed_no_branch, node distance=3cm] (feed_yes_branch)
|
||||
{\footnotesize Feed starter once 6-12 hours before making dough};
|
||||
\node [block, right of=feed_no_branch, node distance=6cm] (high_ratio)
|
||||
{\footnotesize Use a 1:10:10 ratio. 10g starter, 100g flour, 100g water};
|
||||
\node [block, right of=feed_yes_branch, node distance=3cm] (low_ratio)
|
||||
{\footnotesize Use a 1:5:5 ratio. 10g starter, 50g flour, 50g water};
|
||||
\node [block, below of=high_ratio, node distance=6cm] (check_starter)
|
||||
{\footnotesize Check if starter is ready to be used};
|
||||
\node [decision, below of=init, node distance=6cm] (size_check)
|
||||
{\footnotesize Bubbly? Increased in size?};
|
||||
\node [decision, below of=size_check, node distance=5cm] (smell_check)
|
||||
{\footnotesize Vinegary or yogurty smell?};
|
||||
\node [block, right of=smell_check, node distance=6cm] (make_dough)
|
||||
{\footnotesize Prepare dough};
|
||||
\path [line] (init) -- node{no} (feed_no_branch);
|
||||
\path [line] (init) -- node{yes} (feed_yes_branch);
|
||||
\path [line] (feed_yes_branch) -- (low_ratio);
|
||||
\path [line] (feed_no_branch) -- (high_ratio);
|
||||
\path [line] (high_ratio) -- (check_starter);
|
||||
\path [line] (low_ratio) -- (check_starter);
|
||||
\path [line] (check_starter) -- (size_check);
|
||||
\path [line] (size_check) -- node{no} (feed_yes_branch);
|
||||
\path [line] (size_check) -- node{yes} (smell_check);
|
||||
\path [line] (smell_check) -- node{no} (feed_yes_branch);
|
||||
\path [line] (smell_check) -- node{yes} (make_dough);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-wheat-sourdough-starter-process.pdf}
|
||||
\caption{The process to check your sourdough starter when making wheat-based doughs. In practice
|
||||
I frequently use a stiff sourdough starter. The stiff starter features enhanced yeast activity. In that case, you can
|
||||
use the same ratios as shown in the chart except for the water quantity. The stiff starter has a hydration of 50 to
|
||||
@@ -550,19 +500,10 @@ autolysis step might call for 20 percent sourdough starter. Simply reduce this
|
||||
value to 5-10 percent. The other option could be to place the dough in a colder
|
||||
environment and thus reduce the speed at which your microorganisms replicate.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Temperature\\ in °C\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Temperature\\ in °F\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Starter\\ recently fed?\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Amount\\ of starter in\%\end{tabular}} \\ \hline
|
||||
30 & 86 & Yes & 5 \\ \hline
|
||||
25 & 77 & Yes & 10 \\ \hline
|
||||
20 & 68 & Yes & 15 \\ \hline
|
||||
30 & 86 & No & 2.5 \\ \hline
|
||||
25 & 77 & No & 5 \\ \hline
|
||||
20 & 68 & No & 10 \\ \hline
|
||||
\end{tabular}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-starter-usage-activity.pdf}
|
||||
\caption{A table visualizing how much sourdough starter to use depending on temperature and the starter's activity level}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
Based on my experience and my sourdough my ideal bread always take around 8
|
||||
to 12 hours during bulk fermentation. Based on my availability throughout
|
||||
@@ -597,35 +538,7 @@ all the gases during the fermentation process. Without the gluten network,
|
||||
the gases would just diffuse out of your dough.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Homogenize recipe ingredients};
|
||||
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (init) -- (wait1);
|
||||
\node [block, right of=wait1, node distance=3cm] (knead1) {\footnotesize Knead 5 minutes};
|
||||
\path [line] (wait1) -- (knead1);
|
||||
\node [block, right of=knead1, node distance=3cm] (wait2) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (knead1) -- (wait2);
|
||||
\node [decision, below of=wait2, node distance=3cm] (windowpane_test) {\footnotesize Window-pane?};
|
||||
\path [line] (wait2) -- (windowpane_test);
|
||||
\path [line] (windowpane_test) -- node{no} (knead1);
|
||||
\node [decision, left of=windowpane_test, node distance=4.5cm] (more_water) {\footnotesize Bassinage for more water?};
|
||||
\path [line] (windowpane_test) -- node{yes} (more_water);
|
||||
\node [block, left of=more_water, node distance=4.5cm] (add_water) {\footnotesize Add water};
|
||||
\path [line] (more_water) -- node{yes} (add_water);
|
||||
\path [line] (add_water) -- (knead1);
|
||||
\node [block, below of=add_water, node distance=4cm] (wait3) {\footnotesize Wait 15 minutes};
|
||||
\path [line] (add_water) -- (wait3);
|
||||
\node [decision, right of=wait3, node distance=4.5cm] (dough_sample) {\footnotesize Aliquot jar?};
|
||||
\path [line] (wait3) -- (dough_sample);
|
||||
\path [line] (more_water) -- node{no} (dough_sample);
|
||||
\node [block, right of=dough_sample, node distance=4.5cm] (dough_ball) {\footnotesize Make round dough ball};
|
||||
\path [line] (dough_sample) -- node{no} (dough_ball);
|
||||
\node [block, below of=dough_sample, node distance=3cm] (extract_sample) {\footnotesize Extract sample};
|
||||
\path [line] (dough_sample) -- node{yes} (extract_sample);
|
||||
\path [line] (extract_sample) -- (dough_ball);
|
||||
\node [block, below of=dough_ball, node distance=3cm] (begin_bulk) {\footnotesize Begin bulk fermentation};
|
||||
\path [line] (dough_ball) -- (begin_bulk);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-kneading-process.pdf}
|
||||
\caption{The gluten development process for a wheat-based dough}
|
||||
\label{fig:wheat-sourdough-kneading-process}
|
||||
\end{figure}
|
||||
@@ -811,19 +724,10 @@ the dough more toward a longer fermentation. The
|
||||
flavor of the resulting bread is better compared to a pale
|
||||
underfermented dough.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\small
|
||||
\begin{tabular}{|l|l|l|l|}
|
||||
\hline
|
||||
\textbf{} & \textbf{\begin{tabular}[c]{@{}l@{}}Too short\\ fermentation\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Too long\\ fermentation\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Perfect\\ fermentation\end{tabular}} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Crumb\\ texture\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Unbaked gummy areas\\ towards the bottom of\\ the bread\end{tabular} & \begin{tabular}[c]{@{}l@{}}Crumb can be\\ perceived as\\ gummy, as most\\ gluten broken\\ down\end{tabular} & \begin{tabular}[c]{@{}l@{}}Crumb evenly baked.\\ Crumb can be perceived\\ as moist, but not\\ gummy\end{tabular} \\ \hline
|
||||
\textbf{Alveoli} & \begin{tabular}[c]{@{}l@{}}Overly large alveoli\\ in the crumb "craters"\end{tabular} & \begin{tabular}[c]{@{}l@{}}Many tiny alveoli\\ equally distributed\end{tabular} & \begin{tabular}[c]{@{}l@{}}Alveoli evenly\\ distributed, no\\ "craters"\end{tabular} \\ \hline
|
||||
\textbf{Taste} & Pale neutral taste & \begin{tabular}[c]{@{}l@{}}Strong acidic flavor\\ profile. Acidity\\ overweighs when\\ tasting\end{tabular} & \begin{tabular}[c]{@{}l@{}}Balanced flavor profile,\\ not too mild but also\\ not too sour. Depending\\ on starter vinegary\\ or lactic notes\end{tabular} \\ \hline
|
||||
\textbf{Texture} & Overall poor Texture & \begin{tabular}[c]{@{}l@{}}Good consistency,\\ crumb is not as fluffy\\ as it could be\end{tabular} & \begin{tabular}[c]{@{}l@{}}Great combination of \\ textures\end{tabular} \\ \hline
|
||||
\textbf{\begin{tabular}[c]{@{}l@{}}Oven\\ spring\end{tabular}} & \begin{tabular}[c]{@{}l@{}}Vertical oven spring,\\ mostly due to water\\ evaporating and\\ inflating the dough\end{tabular} & \begin{tabular}[c]{@{}l@{}}Very flat pancake like \\ structure after baking\end{tabular} & \begin{tabular}[c]{@{}l@{}}Great vertical oven\\ spring. Dough grows\\ more upwards rather\\ than sideways\end{tabular} \\ \hline
|
||||
\end{tabular}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-fermentation-effects.pdf}
|
||||
\caption{The different stages of sourdough fermentation and the effects on crumb, alveoli, texture, and overall taste.}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
The worst thing you can do when fermenting sourdough
|
||||
is to rely on a recipe's timing suggestions. In 99 percent
|
||||
@@ -867,17 +771,10 @@ I recommend beginning with a size increase of 25 percent and testing
|
||||
up to 100 percent with subsequent bakes. Then identify a value
|
||||
that you are happy with.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\begin{tabular}{|r|r|}
|
||||
\hline
|
||||
\multicolumn{1}{|l|}{\textbf{Flour protein content}} & \multicolumn{1}{l|}{\textbf{Relative aliquot size increase}} \\ \hline
|
||||
8-10\% & 25\% \\ \hline
|
||||
10-12\% & 50\% \\ \hline
|
||||
12-15\% & 100\% \\ \hline
|
||||
\textgreater 15\% & \textgreater 100\% \\ \hline
|
||||
\end{tabular}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-dough-size-increase.pdf}
|
||||
\caption{Reference values for how much size increase to aim for with an aliquot jar depending on the dough's protein content}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
The beauty of the aliquot is that no matter the surrounding
|
||||
temperature, you will always know when your dough is ready.
|
||||
@@ -951,21 +848,11 @@ you can use them as a reference for your next batch. If the
|
||||
bread didn't turn out the way you like, either shorten
|
||||
the fermentation or extend it a little bit.
|
||||
|
||||
\begin{table}[!htb]
|
||||
\begin{tabular}{|l|r|}
|
||||
\hline
|
||||
\textbf{Step} & \multicolumn{1}{l|}{\textbf{pH Value}} \\ \hline
|
||||
Starter ready & 4.20 \\ \hline
|
||||
Mixing & 6.00 \\ \hline
|
||||
Dividing/preshaping & 4.10 \\ \hline
|
||||
Shaping & 4.05 \\ \hline
|
||||
Before proofing & 4.03 \\ \hline
|
||||
After proofing & 3.80 \\ \hline
|
||||
After baking & 3.90 \\ \hline
|
||||
\end{tabular}
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{tables/table-ph-values-dough.pdf}
|
||||
\caption{Example pH values for the different breakpoints of my own sourdough process}
|
||||
\label{table:sample-ph-values}
|
||||
\end{table}
|
||||
\end{figure}
|
||||
|
||||
The beauty of this method is its reliability. Once you found
|
||||
out your good working values, you can reproduce
|
||||
@@ -1179,15 +1066,7 @@ The step is required if you are making multiple loaves in one
|
||||
batch. It is optional if you are making a single loaf.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Dividing required?};
|
||||
\node [decision, right of=init, node distance=5cm] (more_than_one_loaf) {\footnotesize More than 1 loaf?};
|
||||
\node [block, right of=more_than_one_loaf, node distance=5cm] (yes) {\footnotesize Yes};
|
||||
\node [block, below of=yes, node distance=3cm] (no) {\footnotesize No};
|
||||
\path [line] (init) -- (more_than_one_loaf);
|
||||
\path [line] (more_than_one_loaf) -- (yes);
|
||||
\path [line] (more_than_one_loaf) -- (no);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-dividing-preshaping.pdf}
|
||||
\caption{Dividing is only required when you are making multiple loaves in a single dough batch}
|
||||
\label{fig:dividing-decision-tree}
|
||||
\end{figure}
|
||||
@@ -1298,23 +1177,7 @@ your environment.
|
||||
\section{Shaping}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [block] (init) {\footnotesize Begin shaping};
|
||||
\node [decision, right of=init, node distance=5cm] (overfermented_decision) {\footnotesize Dough overly sticky or dough tears?};
|
||||
\node [block, right of=overfermented_decision, node distance=4cm] (overfermented) {\footnotesize Your dough is likely overfermented};
|
||||
\node [block, right of=overfermented, node distance=3cm] (loafpan) {\footnotesize Move to loaf pan, short proof, then bake directly};
|
||||
\node [block, below of=init, node distance=4cm] (shaping_technique) {\footnotesize Proceed with shaping technique};
|
||||
\node [block, right of=shaping_technique, node distance=3cm] (flour) {\footnotesize Flour shaped dough};
|
||||
\node [block, right of=flour, node distance=3cm] (banneton) {\footnotesize Place upside down in banneton};
|
||||
\node [block, right of=banneton, node distance=3cm] (proof) {\footnotesize Begin proofing};
|
||||
\path [line] (init) -- (overfermented_decision);
|
||||
\path [line] (overfermented_decision) -- node{yes} (overfermented);
|
||||
\path [line] (overfermented_decision) -- node{no} (shaping_technique);
|
||||
\path [line] (shaping_technique) -- (flour);
|
||||
\path [line] (flour) -- (banneton);
|
||||
\path [line] (banneton) -- (proof);
|
||||
\path [line] (overfermented) -- (loafpan);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-shaping-process.pdf}
|
||||
\caption{A schematic visualization of the shaping process including checks for an overfermented dough.}
|
||||
\label{fig:shaping-decision-tree}
|
||||
\end{figure}
|
||||
@@ -1532,30 +1395,8 @@ at a slower rate at colder temperatures. But I doubt that they alter
|
||||
their biochemical processes. More research is needed on the topic
|
||||
of retarding and flavor development.
|
||||
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||
\node [decision] (init) {\footnotesize Room temperature proofing?};
|
||||
\node [decision, right of=init, node distance=9cm] (retard_bake_decision) {\footnotesize Bake in less than 10 hours from now?};
|
||||
\node [block, below of=init, node distance=4cm] (poke) {\footnotesize Poke the dough};
|
||||
\node [block, right of=poke, node distance=4cm] (wait_poke) {\footnotesize Wait 15 minutes};
|
||||
\node [decision, below of=poke, node distance=3cm] (dent_visible_decision) {\footnotesize Dent still visible after 1 minute?};
|
||||
\node [block, right of=dent_visible_decision, node distance=4cm] (bake) {\footnotesize Score and bake};
|
||||
\node [block, below of=retard_bake_decision, node distance=3cm] (wait_retard) {\footnotesize Wait 15 minutes};
|
||||
\node [block, below of=wait_retard, node distance=3cm] (retard) {\footnotesize Proof in fridge at 4°C (40°F)};
|
||||
\node [block, right of=wait_retard, node distance=3cm] (move_to_fridge) {\footnotesize Move dough directly to fridge};
|
||||
\path [line] (init) -- node{yes} (poke);
|
||||
\path [line] (init) -- node{no} (retard_bake_decision);
|
||||
\path [line] (poke) -- (dent_visible_decision);
|
||||
\path [line] (dent_visible_decision) -- node{yes} (bake);
|
||||
\path [line] (dent_visible_decision) -- node{no} (wait_poke);
|
||||
\path [line] (wait_poke) -- (poke);
|
||||
\path [line] (retard_bake_decision) -- node{yes} (wait_retard);
|
||||
\path [line] (retard_bake_decision) -- node{no} (move_to_fridge);
|
||||
\path [line] (wait_retard) -- (retard);
|
||||
\path [line] (move_to_fridge) -- (retard);
|
||||
\path [line] (retard) -- (bake);
|
||||
\end{tikzpicture}
|
||||
\includegraphics{figures/fig-proofing-process.pdf}
|
||||
\caption{A schematic overview of the different steps of the sourdough proofing process. The proofing technique to choose
|
||||
depends on your availability and schedule.}
|
||||
\label{fig:proofing-process}
|
||||
@@ -1772,4 +1613,4 @@ scoring easier.
|
||||
Another interesting trick is to bake your dough for 30 seconds without steam.
|
||||
The hot air will dry out the dough's surface even further and simplify
|
||||
the scoring technique. Experiment with the timing to identify your personal
|
||||
sweet spot.
|
||||
sweet spot.
|
||||
|
||||