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
This commit is contained in:
Hendrik Kleinwaechter
2023-03-02 20:33:25 +01:00
committed by GitHub
parent 2691ecfa22
commit 6e97f9bbd0
54 changed files with 766 additions and 536 deletions

View File

@@ -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.