mirror of
https://github.com/hendricius/the-sourdough-framework
synced 2025-11-16 16:11:12 -06:00
Merge branch 'hendricius:main' into main
This commit is contained in:
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Set up git repository
|
- name: Set up git repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Build the book
|
- name: Bake the book
|
||||||
uses: xu-cheng/texlive-action/full@v1
|
uses: xu-cheng/texlive-action/full@v1
|
||||||
with:
|
with:
|
||||||
run: |
|
run: |
|
||||||
@@ -18,8 +18,8 @@ jobs:
|
|||||||
tar xzf kindlegen_linux_2.6_i386_v2_9.tar.gz
|
tar xzf kindlegen_linux_2.6_i386_v2_9.tar.gz
|
||||||
mv kindlegen /usr/bin
|
mv kindlegen /usr/bin
|
||||||
cd book
|
cd book
|
||||||
make release
|
make bake
|
||||||
- name: Release book on S3
|
- name: Release baked book to S3
|
||||||
uses: shallwefootball/s3-upload-action@master
|
uses: shallwefootball/s3-upload-action@master
|
||||||
with:
|
with:
|
||||||
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
||||||
|
|||||||
4
.github/workflows/validate.yml
vendored
4
.github/workflows/validate.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
|||||||
apk add make
|
apk add make
|
||||||
cd book
|
cd book
|
||||||
make build_pdf
|
make build_pdf
|
||||||
- name: Test building release versions
|
- name: Test baking the release versions
|
||||||
uses: xu-cheng/texlive-action/full@v1
|
uses: xu-cheng/texlive-action/full@v1
|
||||||
with:
|
with:
|
||||||
run: |
|
run: |
|
||||||
@@ -22,4 +22,4 @@ jobs:
|
|||||||
tar xzf kindlegen_linux_2.6_i386_v2_9.tar.gz
|
tar xzf kindlegen_linux_2.6_i386_v2_9.tar.gz
|
||||||
mv kindlegen /usr/bin
|
mv kindlegen /usr/bin
|
||||||
cd book
|
cd book
|
||||||
make release
|
make bake
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -48,3 +48,7 @@ book/book*.html
|
|||||||
book/book-epub/
|
book/book-epub/
|
||||||
book/book-mobi/
|
book/book-mobi/
|
||||||
book/book-azw3/
|
book/book-azw3/
|
||||||
|
*.bak
|
||||||
|
book_sans_serif/
|
||||||
|
release_sans_serif/
|
||||||
|
*.opf
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# Dockerfile.rails
|
|
||||||
FROM ghcr.io/xu-cheng/texlive-full
|
FROM ghcr.io/xu-cheng/texlive-full
|
||||||
|
|
||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
|||||||
37
README.md
37
README.md
@@ -3,6 +3,8 @@
|
|||||||
The sourdough framework is an open-source book dedicated to
|
The sourdough framework is an open-source book dedicated to
|
||||||
helping you to make the best possible sourdough bread at home.
|
helping you to make the best possible sourdough bread at home.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Rather than providing recipes this book intends to provide a
|
Rather than providing recipes this book intends to provide a
|
||||||
framework that enables you to bake bread in your respective
|
framework that enables you to bake bread in your respective
|
||||||
environment. Every flour, every sourdough, and every home setup
|
environment. Every flour, every sourdough, and every home setup
|
||||||
@@ -10,8 +12,6 @@ is different. This makes following recipes without background
|
|||||||
information so hard and a fail-prone endeavor. This book
|
information so hard and a fail-prone endeavor. This book
|
||||||
intends to close that gap.
|
intends to close that gap.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Background
|
## Background
|
||||||
|
|
||||||
4 years after launching the repositories [the-bread-code](https://github.com/hendricius/the-bread-code)
|
4 years after launching the repositories [the-bread-code](https://github.com/hendricius/the-bread-code)
|
||||||
@@ -21,9 +21,10 @@ project intends to go one step deeper into the workings of
|
|||||||
natural fermentation. At the same time as many scientific references
|
natural fermentation. At the same time as many scientific references
|
||||||
as possible are provided.
|
as possible are provided.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Building the book (Docker)
|
|
||||||
|
## 🍞 Baking the book (Docker)
|
||||||
|
|
||||||
```console
|
```console
|
||||||
make
|
make
|
||||||
@@ -31,15 +32,15 @@ make
|
|||||||
|
|
||||||
Then you can check out the file `book/book.pdf`
|
Then you can check out the file `book/book.pdf`
|
||||||
|
|
||||||
If you want to build the eBook versions (.epub, .mobi, .azw3) run:
|
If you want to 🍞 bake all the versions including ebook formats (.pdf, .epub, .mobi, .azw3) run:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
make release
|
make bake
|
||||||
```
|
```
|
||||||
|
|
||||||
You can check the files in the folder `book/release/`
|
You can check the files in the folder `book/release/`
|
||||||
|
|
||||||
## Building the book locally (LaTeX)
|
## 🍞 Baking the book locally (LaTeX)
|
||||||
|
|
||||||
Make sure you have `biber` installed. Refer to your system's installation
|
Make sure you have `biber` installed. Refer to your system's installation
|
||||||
instructions for LaTeX.
|
instructions for LaTeX.
|
||||||
@@ -49,11 +50,11 @@ cd book/
|
|||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to build the eBook versions (.epub, .mobi, .azw3) run:
|
If you want to 🍞 bake all the versions including ebook formats (.pdf, .epub, .mobi, .azw3) run:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
cd book/
|
cd book/
|
||||||
make release
|
make bake
|
||||||
```
|
```
|
||||||
|
|
||||||
You can check the files in the folder `book/release/`
|
You can check the files in the folder `book/release/`
|
||||||
@@ -67,6 +68,18 @@ The below versions are automatically built on every push to the `main` branch.
|
|||||||
* [Download compiled .mobi version](https://www.the-bread-code.io/book.mobi)
|
* [Download compiled .mobi version](https://www.the-bread-code.io/book.mobi)
|
||||||
* [Download compiled .azw3 version](https://www.the-bread-code.io/book.azw3)
|
* [Download compiled .azw3 version](https://www.the-bread-code.io/book.azw3)
|
||||||
|
|
||||||
|
There's an additional enhanced accessibility version using a sans serif font:
|
||||||
|
|
||||||
|
* [Download compiled .pdf version](https://www.the-bread-code.io/book-sans-serif.pdf)
|
||||||
|
* [Download compiled .epub version](https://www.the-bread-code.io/book-sans-serif.epub)
|
||||||
|
* [Download compiled .mobi version](https://www.the-bread-code.io/book-sans-serif.mobi)
|
||||||
|
* [Download compiled .azw3 version](https://www.the-bread-code.io/book-sans-serif.azw3)
|
||||||
|
|
||||||
|
## Hardcover version
|
||||||
|
|
||||||
|
There is a hardcover version of the book available for purchase. [You can
|
||||||
|
read more details here.](https://breadco.de/physical-book)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
Did you find a typo, or feel the wording could be improved?
|
Did you find a typo, or feel the wording could be improved?
|
||||||
@@ -78,9 +91,9 @@ that it will reach more people all over the world without
|
|||||||
budget constraints.
|
budget constraints.
|
||||||
|
|
||||||
If you would like to contribute with a small donation you can do so
|
If you would like to contribute with a small donation you can do so
|
||||||
via my [ko-fi page.](https://breadco.de/book) This will help me
|
via my [ko-fi page.](https://breadco.de/book) Your donation will tremendously
|
||||||
to cover costs related to running the-bread-code and allow me
|
help me to cover costs related to running the-bread-code. It futhermore allows
|
||||||
to work more updates for this book.
|
me to dedidcate time to continously update and improve this book.
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,10 @@ Your bread starts to build a crust of gel-like consistency. The crust is still
|
|||||||
extensible and can be stretched.
|
extensible and can be stretched.
|
||||||
|
|
||||||
\begin{table}[htp!]
|
\begin{table}[htp!]
|
||||||
\includegraphics{tables/table-baking-process-stages.pdf}
|
\begin{center}
|
||||||
\caption{The different stages that your dough undergoes during the baking process.}
|
\input{tables/table-baking-process-stages.tex}
|
||||||
|
\caption{The different stages that your dough undergoes during the baking process.}
|
||||||
|
\end{center}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
At around 60°C (140°F) the microbes in your dough start to die.
|
At around 60°C (140°F) the microbes in your dough start to die.
|
||||||
@@ -265,10 +267,13 @@ crust color. In my case this is another 15-25 minutes typically.
|
|||||||
|
|
||||||
\section{Conclusions}
|
\section{Conclusions}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-oven-baking-overview.pdf}
|
\begin{center}
|
||||||
\caption{An overview of different oven types and their different baking methods}
|
\input{tables/table-oven-baking-overview.tex}
|
||||||
\end{figure}
|
\caption{An overview of different oven types and their different
|
||||||
|
baking methods.}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
Depending on your home oven, a different method
|
Depending on your home oven, a different method
|
||||||
of steaming may be used. Generally most ovens
|
of steaming may be used. Generally most ovens
|
||||||
|
|||||||
9
book/book-ebook.css
Normal file
9
book/book-ebook.css
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
.figure {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.figure img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
height: auto;
|
||||||
|
object-fit: contain;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
8
book/book.mk4
Normal file
8
book/book.mk4
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
local filter = require "make4ht-filter"
|
||||||
|
local removeHeight = function(s) return s:gsub('height="%d+"', '') end
|
||||||
|
local removeWidth = function(s) return s:gsub('width="%d+"', '') end
|
||||||
|
local removeMaxWidth = function(s) return s:gsub(' max-width: %d+px;', '') end
|
||||||
|
local removeFixedSettings = function(s) return removeMaxWidth(removeWidth(removeHeight(s))) end
|
||||||
|
local process = filter{removeFixedSettings}
|
||||||
|
Make:htlatex()
|
||||||
|
Make:match("html$",process)
|
||||||
@@ -13,6 +13,14 @@
|
|||||||
\usepackage{tocloft}
|
\usepackage{tocloft}
|
||||||
\usepackage{tex4ebook}
|
\usepackage{tex4ebook}
|
||||||
\usepackage{chemformula}
|
\usepackage{chemformula}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
\usepackage{makecell}
|
||||||
|
|
||||||
|
\renewcommand\theadfont{\bfseries}
|
||||||
|
|
||||||
|
% Fonts for accessibility
|
||||||
|
%\usepackage{helvet}
|
||||||
|
%\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
|
||||||
% References
|
% References
|
||||||
\usepackage[backend=biber]{biblatex}
|
\usepackage[backend=biber]{biblatex}
|
||||||
@@ -27,16 +35,16 @@
|
|||||||
|
|
||||||
% Folders where to search for images
|
% Folders where to search for images
|
||||||
\graphicspath{
|
\graphicspath{
|
||||||
{./images/}
|
{images/}
|
||||||
{./troubleshooting/}
|
{troubleshooting/}
|
||||||
{./sourdough-starter/}
|
{sourdough-starter/}
|
||||||
{./troubleshooting/crumb-structures/}
|
{troubleshooting/crumb-structures/}
|
||||||
{./history/}
|
{history/}
|
||||||
{./images/external/}
|
{images/external/}
|
||||||
{./baking/}
|
{baking/}
|
||||||
{./wheat-sourdough/}
|
{wheat-sourdough/}
|
||||||
{./wheat-sourdough/shaping/}
|
{wheat-sourdough/shaping/}
|
||||||
{./non-wheat-sourdough/}
|
{non-wheat-sourdough/}
|
||||||
}
|
}
|
||||||
|
|
||||||
% Layout rules
|
% Layout rules
|
||||||
@@ -61,7 +69,7 @@
|
|||||||
% Title page
|
% Title page
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=\textwidth]{cover-page}
|
\includegraphics[width=\textwidth]{images/cover-page.jpg}
|
||||||
Version:
|
Version:
|
||||||
\today
|
\today
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
|
|||||||
@@ -7,11 +7,13 @@ 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
|
If you are a busy person and/or don't have an oven, this might
|
||||||
be exactly the type of bread you should consider.
|
be exactly the type of bread you should consider.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-overview-bread-types.pdf}
|
\begin{center}
|
||||||
\caption{An overview of different bread types and their respective complexity}
|
\input{tables/table-overview-bread-types.tex}
|
||||||
|
\caption{An overview of different bread types and their respective complexity}
|
||||||
|
\end{center}
|
||||||
\label{tab:bread-types-comparison}
|
\label{tab:bread-types-comparison}
|
||||||
\end{figure}
|
\end{table}
|
||||||
|
|
||||||
\section{Flatbread}
|
\section{Flatbread}
|
||||||
|
|
||||||
@@ -170,12 +172,16 @@ I have little time or when I am abroad. You can choose
|
|||||||
between two options: 1) A flatbread similar to a roti or naan bread
|
between two options: 1) A flatbread similar to a roti or naan bread
|
||||||
or 2) sourdough pancakes.
|
or 2) sourdough pancakes.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-flat-bread-pancake-recipe.pdf}
|
\begin{center}
|
||||||
\caption{\label{tab:flat-bread-ingredients}flatbread or pancake recipe for 1 person. Multiply the ingredients
|
\input{tables/table-flat-bread-pancake-recipe.tex}
|
||||||
to increase portion size. Refer to the section \ref{section:bakers-math} "\nameref{section:bakers-math}" to learn how
|
\caption{\label{tab:flat-bread-ingredients}flatbread or pancake recipe
|
||||||
to understand and use the percentages properly.}
|
for 1 person. Multiply the ingredients to increase portion size.
|
||||||
\end{figure}
|
Refer to the Section~\ref{section:bakers-math}
|
||||||
|
``\nameref{section:bakers-math}'' to learn how to understand and
|
||||||
|
use the percentages properly.}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
To get started prepare your sourdough starter. If it has not been used for a very
|
To get started prepare your sourdough starter. If it has not been used for a very
|
||||||
long time, consider giving it another feed. To do so simply take 1 g of your
|
long time, consider giving it another feed. To do so simply take 1 g of your
|
||||||
|
|||||||
@@ -5,8 +5,10 @@
|
|||||||
\node [block] (init) {\footnotesize Make a starter};
|
\node [block] (init) {\footnotesize Make a starter};
|
||||||
\node [block, right of=init, node distance=3cm] (feed) {\footnotesize Feed your starter};
|
\node [block, right of=init, node distance=3cm] (feed) {\footnotesize Feed your starter};
|
||||||
\path [line] (init) -- (feed);
|
\path [line] (init) -- (feed);
|
||||||
\node [block, right of=feed, node distance=3cm] (ready_question) {\footnotesize Perform readiness check};
|
\node [block, right of=feed, node distance=3cm] (wait_12_after_feed) {\footnotesize Wait 12 hours};
|
||||||
\path [line] (feed) -- (ready_question);
|
\path [line] (feed) -- (wait_12_after_feed);
|
||||||
|
\node [block, right of=wait_12_after_feed, node distance=3cm] (ready_question) {\footnotesize Perform readiness check};
|
||||||
|
\path [line] (wait_12_after_feed) -- (ready_question);
|
||||||
\node [block, below of=feed, node distance=3cm] (wait_12) {\footnotesize Wait 12 hours};
|
\node [block, below of=feed, node distance=3cm] (wait_12) {\footnotesize Wait 12 hours};
|
||||||
\path [line] (wait_12) -- (feed);
|
\path [line] (wait_12) -- (feed);
|
||||||
\node [decision, right of=ready_question, node distance=3.5cm] (is_bubbly) {\footnotesize Bubbly? Size Increase?};
|
\node [decision, right of=ready_question, node distance=3.5cm] (is_bubbly) {\footnotesize Bubbly? Size Increase?};
|
||||||
|
|||||||
@@ -12,11 +12,14 @@ 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
|
Depending on which layers are still present, names are used to describe the
|
||||||
type of flour.
|
type of flour.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-flour-types.pdf}
|
\begin{center}
|
||||||
\label{tab:flour-types-comparison}
|
\input{tables/table-flour-types.tex}
|
||||||
\caption{A comparison of how different types of wheat flour are labelled in different countries}
|
\label{tab:flour-types-comparison}
|
||||||
\end{figure}
|
\caption{A comparison of how different types of wheat flour are
|
||||||
|
labelled in different countries.}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
In Germany, the ash content is used to describe the flours. The lab will burn
|
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
|
100 grams of flour in the oven. Then afterwards the remaining ash is extracted
|
||||||
@@ -47,10 +50,13 @@ described. 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
|
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.
|
degradation, removing a huge headache from the equation.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-grains-bread-making-process.pdf}
|
\begin{center}
|
||||||
\caption{An overview of different grain types and the steps involved in the respective bread making process}
|
\input{tables/table-grains-bread-making-process.tex}
|
||||||
\end{figure}
|
\caption{An overview of different grain types and the steps involved
|
||||||
|
in the respective bread making process}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
As gluten has a special role, the rest of this chapter is dedicated to having a
|
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
|
closer look at different gluten flours and how to distinguish them. Spelt
|
||||||
@@ -98,11 +104,14 @@ 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
|
The long fermentation period also means that your microbes will enrich
|
||||||
your dough with more flavor.
|
your dough with more flavor.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-overview-w-values.pdf}
|
\begin{center}
|
||||||
\caption{An overview of different levels of W values and the respective hydrations and fermentation times}
|
\input{tables/table-overview-w-values.tex}
|
||||||
\label{tab:w-value}
|
\caption{An overview of different levels of W values and the
|
||||||
\end{figure}
|
respective hydrations and fermentation times}
|
||||||
|
\label{tab:w-value}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
Generally, when aiming to
|
Generally, when aiming to
|
||||||
bake free standing sourdough bread, aim for a higher protein content. If the
|
bake free standing sourdough bread, aim for a higher protein content. If the
|
||||||
|
|||||||
@@ -164,13 +164,10 @@ and how to adapt them when things go wrong while making bread.
|
|||||||
It is my desire for this knowledge to be accessible to everyone around the world, regardless
|
It is my desire for this knowledge to be accessible to everyone around the world, regardless
|
||||||
of budget, and as such, I do not want to charge for the book. That's why I've decided to make
|
of budget, and as such, I do not want to charge for the book. That's why I've decided to make
|
||||||
it open source and have asked the community to support my work financially via my ko-fi page
|
it open source and have asked the community to support my work financially via my ko-fi page
|
||||||
(https://ko-fi.com/thebreadcode). The community's feedback has been amazing so far, and
|
\url{https://ko-fi.com/thebreadcode}. The community's feedback has been amazing so far, and
|
||||||
I've already raised much more money than initially expected.
|
I've already raised much more money than initially expected. The digital version of this book
|
||||||
|
will always remain free. There is also a hardcover version of the book available for purchase.
|
||||||
The first version of the book will only be available digitally---this way, everyone can read
|
You can read more details here: \url{https://breadco.de/physical-book}
|
||||||
it---though there might also be a hardcover version in the future, depending on how well received
|
|
||||||
and appreciated it is by bakers around the world. The hardcover version will, of course, cost a
|
|
||||||
bit of money, but the digital version will remain free.
|
|
||||||
|
|
||||||
In this book, I will try to be as scientific as possible. I in no way claim, however, that
|
In this book, I will try to be as scientific as possible. I in no way claim, however, that
|
||||||
it will itself be a work of science. I have conducted several experiments that I will write
|
it will itself be a work of science. I have conducted several experiments that I will write
|
||||||
|
|||||||
@@ -4,6 +4,11 @@ build_pdf: clean figures tables
|
|||||||
biber book
|
biber book
|
||||||
pdflatex book.tex
|
pdflatex book.tex
|
||||||
|
|
||||||
|
# setup_default_build:
|
||||||
|
# sed -i '.bak' 's#^\\usepackage{helvet}#%\\usepackage{helvet}#g' book.tex
|
||||||
|
# sed -i '.bak' 's#^\\renewcommand{\\familydefault}{\\sfdefault}#%\\renewcommand{\\familydefault}{\\sfdefault}#g' book.tex
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean_figures
|
.PHONY: clean_figures
|
||||||
clean_figures:
|
clean_figures:
|
||||||
cd figures
|
cd figures
|
||||||
@@ -23,10 +28,6 @@ export_figures:
|
|||||||
figures: clean_figures
|
figures: clean_figures
|
||||||
cd figures && find . -name "fig-*.tex" -exec pdflatex '{}' \;
|
cd figures && find . -name "fig-*.tex" -exec pdflatex '{}' \;
|
||||||
|
|
||||||
.PHONY: tables
|
|
||||||
tables:
|
|
||||||
cd tables && find . -name "table-*.tex" -exec pdflatex '{}' \;
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean: clean_figures
|
clean: clean_figures
|
||||||
rm -f book.blg
|
rm -f book.blg
|
||||||
@@ -64,22 +65,51 @@ clean: clean_figures
|
|||||||
rm -f content.opf
|
rm -f content.opf
|
||||||
find . -name "*.xbb" | xargs rm -f
|
find . -name "*.xbb" | xargs rm -f
|
||||||
rm -rf release/
|
rm -rf release/
|
||||||
|
rm -rf release_sans_serif/
|
||||||
|
|
||||||
.PHONY: release
|
.PHONY: release_default
|
||||||
release: clean build_pdf make_release_dir build_ebook
|
release_default: clean build_pdf make_release_dir build_ebook
|
||||||
cp book.pdf release/TheBreadCode-The-Sourdough-Framework.pdf
|
cp book.pdf release/TheBreadCode-The-Sourdough-Framework.pdf
|
||||||
cp book-mobi/book.mobi release/TheBreadCode-The-Sourdough-Framework.mobi
|
cp book-mobi/book.mobi release/TheBreadCode-The-Sourdough-Framework.mobi
|
||||||
cp book-epub/book.epub release/TheBreadCode-The-Sourdough-Framework.epub
|
cp book-epub/book.epub release/TheBreadCode-The-Sourdough-Framework.epub
|
||||||
cp book-azw3/book.azw3 release/TheBreadCode-The-Sourdough-Framework.azw3
|
cp book-azw3/book.azw3 release/TheBreadCode-The-Sourdough-Framework.azw3
|
||||||
|
|
||||||
|
.PHONY: bake
|
||||||
|
bake: release_default release_sans_serif
|
||||||
|
|
||||||
.PHONY: make_release_dir
|
.PHONY: make_release_dir
|
||||||
make_release_dir:
|
make_release_dir:
|
||||||
mkdir -p release
|
mkdir -p release
|
||||||
|
|
||||||
|
.PHONY: release_sans_serif
|
||||||
|
release_sans_serif: make_release_dir
|
||||||
|
# For the sans serif version we are just going
|
||||||
|
# to copy all the files into a new folder and
|
||||||
|
rm -rf release_sans_serif/
|
||||||
|
mkdir /tmp/release_sans_serif
|
||||||
|
cp -R * /tmp/release_sans_serif
|
||||||
|
mv /tmp/release_sans_serif .
|
||||||
|
# The next part will uncomment the sans serif font in the book.tex
|
||||||
|
#
|
||||||
|
# Note that the OS X sed behaves a little different
|
||||||
|
# than the gnu sed. If you are on OS X you might
|
||||||
|
# have to install gnu sed for this to work. Or you can
|
||||||
|
# use sed -i '.bak' restofcommand. OS X wants to have
|
||||||
|
# a backup file listed before replacing the contents
|
||||||
|
# of a file.
|
||||||
|
sed -i 's#%\\usepackage{helvet}#\\usepackage{helvet}#g' release_sans_serif/book.tex
|
||||||
|
sed -i 's#%\\renewcommand{\\familydefault}{\\sfdefault}#\\renewcommand{\\familydefault}{\\sfdefault}#g' release_sans_serif/book.tex
|
||||||
|
cd release_sans_serif && $(MAKE) release_default
|
||||||
|
cp release_sans_serif/release/TheBreadCode-The-Sourdough-Framework.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
||||||
|
cp release_sans_serif/release/TheBreadCode-The-Sourdough-Framework.mobi release/TheBreadCode-The-Sourdough-Framework-sans-serif.mobi
|
||||||
|
cp release_sans_serif/release/TheBreadCode-The-Sourdough-Framework.epub release/TheBreadCode-The-Sourdough-Framework-sans-serif.epub
|
||||||
|
cp release_sans_serif/release/TheBreadCode-The-Sourdough-Framework.azw3 release/TheBreadCode-The-Sourdough-Framework-sans-serif.azw3
|
||||||
|
|
||||||
.PHONY: build_ebook
|
.PHONY: build_ebook
|
||||||
build_ebook: build_pdf make_release_dir
|
build_ebook: 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 epub book.tex
|
||||||
tex4ebook -c tex4ebook.cfg -f mobi book.tex
|
tex4ebook -c tex4ebook.cfg -f mobi book.tex
|
||||||
|
# not sure why, but I hvae to generate the mobi twice for the
|
||||||
|
# release command to properly work.
|
||||||
|
tex4ebook -c tex4ebook.cfg -f mobi book.tex
|
||||||
tex4ebook -c tex4ebook.cfg -f azw3 book.tex
|
tex4ebook -c tex4ebook.cfg -f azw3 book.tex
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ at different sourdough starter types and their respective
|
|||||||
traits.
|
traits.
|
||||||
|
|
||||||
\begin{table}[htp!]
|
\begin{table}[htp!]
|
||||||
\includegraphics{tables/table-starter-types.pdf}
|
\begin{center}
|
||||||
\caption{A comparison of different sourdough starter types and their
|
\input{tables/table-starter-types.tex}
|
||||||
respective properties. The only difference is the level of water (hydration)
|
\caption{A comparison of different sourdough starter types and their
|
||||||
that is used when feeding the starter.}
|
respective properties. The only difference is the level of water (hydration)
|
||||||
\label{tab:starter-types-comparison}
|
that is used when feeding the starter.}
|
||||||
|
\label{tab:starter-types-comparison}
|
||||||
|
\end{center}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
Depending on the flour you have at hand, the type of starter changes. With more
|
Depending on the flour you have at hand, the type of starter changes. With more
|
||||||
@@ -77,7 +79,7 @@ a longer fermentation before most gluten is broken down.
|
|||||||
|
|
||||||
The regular sourdough starter is made at a hydration of around 100 percent.
|
The regular sourdough starter is made at a hydration of around 100 percent.
|
||||||
This means the starter has equal parts of flour and water. This is the most
|
This means the starter has equal parts of flour and water. This is the most
|
||||||
common and must universal sourdough starter there is. The starter has a good
|
common and most universal sourdough starter there is. The starter has a good
|
||||||
balance of yeast and bacteria. After a feeding, the volume increases and
|
balance of yeast and bacteria. After a feeding, the volume increases and
|
||||||
increases. After it reaches a certain peak, it will start to collapse again.
|
increases. After it reaches a certain peak, it will start to collapse again.
|
||||||
|
|
||||||
|
|||||||
@@ -34,10 +34,12 @@ 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
|
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.
|
math and then adjust it for the 1.4 kilogram flour quantity.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-bakers-math-example.pdf}
|
\begin{center}
|
||||||
|
\input{tables/table-bakers-math-example.tex}
|
||||||
\caption{An example table demonstrating how to properly calculate using baker's math}
|
\caption{An example table demonstrating how to properly calculate using baker's math}
|
||||||
\end{figure}
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
Note how each of the ingredients is calculated as a percentage
|
Note how each of the ingredients is calculated as a percentage
|
||||||
based on the flour. The 100 percent is the baseline and represents the absolute
|
based on the flour. The 100 percent is the baseline and represents the absolute
|
||||||
@@ -48,11 +50,13 @@ Now let's go back to our example and adjust the flour, as we have
|
|||||||
more flour available the next day. As mentioned the next day
|
more flour available the next day. As mentioned the next day
|
||||||
we have 1.4 kilograms at hand (1400 grams).
|
we have 1.4 kilograms at hand (1400 grams).
|
||||||
|
|
||||||
\begin{figure}[H]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-recipe-bakers-math.pdf}
|
\begin{center}
|
||||||
\caption{An example recipe that uses 1400 grams as its baseline and
|
\input{tables/table-recipe-bakers-math.tex}
|
||||||
is then calculated using baker's math}
|
\caption{An example recipe that uses 1400 grams as its baseline and
|
||||||
\end{figure}
|
is then calculated using baker's math}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
For each ingredient we calculate the percentage
|
For each ingredient we calculate the percentage
|
||||||
based on the flour available (1400 grams). So for the water
|
based on the flour available (1400 grams). So for the water
|
||||||
@@ -100,21 +104,28 @@ contamination of the microbes you are trying to cultivate
|
|||||||
in your starter. More of them live on the hull compared to the
|
in your starter. More of them live on the hull compared to the
|
||||||
endophytes living in the grain.
|
endophytes living in the grain.
|
||||||
|
|
||||||
Simply weigh around 50 grams of flour and add another 50
|
Start by measuring approximately 50 grams each of flour and
|
||||||
grams of water. It doesn't have to be exactly 50 grams of both
|
water. The measurements don't have to be exact; you can use
|
||||||
water or flour. You could also use less and/or simply eyeball it.
|
less or more, or just eyeball the proportions. These
|
||||||
The values are just shown as a reference. Don't use chlorinated
|
values are just shown as a reference.
|
||||||
water to setup your starter. It should be bottled water ideally,
|
|
||||||
or here in Germany we can just use our tap water. Chlorine
|
Don't use chlorinated water when setting up your starter.
|
||||||
is added to water to kill microorganisms. You will not
|
Ideally, you should use bottled water. In certain regions
|
||||||
be able to grow a starter with chlorinated water. The hydration
|
like Germany, tap water is perfectly fine. Chlorine is added
|
||||||
of your dough is 100 percent. This means you have equal parts
|
to water as a disinfectant to kill microorganisms, you will
|
||||||
of flour and water. Stir everything together so that all the flour
|
not be able to grow a starter with chlorinated water.
|
||||||
is properly hydrated. By adding water many of your microbes'
|
|
||||||
spores become activated. They exit hibernation mode and
|
In this process, the hydration of your starter is 100
|
||||||
become alive again. Cover your mixture with a lid. I like to
|
percent. This means you're using equal parts flour and
|
||||||
use a glass and place another inverted one on top. The container shouldn't
|
water. Stir everything together so that all the flour is
|
||||||
be airtight. You still want some gas exchange to be possible.
|
properly hydrated. This step activates the microbial spores
|
||||||
|
in your mixture, drawing them out of hibernation and
|
||||||
|
reviving them.
|
||||||
|
|
||||||
|
Finally, cover your mixture but make sure the covering is
|
||||||
|
not airtight. I like to 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{figure}[!htb]
|
||||||
\includegraphics{figures/fig-starter-process.pdf}
|
\includegraphics{figures/fig-starter-process.pdf}
|
||||||
@@ -149,7 +160,7 @@ than the ones from another starter. Some people have also reported
|
|||||||
how the microbes from your hand or air can influence your starter's
|
how the microbes from your hand or air can influence your starter's
|
||||||
microorganisms. This makes sense to a certain extent. Your
|
microorganisms. This makes sense to a certain extent. Your
|
||||||
hand's microbes might be good at fermenting your sweat, but
|
hand's microbes might be good at fermenting your sweat, but
|
||||||
probably not so good and metabolizing glucose. The contamination
|
probably not so good at metabolizing glucose. The contamination
|
||||||
of your hands or air might play a minor role in the initial epic
|
of your hands or air might play a minor role in the initial epic
|
||||||
battle. But only the fittest microbes fitting the sourdough's
|
battle. But only the fittest microbes fitting the sourdough's
|
||||||
niche are going to survive. This means the microorganisms that know
|
niche are going to survive. This means the microorganisms that know
|
||||||
@@ -312,7 +323,7 @@ yeast part of your sourdough and balance the fermentation.
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
You have made your sourdough starter and your first bread. How do you perform
|
You have made your sourdough starter and your first bread. How do you perform
|
||||||
maintenance for your starter? There are countless of different maintenance
|
maintenance for your starter? There are countless different maintenance
|
||||||
methods out there. Some people go completely crazy about their starter and
|
methods out there. Some people go completely crazy about their starter and
|
||||||
perform daily feedings of the starter. The key to understanding how to properly
|
perform daily feedings of the starter. The key to understanding how to properly
|
||||||
conduct maintenance is to understand what happens to your starter after you
|
conduct maintenance is to understand what happens to your starter after you
|
||||||
|
|||||||
@@ -3,12 +3,14 @@ methods of storing your bread. This way
|
|||||||
your bread can be best enjoyed at a later
|
your bread can be best enjoyed at a later
|
||||||
time.
|
time.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-storing-bread-overview.pdf}
|
\begin{center}
|
||||||
\caption{A table visualizing the advantages and disadvantages
|
\input{tables/table-storing-bread-overview.tex}
|
||||||
of different bread storing options.}
|
\caption{A table visualizing the advantages and disadvantages
|
||||||
\label{table:bread-storage}
|
of different bread storing options.}
|
||||||
\end{figure}
|
\label{table:bread-storage}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
\section{Room temperature}
|
\section{Room temperature}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}lrrr@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\multicolumn{2}{c}{\thead{Ingredient}} & \thead{Percentage} & \thead{Calculation} \\ \midrule
|
||||||
\begin{tabular}{|l|r|r|}
|
flour & 1000g &100\% & 1000g of 1000g = 100\% \\
|
||||||
\hline
|
water & 600g & 60\% & 600g of 1000g = 60\% \\
|
||||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Percent}} & \multicolumn{1}{l|}{\textbf{Calculation}} \\ \hline
|
sourdough starter & 100g & 10\% & 100g of 1000g = 10\% \\
|
||||||
1000g flour & 100\% & 1000g of 1000g = 100\% \\ \hline
|
salt & 20g & 2\% & 20g of 1000g = 2\% \\ \bottomrule
|
||||||
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{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}rlp{0.5\textwidth}@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\thead{°C / °F} & \thead{Stage} & \thead{Description} \\ \midrule
|
||||||
\begin{tabular}{|l|l|l|}
|
60 / 140 & Sterilization & The temperature is too hot for your microorganisms and they die.\\
|
||||||
\hline
|
75 / 167 & Gel building & A gel builds on the surface persisting your dough's structure.
|
||||||
\textbf{°C °F} & \textbf{Stage} & \textbf{Description} \\ \hline
|
It is still extensible and can spring in the oven.\\
|
||||||
60 - 140 & Sterilization & \begin{tabular}[c]{@{}l@{}}The temperature is too hot for your\\ microorganisms and they die\end{tabular} \\ \hline
|
100 / 212 & Water evaporation & Water begins to evaporate and inflates your dough's alveoli.\\
|
||||||
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
|
118 / 244 & Acetic acid evaporation & The vinegary tasting acid starts to evaporate, sourness decreases.\\
|
||||||
100 - 212 & Water evaporation & \begin{tabular}[c]{@{}l@{}}Water begins to evaporate and\\ inflates your dough's alveoli\end{tabular} \\ \hline
|
122 / 252 & Lactic acid evaporation & The dairy tasting lactic acid begins to evaporate, sourness further decreases.\\
|
||||||
118 - 244 & Acetic acid evaporation & \begin{tabular}[c]{@{}l@{}}The vinegary tasting acid starts\\ to evaporate. The sourness decreases\end{tabular} \\ \hline
|
140 / 284 & Maillard reaction & The maillard reaction starts to deform starches and proteins.
|
||||||
122 - 252 & Lactic acid evaporation & \begin{tabular}[c]{@{}l@{}}The dairy tasting lactic acid begins\\ to evaporate. Sourness further decreases\end{tabular} \\ \hline
|
The dough starts browning.\\
|
||||||
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 & Remaining sugars begin to caramelise giving your bread a distinct flavor.\\ \bottomrule
|
||||||
170 - 338 & Caramelization & \begin{tabular}[c]{@{}l@{}}Remaining sugars begin to caramelise\\ giving your bread a distinct flavor\end{tabular} \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
\input{./vars}
|
%TODO: Not great looking
|
||||||
|
\begin{tabular}{@{}cc@{}}
|
||||||
\begin{document}
|
\toprule
|
||||||
\begin{tabular}{|r|r|}
|
\thead{Flour protein content} & \thead{Relative aliquot size increase} \\ \midrule
|
||||||
\hline
|
8--10\% & 25\% \\
|
||||||
\multicolumn{1}{|l|}{\textbf{Flour protein content}} & \multicolumn{1}{l|}{\textbf{Relative aliquot size increase}} \\ \hline
|
10--12\% & 50\% \\
|
||||||
8-10\% & 25\% \\ \hline
|
12--15\% & 100\% \\
|
||||||
10-12\% & 50\% \\ \hline
|
\textgreater{} 15\% & \textgreater{} 100\% \\ \bottomrule
|
||||||
12-15\% & 100\% \\ \hline
|
|
||||||
\textgreater 15\% & \textgreater 100\% \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,13 +1,27 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}>{\bfseries}p{0.12\textwidth}p{0.273\textwidth}p{0.273\textwidth}p{0.273\textwidth}@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
&\multicolumn{3}{c}{\textbf{Fermentation}}\\
|
||||||
\begin{tabular}{|l|l|l|l|}
|
\cmidrule(rl){2-4}
|
||||||
\hline
|
& \thead{Too short} & \thead{Too long} & \thead{Perfect} \\ \midrule
|
||||||
\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
|
Crumb texture & Unbaked gummy areas towards the bottom of the bread.
|
||||||
\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
|
& Crumb can be perceived as gummy as most gluten broken down.
|
||||||
\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
|
& Crumb evenly baked. Crumb can be perceived as moist, but not gummy.
|
||||||
\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
|
Alveoli & Overly large alveoli in the crumb ``craters''.
|
||||||
\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
|
& Many tiny alveoli equally distributed.
|
||||||
|
& Alveoli evenly distributed, no ``craters''.
|
||||||
|
\\
|
||||||
|
Taste & Pale neutral taste.
|
||||||
|
& Strong acidic flavor profile. Acidity overweighs when tasting.
|
||||||
|
& Balanced flavor profile, not too mild but also not too sour.
|
||||||
|
Depending on starter vinegary or lactic notes.
|
||||||
|
\\
|
||||||
|
Texture & Overall poor texture.
|
||||||
|
& Good consistency, crumb is not as fluffy as it could be.
|
||||||
|
& Great combination of textures.
|
||||||
|
\\
|
||||||
|
Oven spring & Vertical oven spring, mostly due to water evaporating and inflating the dough.
|
||||||
|
& Very flat pancake like structure after baking.
|
||||||
|
& Great vertical oven spring. Dough grows more upwards rather than sideways.
|
||||||
|
\\ \bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
\input{./vars}
|
%TODO: last line is not great
|
||||||
|
-\begin{tabular}{lll}
|
||||||
\begin{document}
|
\toprule
|
||||||
\begin{tabular}{|l|l|l|}
|
& \textbf{Flat breads} & \textbf{Pancakes} \\ \midrule
|
||||||
\hline
|
\textbf{Flour} & 100g & 100g \\
|
||||||
& \textbf{Flat breads} & \textbf{Pancakes} \\ \hline
|
\textbf{Water} & 100g (100\%) & 300g (300\%) \\
|
||||||
\textbf{Flour} & 100g & 100g \\ \hline
|
\textbf{Sourdough starter} & 5--20g (5--20\%) & 5--20g (5--20\%) \\
|
||||||
\textbf{Water} & 100g (100\%) & 300g (300\%) \\ \hline
|
\textbf{Salt} & 2g (2\%) & 2g (2\%) \\
|
||||||
\textbf{Sourdough starter} & 5-20g (5-20\%) & 5-20g (5-20\%) \\ \hline
|
\textbf{Bake when?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \bottomrule
|
||||||
\textbf{Salt} & 2g (2\%) & 2g (2\%) \\ \hline
|
\bottomrule
|
||||||
\textbf{When bake?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,13 +1,9 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}llrrr@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\thead{USA} & \thead{UK} & {\thead{Germany}} & {\thead{France}} & {\thead{Italy}} \\ \midrule
|
||||||
\begin{tabular}{|l|l|r|r|r|}
|
Cake & Soft flour & T405 & T45 & 00 \\
|
||||||
\hline
|
All purpose & Plain flour & T550 & T55 & 0 \\
|
||||||
\textbf{USA} & \textbf{UK} & \multicolumn{1}{l|}{\textbf{Germany}} & \multicolumn{1}{l|}{\textbf{France}} & \multicolumn{1}{l|}{\textbf{Italy}} \\ \hline
|
& & T812 & T80 & 1 \\
|
||||||
Cake & Soft flour & T405 & T45 & 00 \\ \hline
|
& & T1050 & T110 & 2 \\
|
||||||
All purpose & Plain flour & T550 & T55 & 0 \\ \hline
|
Whole & Whole & Vollkorn & T150 & Integrale \\ \bottomrule
|
||||||
& & T812 & T80 & 1 \\ \hline
|
|
||||||
& & T1050 & T110 & 2 \\ \hline
|
|
||||||
Whole & Whole & Vollkorn & T150 & Integrale \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,16 +1,12 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}>{\bfseries}lcccc@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\thead{Grain type} & \thead{Homogenize} & \thead{Knead} & \thead{Stretch \& Fold} & \thead{Shape} \\ \midrule
|
||||||
\begin{tabular}{|l|l|l|l|l|}
|
Wheat & Yes & Yes & Yes & Yes \\
|
||||||
\hline
|
\textgreater{}~70\% Wheat & Yes & Yes & Yes & Yes \\
|
||||||
\textbf{Grain type} & \textbf{Homogenize} & \textbf{Knead} & \textbf{Stretch \& Fold} & \textbf{Shape} \\ \hline
|
Spelt & Yes & Yes & Yes & Yes \\
|
||||||
\textbf{Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
Rye & Yes & No & No & No \\
|
||||||
\textbf{\textgreater 70\% Wheat} & Yes & Yes & Yes & Yes \\ \hline
|
Emmer & Yes & No & No & No \\
|
||||||
\textbf{Spelt} & Yes & Yes & Yes & Yes \\ \hline
|
Einkorn & Yes & No & No & No \\
|
||||||
\textbf{Rye} & Yes & No & No & No \\ \hline
|
Rice & Yes & No & No & No \\
|
||||||
\textbf{Emmer} & Yes & No & No & No \\ \hline
|
Corn & Yes & No & No & No \\ \bottomrule
|
||||||
\textbf{Einkorn} & Yes & No & No & No \\ \hline
|
|
||||||
\textbf{Rice} & Yes & No & No & No \\ \hline
|
|
||||||
\textbf{Corn} & Yes & No & No & No \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
\input{./vars}
|
% TODO: Not great Looking...
|
||||||
|
\begin{tabular}{@{}p{0.25\textwidth}ccc@{}}
|
||||||
\begin{document}
|
\toprule
|
||||||
\begin{tabular}{|l|l|l|l|}
|
\thead{Oven type} & \thead{Plain (no tools)} & \thead{Inverted tray} & \thead{Dutch oven} \\ \midrule
|
||||||
\hline
|
Gas & No & No & Yes \\
|
||||||
\textbf{Oven type} & \textbf{Plain (no tools)} & \textbf{Inverted tray} & \textbf{Dutch oven} \\ \hline
|
Convection (Fan always on) & No & No & Yes \\
|
||||||
Gas & No & No & Yes \\ \hline
|
Convection (Fan can be disabled) & No & Yes & Yes \\
|
||||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan always on)\end{tabular} & No & No & Yes \\ \hline
|
Steam & Yes & Yes & Yes \\
|
||||||
\begin{tabular}[c]{@{}l@{}}Convection\\ (Fan can be disabled)\end{tabular} & No & Yes & Yes \\ \hline
|
\bottomrule
|
||||||
Steam & Yes & Yes & Yes \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
\input{./vars}
|
% TODO
|
||||||
|
\begin{tabular}{@{}>{\bfseries}p{0.17\textwidth}ccc@{}}
|
||||||
\begin{document}
|
\toprule
|
||||||
\begin{tabular}{|l|l|l|l|}
|
& \thead{Flatbread} & \thead{Loaf pan bread} & \thead{Free standing bread} \\ \midrule
|
||||||
\hline
|
Cooking method & Fire, pan, barbecue & Oven & Oven \\
|
||||||
& \textbf{Flatbread} & \textbf{Loaf pan bread} & \textbf{Free standing bread} \\ \hline
|
Working time (min.) & 3 & 5 & 60 \\
|
||||||
\textbf{Cooking method} & Fire, pan, barbecue & Oven & Oven \\ \hline
|
Flour types & All & All & Gluten flours \\
|
||||||
\textbf{Working time in minutes} & 3 & 5 & 60 \\ \hline
|
Difficulty & Very easy & Easy & Difficult \\
|
||||||
\textbf{Flour types} & All & All & Gluten flours \\ \hline
|
Cost & Low & Medium & High \\ \bottomrule
|
||||||
\textbf{Difficulty} & Very easy & Easy & Difficult \\ \hline
|
|
||||||
\textbf{Cost} & Low & Medium & High \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}rcll@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\thead{W-Value} & \thead{Hydration (\%)} & \thead{Uses} & \thead{Fermentation time} \\ \midrule
|
||||||
\begin{tabular}{|l|r|l|r|}
|
0--150 & 50 & Cookies & Very short\\
|
||||||
\hline
|
150--250 & 50--60 & Cakes, Bread, Pizza & Short-Medium\\
|
||||||
\textbf{W-Value} & \multicolumn{1}{l|}{\textbf{Hydration in \%}} & \textbf{Uses} & \multicolumn{1}{l|}{\textbf{Fermentation times}} \\ \hline
|
250--350 & 60--70 & Bread, Pizza & Long \\
|
||||||
0-150 & 50 & Cookies & Very short \\ \hline
|
350+ & 70--90 & Bread, Pizza & Very long \\ \bottomrule
|
||||||
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{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,15 +1,11 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}lr@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\textbf{Step} & {\textbf{pH Value}} \\ \midrule
|
||||||
\begin{tabular}{|l|r|}
|
Starter ready & 4.20 \\
|
||||||
\hline
|
Mixing & 6.00 \\
|
||||||
\textbf{Step} & \multicolumn{1}{l|}{\textbf{pH Value}} \\ \hline
|
Dividing/preshaping & 4.10 \\
|
||||||
Starter ready & 4.20 \\ \hline
|
Shaping & 4.05 \\
|
||||||
Mixing & 6.00 \\ \hline
|
Before proofing & 4.03 \\
|
||||||
Dividing/preshaping & 4.10 \\ \hline
|
After proofing & 3.80 \\
|
||||||
Shaping & 4.05 \\ \hline
|
After baking & 3.90 \\ \bottomrule
|
||||||
Before proofing & 4.03 \\ \hline
|
|
||||||
After proofing & 3.80 \\ \hline
|
|
||||||
After baking & 3.90 \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}lrr@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
\thead{Ingredient} & \thead{Baker's math} & \thead{Calculated value} \\ \midrule
|
||||||
\begin{tabular}{|l|r|r|}
|
Flour & 100\% & $1400 \times 1$ = 1400g \\
|
||||||
\hline
|
Water & 60\% & $1400 \times 0.6$ = 840g \\
|
||||||
\textbf{Ingredient} & \multicolumn{1}{l|}{\textbf{Baker's math}} & \multicolumn{1}{l|}{\textbf{Calculated value}} \\ \hline
|
Sourdough starter & 10\% & $1400 \times 0.1$ = 140g \\
|
||||||
Flour & 100\% & 1400*1 = 1400g \\ \hline
|
Salt & 2\% & $1400 \times 0.02$ = 28g \\ \bottomrule
|
||||||
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{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}lclll@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
& & &\multicolumn{2}{c}{\textbf{Activity}}\\
|
||||||
\begin{tabular}{|l|l|l|r|l|}
|
\cmidrule(rl){4-5}
|
||||||
\hline
|
\thead{Starter type} & \thead{Hydration (\%)} & \thead{Flour type} & \thead{Yeast} & \thead{Bacterial} \\ \midrule
|
||||||
\textbf{Starter type} & \textbf{Hydration in \%} & \textbf{Flour type} & \multicolumn{1}{l|}{\textbf{Yeast activity}} & \textbf{Bacterial activity} \\ \hline
|
Regular & 100 & Strong wheat & Balanced & Balanced \\
|
||||||
Regular & 100 & Strong wheat flour & Balanced & Balanced \\ \hline
|
Liquid & 500 & Very strong wheat & Minimal & High \\
|
||||||
Liquid & 500 & Very strong wheat flour & Minimal & High \\ \hline
|
Stiff & 50--60 & All wheat & High & Low \\
|
||||||
Stiff & 50-60 & All wheat flour & High & Low \\ \hline
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}ccr@{}}
|
||||||
|
\toprule
|
||||||
\begin{document}
|
&\multicolumn{2}{c}{\textbf{Starter}}\\
|
||||||
\begin{tabular}{|l|l|l|l|}
|
\cmidrule(rl){2-3}
|
||||||
\hline
|
\thead{°C / °F} & \thead{Recently fed?} & \thead{Amount (\%)} \\ \midrule
|
||||||
\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 \\
|
||||||
30 & 86 & Yes & 5 \\ \hline
|
25 / 77 & Yes & 10 \\
|
||||||
25 & 77 & Yes & 10 \\ \hline
|
20 / 68 & Yes & 15 \\
|
||||||
20 & 68 & Yes & 15 \\ \hline
|
30 / 86 & No & 2.5\\
|
||||||
30 & 86 & No & 2.5 \\ \hline
|
25 / 77 & No & 5 \\
|
||||||
25 & 77 & No & 5 \\ \hline
|
20 / 68 & No & 10 \\ \bottomrule
|
||||||
20 & 68 & No & 10 \\ \hline
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1,12 +1,18 @@
|
|||||||
\input{./vars}
|
\begin{tabular}{@{}>{\bfseries}p{0.3\textwidth}p{0.3\textwidth}p{0.3\textwidth}@{}}
|
||||||
|
\toprule
|
||||||
|
\thead{Method} & \thead{Advantages} & \thead{Disadvantages} \\ \midrule
|
||||||
|
Room temperature & The easiest option. Best for bread that is eaten within a day.
|
||||||
|
Crust typically stays crisp when humidity not too high.
|
||||||
|
& Bread dries out very quickly.\\
|
||||||
|
|
||||||
\begin{document}
|
Room temperature in container & Good for up to a week. Catches mold more quickly.
|
||||||
\begin{tabular}{|l|l|l|}
|
& Bread needs to be toasted for crust to become crisp again.\\
|
||||||
\hline
|
|
||||||
\textbf{Method} & \textbf{Advantages} & \textbf{Disadvantages} \\ \hline
|
Fridge & Bread stays good for weeks. Can dry out a little bit when not using air-tight container.
|
||||||
\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
|
& Bread needs to be toasted. Requires fridge and energy.\\
|
||||||
\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
|
Freezer & Bread stays good for years.
|
||||||
\textbf{Freezer} & Bread stays good for years. & \begin{tabular}[c]{@{}l@{}}Requires thawing and then\\ toasting. Requires freezer and\\ energy.\end{tabular} \\ \hline
|
& Requires thawing and then toasting. Requires freezer and energy.\\
|
||||||
|
|
||||||
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{document}
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
\documentclass{standalone}
|
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
\Configure{DocumentLanguage}{en}
|
\Configure{DocumentLanguage}{en}
|
||||||
\Configure{OpfScheme}{URI}
|
\Configure{OpfScheme}{URI}
|
||||||
\Configure{UniqueIdentifier}{https://the-bread-code.io}
|
\Configure{UniqueIdentifier}{https://the-bread-code.io}
|
||||||
|
\Configure{AddCss}{book-ebook.css}
|
||||||
\Configure{CoverMimeType}{image/jpeg}
|
\Configure{CoverMimeType}{image/jpeg}
|
||||||
\CoverMetadata{images/cover-page.jpg}
|
\CoverMetadata{images/cover-page.jpg}
|
||||||
\EndPreamble
|
\EndPreamble
|
||||||
|
|||||||
@@ -10,19 +10,20 @@ amylase and protease enzymes work faster, making more
|
|||||||
sugars available and degrading the gluten proteins.
|
sugars available and degrading the gluten proteins.
|
||||||
|
|
||||||
At around 22°C (72°F) in my kitchen my bulk fermentation is ready
|
At around 22°C (72°F) in my kitchen my bulk fermentation is ready
|
||||||
after around 10 hours. I am using around 20 percent of sourdough
|
after around 10 hours. I use around 20 percent of sourdough
|
||||||
starter based on the flour. In summertime the temperatures
|
starter based on the flour. In summertime the temperatures
|
||||||
in my kitchen sometimes increase to 25°C (77°F). In that case
|
in my kitchen sometimes increase to 25°C (77°F). In that case
|
||||||
I am reducing the sourdough starter to around 10 percent.
|
I reduce the sourdough starter to around 10 percent.
|
||||||
|
|
||||||
If I didn't do that, my fermentation would be done after
|
If I didn't do that, my fermentation would be done after
|
||||||
around 4-7 hours. The problem is that the dough is quite
|
around 4-7 hours. The problem is that the dough is quite
|
||||||
unstable when fermenting at this high speed. This means
|
unstable when fermenting at this high speed. This means
|
||||||
that you are easily running into issues of over-fermentation.
|
that you easily run into issues of over-fermentation.
|
||||||
Finding the perfect sweet spot between fermenting enough
|
Finding the perfect sweet spot between fermenting enough
|
||||||
and not too much is becoming much harder. Normally you might
|
and not too much becomes much harder. Normally you might
|
||||||
have a time window of 1 hour. But at the rapid speed it
|
have a time window of 1 hour. But at the rapid speed it
|
||||||
might be reduced to a time window of 20 minutes. Now at
|
might be reduced to a time window of 20 minutes. Now at
|
||||||
30°C (86°F), ambient temperature things are much faster. Your bulk
|
30°C (86°F), everything moves much faster. Your bulk
|
||||||
fermentation might be complete in 2-4 hours when using
|
fermentation might be complete in 2-4 hours when using
|
||||||
10-20 percent starter. Proofing your dough in the fridge
|
10-20 percent starter. Proofing your dough in the fridge
|
||||||
becomes almost impossible. As your dough cools down in the
|
becomes almost impossible. As your dough cools down in the
|
||||||
@@ -34,7 +35,7 @@ end up overproofing your dough if you leave it overnight
|
|||||||
in the fridge.
|
in the fridge.
|
||||||
|
|
||||||
That's why I recommend that you reduce the amount of starter
|
That's why I recommend that you reduce the amount of starter
|
||||||
that you use in the tropics to something at around 1-5 percent
|
that you use in the tropics to around 1-5 percent
|
||||||
based on the flour. This will slow down the fermentation
|
based on the flour. This will slow down the fermentation
|
||||||
process significantly and provides you a bigger window
|
process significantly and provides you a bigger window
|
||||||
of time. Try to aim for an overall bulk fermentation of at
|
of time. Try to aim for an overall bulk fermentation of at
|
||||||
@@ -42,16 +43,19 @@ least 8-10 hours. Reduce the amount of starter to get there.
|
|||||||
|
|
||||||
When making dough, try to use the same water temperature
|
When making dough, try to use the same water temperature
|
||||||
as your ambient temperature. Assuming that the temperature
|
as your ambient temperature. Assuming that the temperature
|
||||||
will climb to 30°C, try to start your dough directly
|
will climb to 30°C, try to start your dough
|
||||||
with 30°C water. This means that you can carefully rely on
|
with 30°C water. This means that you can carefully rely on
|
||||||
a small fermentation sample that visualizes your fermentation
|
a small fermentation sample (aliquot jar) that visualizes your fermentation
|
||||||
progress. The sample only works reliably if your dough temperature
|
progress. To read more about this technique refer
|
||||||
|
to section \ref{section:bulk-fermentation}.
|
||||||
|
|
||||||
|
The sample only works reliably if your dough temperature
|
||||||
is equal to your ambient temperature. Else the sample heats
|
is equal to your ambient temperature. Else the sample heats
|
||||||
up or cools down faster. So tread carefully when using
|
up or cools down faster. So tread carefully when using
|
||||||
the sample in this case. It's always better to stop
|
the sample in this case. It's always better to stop
|
||||||
the fermentation a little too early rather than too late.
|
the fermentation a little too early rather than too late.
|
||||||
Stretch and folds during the bulk fermentation
|
Stretch and folds during the bulk fermentation
|
||||||
will help you to develop a better look and feel for
|
will help you to develop a better feel for
|
||||||
the dough. An expensive but possibly useful tool
|
the dough. An expensive but possibly useful tool
|
||||||
could be a pH meter that allows you to perfectly
|
could be a pH meter that allows you to perfectly
|
||||||
measure how much acidity has been created by the
|
measure how much acidity has been created by the
|
||||||
@@ -74,17 +78,17 @@ great oven spring when making wheat based doughs. When
|
|||||||
starting with this hobby I always wondered why my rye
|
starting with this hobby I always wondered why my rye
|
||||||
breads would turn out so flat. Yes, rye has gluten, but
|
breads would turn out so flat. Yes, rye has gluten, but
|
||||||
small particles called {\it hemicelluloses} (arabinoxylan and beta-glucan) \cite{rye-defects}.
|
small particles called {\it hemicelluloses} (arabinoxylan and beta-glucan) \cite{rye-defects}.
|
||||||
prevent the dough from developing a gluten network like you can
|
prevent the dough from developing a gluten network it can
|
||||||
do with wheat. Your efforts are in vain, and your dough will
|
with wheat. Your efforts will be in vain, and your dough will
|
||||||
stay flat. Only spelt- and wheat-based doughs have the capability
|
stay flat. Only spelt- and wheat-based doughs have the capability
|
||||||
to retain the \ch{CO2} created by the fermentation.
|
of retaining the \ch{CO2} created by the fermentation.
|
||||||
|
|
||||||
In most cases something is probably off with your
|
In most cases something is probably off with your
|
||||||
sourdough starter. This very often happens when the starter
|
sourdough starter. This very often happens when the starter
|
||||||
is still relatively young and hasn't yet matured
|
is still relatively young and isn't as capable of
|
||||||
at fermenting flour. Over time your sourdough
|
fermenting flour. Over time your sourdough
|
||||||
starter is going to become better and better at fermenting
|
starter is going to become better and better.
|
||||||
flour. Keep your sourdough starter at room temperature
|
Keep your sourdough starter at room temperature
|
||||||
and then apply daily feedings with a 1:5:5 ratio.
|
and then apply daily feedings with a 1:5:5 ratio.
|
||||||
This would be 1 part old starter, 5 parts flour,
|
This would be 1 part old starter, 5 parts flour,
|
||||||
5 parts water. This allows you to achieve a better
|
5 parts water. This allows you to achieve a better
|
||||||
@@ -139,9 +143,11 @@ experience, most of my pure rye starters produced stronger acetic
|
|||||||
notes. Chemically, the acetic acid isn't as sour, but when tasting
|
notes. Chemically, the acetic acid isn't as sour, but when tasting
|
||||||
it will seem more sour. Make sure to use a starter that is at
|
it will seem more sour. Make sure to use a starter that is at
|
||||||
a hydration of around 100 percent. Acetic acid production
|
a hydration of around 100 percent. Acetic acid production
|
||||||
requires oxygen. A too-liquid starter tends to favor lactic
|
requires oxygen. A starter that is too liquid tends to favor lactic
|
||||||
acid production because the flour is submerged in water, no
|
acid production because the flour is submerged in water. By submerging
|
||||||
oxygen can reach the fermentation after a while.
|
the dough very little oxygen can pass through the water to the fermenting flour.
|
||||||
|
Because of this, only very little acetic acid can be produced. Over
|
||||||
|
time the acetic acid-producing bacteria will perish from your starter.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{parbaked-bread.jpg}
|
\includegraphics[width=\textwidth]{parbaked-bread.jpg}
|
||||||
@@ -157,8 +163,8 @@ to customers. Once you receive it, you just bake it again
|
|||||||
for another 20-30 minutes to achieve the desired crust and
|
for another 20-30 minutes to achieve the desired crust and
|
||||||
then you can eat it. Some of the customers reported a very sour
|
then you can eat it. Some of the customers reported a very sour
|
||||||
tasting bread. After investigating a bit more, it became
|
tasting bread. After investigating a bit more, it became
|
||||||
crystal clear. By baking the bread twice you don't boil
|
crystal clear. By baking the bread twice you don't boil off
|
||||||
as much of the acid during the baking process. Water
|
as much acid during the baking process. Water
|
||||||
evaporates at around 100°C (212°F) while acetic acid boils at
|
evaporates at around 100°C (212°F) while acetic acid boils at
|
||||||
118°C (244°F) and lactic acid at 122°C (252°F). After baking for 30 minutes
|
118°C (244°F) and lactic acid at 122°C (252°F). After baking for 30 minutes
|
||||||
at around 230°C (446°F) some of the water has started to evaporate,
|
at around 230°C (446°F) some of the water has started to evaporate,
|
||||||
@@ -175,9 +181,13 @@ exceed the 118°C required to boil the acid. Overall, your
|
|||||||
bread will be more sour. The enhanced acidity also helps
|
bread will be more sour. The enhanced acidity also helps
|
||||||
to prevent pathogens from entering your bread. The bread
|
to prevent pathogens from entering your bread. The bread
|
||||||
will be good for a longer period of time. That's why
|
will be good for a longer period of time. That's why
|
||||||
the concept of a delivery works well with sour sourdough bread.
|
the concept of a delivery bakery works well with tangy sourdough bread.
|
||||||
In my experiments the bread stayed good for up to a week
|
In my own experiments, the bread stayed good for up to a week
|
||||||
in a plastic bag.
|
in a plastic bag. This is much longer than a yeast-based dough that might
|
||||||
|
mold after just a few days. \footnote{Some of my first test customers however
|
||||||
|
reported that the bread was overly sour and not pleasant to eat at all.
|
||||||
|
When this happens to you, consider toasting the bread. Toasting
|
||||||
|
will boil off additional acidity.}
|
||||||
|
|
||||||
\section{My bread is too sour}
|
\section{My bread is too sour}
|
||||||
|
|
||||||
@@ -199,17 +209,18 @@ once per day at room temperature. This way you shift
|
|||||||
the tides of your starter towards a better yeast fermentation \cite*{more+active+starter}.
|
the tides of your starter towards a better yeast fermentation \cite*{more+active+starter}.
|
||||||
|
|
||||||
To shift the tides even further, a real game changer
|
To shift the tides even further, a real game changer
|
||||||
to me has been to create a stiff sourdough starter. The
|
for me has been to create a stiff sourdough starter. The
|
||||||
stiff sourdough starter is at a hydration of around 50 percent.
|
stiff sourdough starter is at a hydration of around 50 percent.
|
||||||
By doing so your sourdough starter will favor yeast
|
By doing so your sourdough starter will favor yeast
|
||||||
activity a lot more. Your doughs will be more fluffy and will
|
activity a lot more. Your doughs will be more fluffy and less
|
||||||
not as sour for a given volume increase. I tested this
|
sour for a given volume increase. I tested this
|
||||||
by putting condoms over different glass jars. I used
|
by putting balloons over different glass jars. I used
|
||||||
the same amount of flour for each of the samples.
|
the same amount of flour for each of the samples.
|
||||||
I tested a regular starter, a liquid starter and a stiff
|
I tested a regular starter, a liquid starter and a stiff
|
||||||
starter. The stiff starter by far created the most \ch{CO2}
|
starter. The stiff starter by far created the most \ch{CO2}
|
||||||
compared to the other starters. The balloons were inflated
|
compared to the other starters. As a consequence, the stiff
|
||||||
the most. \cite{stiff+starter}
|
starter balloon was inflated the most. \cite{stiff+starter} You can read more
|
||||||
|
about the topic of stiff starters in section \ref{section:stiff-starter}.
|
||||||
|
|
||||||
Another unconventional approach could be to add baking
|
Another unconventional approach could be to add baking
|
||||||
powder to your dough. The baking powder neutralizes the
|
powder to your dough. The baking powder neutralizes the
|
||||||
@@ -233,11 +244,11 @@ mold spores. When beginning a sourdough starter, all
|
|||||||
the microorganisms start to compete by metabolizing the
|
the microorganisms start to compete by metabolizing the
|
||||||
flour. Mold can sometimes win the race and outcompete
|
flour. Mold can sometimes win the race and outcompete
|
||||||
the natural wild yeast and bacteria. In that case simply
|
the natural wild yeast and bacteria. In that case simply
|
||||||
try cultivating your sourdough starter again. If it molds
|
try cultivating your sourdough starter again. If mold reappears
|
||||||
again, it might be a very moldy batch of flour. Try a different
|
again, it might be a very moldy batch of flour. Try a different
|
||||||
flour to begin your sourdough starter with.
|
flour to begin your sourdough starter with.
|
||||||
|
|
||||||
Mature sourdough starters should not mold unless the conditions
|
Mature sourdough starters should not go moldy unless the conditions
|
||||||
of the starter change. I have seen mold appearing when the starter is stored
|
of the starter change. I have seen mold appearing when the starter is stored
|
||||||
in the fridge and the surface dried out. It also sometimes forms on the
|
in the fridge and the surface dried out. It also sometimes forms on the
|
||||||
edges of your starter's container, typically in areas where no active
|
edges of your starter's container, typically in areas where no active
|
||||||
@@ -269,7 +280,7 @@ metabolites that inhibit mold growth. \cite{mold+lactic+acid+bacteria}
|
|||||||
|
|
||||||
To pickle your starter, simply take a bit of your existing starter (5 grams for
|
To pickle your starter, simply take a bit of your existing starter (5 grams for
|
||||||
instance). Then feed the mixture with 20g of flour and 100g of water. You have
|
instance). Then feed the mixture with 20g of flour and 100g of water. You have
|
||||||
created a starter a hydration of around 500 percent. Shake the mixture vigorously.
|
created a starter with a hydration of around 500 percent. Shake the mixture vigorously.
|
||||||
After a few hours you should start seeing most of the flour near the bottom
|
After a few hours you should start seeing most of the flour near the bottom
|
||||||
of your container. After a while most of the oxygen from the bottom mixture
|
of your container. After a while most of the oxygen from the bottom mixture
|
||||||
is depleted and anaerobic lactic acid bacteria will start to thrive. Take a
|
is depleted and anaerobic lactic acid bacteria will start to thrive. Take a
|
||||||
@@ -296,8 +307,12 @@ has consumed most of your gluten network. That's why your
|
|||||||
dough fully collapses and stays flat during the bake. The
|
dough fully collapses and stays flat during the bake. The
|
||||||
\ch{CO2} and evaporating water will diffuse out of the dough.
|
\ch{CO2} and evaporating water will diffuse out of the dough.
|
||||||
A related symptom is that your dough sticks to the banneton.
|
A related symptom is that your dough sticks to the banneton.
|
||||||
When starting baking I combated this with rice flour.
|
When I starting baking I combated this with rice flour.
|
||||||
It works but might be a false friend. I gently rub my
|
It worked for me but it might be a false find. Please refer to
|
||||||
|
section \ref{sec:overfermented-dough} for more details on why
|
||||||
|
rice flour is not a good idea to manage sticky doughs.
|
||||||
|
|
||||||
|
These days I gently rub my
|
||||||
dough with a bit of non-rice flour before placing it in
|
dough with a bit of non-rice flour before placing it in
|
||||||
the banneton. Now if the dough starts to stick to the banneton
|
the banneton. Now if the dough starts to stick to the banneton
|
||||||
while I remove it I resort to a drastic measure. I immediately
|
while I remove it I resort to a drastic measure. I immediately
|
||||||
@@ -451,15 +466,15 @@ accelerated by my using whole wheat flour. Whole wheat
|
|||||||
contains more enzymes than white flour.
|
contains more enzymes than white flour.
|
||||||
|
|
||||||
To fix this, try to make sure that your sourdough starter is lively
|
To fix this, try to make sure that your sourdough starter is lively
|
||||||
and active. Simply apply a couple of more feedings in advance before
|
and active. Simply apply a couple more feedings before
|
||||||
making your dough. This way your dough becomes ready to shape
|
making your dough. This way your dough becomes ready to shape
|
||||||
before it has completely broken down.
|
before it has completely broken down.
|
||||||
|
|
||||||
\section{My sourdough starter is too sour}
|
\section{My sourdough starter is too sour}
|
||||||
|
|
||||||
A too-sour sourdough starter will cause problems during
|
If your sourdough starter is too sour it will cause problems during
|
||||||
the fermentation. Your fermentation will be more on the
|
the fermentation. Your fermentation will have more
|
||||||
bacterial side, rather than the yeast side. This means
|
bacterial activity than yeast activity. This means
|
||||||
you will likely create a more tangy loaf which isn't
|
you will likely create a more tangy loaf which isn't
|
||||||
as fluffy as it could be. The goal is to reach the right
|
as fluffy as it could be. The goal is to reach the right
|
||||||
balance: Fluffy consistency from the yeast and a great,
|
balance: Fluffy consistency from the yeast and a great,
|
||||||
@@ -478,8 +493,8 @@ the amount of old starter that you use to feed. A ratio
|
|||||||
of 1:5:5 or 1:10:10 can do wonders. In this case you would
|
of 1:5:5 or 1:10:10 can do wonders. In this case you would
|
||||||
take 1 part of starter (10g) and feed it with 50g of flour
|
take 1 part of starter (10g) and feed it with 50g of flour
|
||||||
and 50g of water. This way the microorganisms start
|
and 50g of water. This way the microorganisms start
|
||||||
the fermentation in a green field environment. This is
|
the fermentation in a greenfield environment. This is
|
||||||
similar to the 10 percent starter of 20 percent starter
|
similar to the 10 percent starter or 20 percent starter
|
||||||
ratio that you use to make a dough. These days I almost
|
ratio that you use to make a dough. These days I almost
|
||||||
never use a 1:1:1 ratio. This only makes sense when you
|
never use a 1:1:1 ratio. This only makes sense when you
|
||||||
are initially creating your starter. You want a sour
|
are initially creating your starter. You want a sour
|
||||||
@@ -681,7 +696,7 @@ them you can cook the seeds for 10 minutes in hot water. Rinse them with cold
|
|||||||
water before adding them to your dough.
|
water before adding them to your dough.
|
||||||
|
|
||||||
If you want to sweeten the dough, your best option is to add sugar during the
|
If you want to sweeten the dough, your best option is to add sugar during the
|
||||||
shaping stage. Initial sugar is typically fermented and no residual sugar
|
shaping stage. Sugar added too early in the process typically gets fermented until none of it
|
||||||
remains. Adjust your shaping technique a little bit and spread your sugar
|
remains. Adjust your shaping technique a little bit and spread your sugar
|
||||||
mixture over a flattened-out dough. You can then roll the dough together,
|
mixture over a flattened-out dough. You can then roll the dough together,
|
||||||
incorporating layers of sugar.
|
incorporating layers of sugar.
|
||||||
|
|||||||
@@ -502,10 +502,13 @@ 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
|
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.
|
environment and thus reduce the speed at which your microorganisms replicate.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-starter-usage-activity.pdf}
|
\begin{center}
|
||||||
\caption{A table visualizing how much sourdough starter to use depending on temperature and the starter's activity level}
|
\input{tables/table-starter-usage-activity.tex}
|
||||||
\end{figure}
|
\caption{A table visualizing how much sourdough starter to use
|
||||||
|
depending on temperature and the starter's activity level}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
Based on my experience and my sourdough, my ideal bread always takes around 8
|
Based on my experience and my sourdough, my ideal bread always takes around 8
|
||||||
to 12 hours during bulk fermentation. Based on my availability throughout
|
to 12 hours during bulk fermentation. Based on my availability throughout
|
||||||
@@ -725,10 +728,13 @@ the dough more toward a longer fermentation. The
|
|||||||
flavor of the resulting bread is better compared to a pale
|
flavor of the resulting bread is better compared to a pale
|
||||||
underfermented dough.
|
underfermented dough.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-fermentation-effects.pdf}
|
\begin{center}
|
||||||
\caption{The different stages of sourdough fermentation and the effects on crumb, alveoli, texture, and overall taste.}
|
\input{tables/table-fermentation-effects.tex}
|
||||||
\end{figure}
|
\caption{The different stages of sourdough fermentation and the
|
||||||
|
effects on crumb, alveoli, texture, and overall taste.}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
The worst thing you can do when fermenting sourdough
|
The worst thing you can do when fermenting sourdough
|
||||||
is to rely on a recipe's timing suggestions. In 99 percent
|
is to rely on a recipe's timing suggestions. In 99 percent
|
||||||
@@ -781,10 +787,13 @@ I recommend beginning with a size increase of 25 percent and testing
|
|||||||
up to 100 percent with subsequent bakes. Then identify a value
|
up to 100 percent with subsequent bakes. Then identify a value
|
||||||
that you are happy with.
|
that you are happy with.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-dough-size-increase.pdf}
|
\begin{center}
|
||||||
\caption{Reference values for how much size increase to aim for with an aliquot jar depending on the dough's protein content}
|
\input{tables/table-dough-size-increase.tex}
|
||||||
\end{figure}
|
\caption{Reference values for how much size increase to aim for with
|
||||||
|
an aliquot jar depending on the dough's protein content}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
The beauty of the aliquot is that no matter the surrounding
|
The beauty of the aliquot is that no matter the surrounding
|
||||||
temperature, you will always know when your dough is ready.
|
temperature, you will always know when your dough is ready.
|
||||||
@@ -858,11 +867,13 @@ you can use them as a reference for your next batch. If the
|
|||||||
bread didn't turn out the way you like, either shorten
|
bread didn't turn out the way you like, either shorten
|
||||||
the fermentation or extend it a little bit.
|
the fermentation or extend it a little bit.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{table}[!htb]
|
||||||
\includegraphics{tables/table-ph-values-dough.pdf}
|
\begin{center}
|
||||||
\caption{Example pH values for the different breakpoints of my own sourdough process}
|
\input{tables/table-ph-values-dough.tex}
|
||||||
\label{table:sample-ph-values}
|
\caption{Example pH values for the different breakpoints of my own sourdough process}
|
||||||
\end{figure}
|
\label{table:sample-ph-values}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
The beauty of this method is its reliability. Once you have found
|
The beauty of this method is its reliability. Once you have found
|
||||||
out your good working values, you can reproduce
|
out your good working values, you can reproduce
|
||||||
|
|||||||
12
makefile
12
makefile
@@ -1,10 +1,10 @@
|
|||||||
.PHONY: build_book
|
PHONY: build_pdf
|
||||||
build_book: build_docker_image
|
build_pdf: build_docker_image
|
||||||
docker run -it -v .:/opt/repo the-sourdough-framework /bin/bash -c "cd /opt/repo/book && make build_pdf"
|
docker run -it -v $(PWD):/opt/repo the-sourdough-framework /bin/bash -c "cd /opt/repo/book && make build_pdf"
|
||||||
|
|
||||||
.PHONY: release
|
.PHONY: bake
|
||||||
release: build_docker_image
|
bake: build_docker_image
|
||||||
docker run -it -v .:/opt/repo the-sourdough-framework /bin/bash -c "cd /opt/repo/book && make release"
|
docker run -it -v $(PWD):/opt/repo the-sourdough-framework /bin/bash -c "cd /opt/repo/book && make bake"
|
||||||
|
|
||||||
.PHONY: build_docker_image
|
.PHONY: build_docker_image
|
||||||
build_docker_image:
|
build_docker_image:
|
||||||
|
|||||||
Reference in New Issue
Block a user