Compare commits
378 Commits
Last_MIT
...
cef0d9c8f7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cef0d9c8f7 | ||
|
|
656404782a | ||
|
|
ea75a1ac8a | ||
|
|
9e4e03bcfa | ||
|
|
b783b1e274 | ||
|
|
fb5f526b2f | ||
|
|
8b83e1c5b6 | ||
|
|
25f91cd7a1 | ||
|
|
5bb5d8a48a | ||
|
|
f64fc55977 | ||
|
|
3e02af03ad | ||
|
|
7da9f5b0ad | ||
|
|
19df1546f0 | ||
|
|
6b1d2c3de6 | ||
|
|
b2db06da5b | ||
|
|
47c2367e29 | ||
|
|
09e6e57bcc | ||
|
|
227740c5eb | ||
|
|
01a4d1d873 | ||
|
|
75357db7bb | ||
|
|
502a3f45c6 | ||
|
|
4c01b54039 | ||
|
|
f398c22843 | ||
|
|
b2a016ad10 | ||
|
|
680e91b9c1 | ||
|
|
8fa4869f23 | ||
|
|
3563f7a74a | ||
|
|
efc999f2c7 | ||
|
|
f77ff0fba5 | ||
|
|
8fce8a5abd | ||
|
|
c66e80161d | ||
|
|
9e70d91066 | ||
|
|
64d0ca53a6 | ||
|
|
2fa1e39f83 | ||
|
|
af5285efb1 | ||
|
|
f63d444c33 | ||
|
|
28affc645a | ||
|
|
7db993a176 | ||
|
|
a57da7815a | ||
|
|
3e602fa71f | ||
|
|
cbf67246e5 | ||
|
|
263eb74afe | ||
|
|
e0b99edff6 | ||
|
|
62880e7ff2 | ||
|
|
157cbb03b7 | ||
|
|
d37e2aa4bc | ||
|
|
9eaff81c49 | ||
|
|
6a2b334c2a | ||
|
|
14e1e7ae2e | ||
|
|
1b5d23a348 | ||
|
|
98a3360348 | ||
|
|
1b90bf669b | ||
|
|
427dcbfa37 | ||
|
|
eea69bb854 | ||
|
|
c3904d2f14 | ||
|
|
e77e7e5260 | ||
|
|
8a3b237f21 | ||
|
|
9ad48ea1a3 | ||
|
|
fe667b82e8 | ||
|
|
19029daf8a | ||
|
|
fa157c350e | ||
|
|
3069b5ff7c | ||
|
|
3a1b247bc4 | ||
|
|
c99efe6f20 | ||
|
|
0a0d227611 | ||
|
|
bbeef2d10f | ||
|
|
d7b2cb6be4 | ||
|
|
d6c862eea4 | ||
|
|
ae7c7fda8f | ||
|
|
1ab7970708 | ||
|
|
221119e6d0 | ||
|
|
bd1050d75d | ||
|
|
2afe5cff49 | ||
|
|
1166f6d925 | ||
|
|
bf6a319e8f | ||
|
|
a87cc723a6 | ||
|
|
127ca9423e | ||
|
|
54461ec45e | ||
|
|
35a0a89765 | ||
|
|
99e96c768f | ||
|
|
727cf0a16a | ||
|
|
8efa4fb424 | ||
|
|
48916a5eb7 | ||
|
|
0c0c5db7fe | ||
|
|
b4bce912b3 | ||
|
|
2429ceb825 | ||
|
|
cb73bf735c | ||
|
|
14509a9f4a | ||
|
|
8c5248e455 | ||
|
|
8952b62289 | ||
|
|
324585c172 | ||
|
|
eba366253c | ||
|
|
6efa956165 | ||
|
|
c5019a19f6 | ||
|
|
5753fdcd26 | ||
|
|
e9f6dba1f5 | ||
|
|
99de1839c6 | ||
|
|
d1ca7b8bb9 | ||
|
|
9462f0319e | ||
|
|
6202f44881 | ||
|
|
32d600005c | ||
|
|
d78c29ba66 | ||
|
|
60928bc404 | ||
|
|
e00f853063 | ||
|
|
2dea80a29c | ||
|
|
6eba9635dd | ||
|
|
7804bd8df1 | ||
|
|
cf49ab1ccc | ||
|
|
8743660c0a | ||
|
|
69acb8c04d | ||
|
|
972edd651b | ||
|
|
d462e5adba | ||
|
|
c6a5038d2f | ||
|
|
b57e9ba8c0 | ||
|
|
9adb64c1ee | ||
|
|
d2d79cd992 | ||
|
|
ef92cac0a1 | ||
|
|
a5b1fa93dc | ||
|
|
b588b55c1a | ||
|
|
78cf73bb2c | ||
|
|
16f3fe7338 | ||
|
|
e27e414291 | ||
|
|
d763c78f2f | ||
|
|
85144e4678 | ||
|
|
7565b83dde | ||
|
|
481a041d5d | ||
|
|
0c7756bc76 | ||
|
|
b03a81791b | ||
|
|
e339e73c62 | ||
|
|
a7564e93e3 | ||
|
|
9c18bfcff2 | ||
|
|
abd3a23486 | ||
|
|
296461f13d | ||
|
|
424f4c84c6 | ||
|
|
12bfae0710 | ||
|
|
aa2c80a048 | ||
|
|
e7c4590a0f | ||
|
|
ce2f210f3a | ||
|
|
2b34224954 | ||
|
|
6ef6901348 | ||
|
|
2daba55c3e | ||
|
|
ec589630ed | ||
|
|
792e1af0ef | ||
|
|
7c1feb3699 | ||
|
|
e82475bd74 | ||
|
|
2e4fae3d13 | ||
|
|
07a4657ee8 | ||
|
|
120677b8d7 | ||
|
|
cf935771d6 | ||
|
|
1b99fbe1ca | ||
|
|
044ed02a7d | ||
|
|
67adc3b54f | ||
|
|
e5bea976cd | ||
|
|
ee5e47de63 | ||
|
|
94c775d511 | ||
|
|
11ff3ca043 | ||
|
|
0c67489980 | ||
|
|
17bc88615f | ||
|
|
ebdf0ad3fc | ||
|
|
37d7ec12a8 | ||
|
|
a0bff5442f | ||
|
|
3d16d58817 | ||
|
|
24a9f5c31e | ||
|
|
5ba0b99b4e | ||
|
|
d371b11686 | ||
|
|
99cf6db279 | ||
|
|
66ae206cdc | ||
|
|
7d48364d80 | ||
|
|
2d0e0b2d73 | ||
|
|
52a35bb61d | ||
|
|
e4bd4632c5 | ||
|
|
10f75272c5 | ||
|
|
f3adfc2bd0 | ||
|
|
d1b0bbead1 | ||
|
|
76c0ba4ada | ||
|
|
2f385a82b7 | ||
|
|
84d7b38ba5 | ||
|
|
321179e6ce | ||
|
|
49d93f7573 | ||
|
|
bf4456ca80 | ||
|
|
b4ee25dd39 | ||
|
|
e952c48e5d | ||
|
|
2fcd9fc5bd | ||
|
|
4665d88241 | ||
|
|
5d95dd4f34 | ||
|
|
8920775067 | ||
|
|
a3e94d26d6 | ||
|
|
12afca6918 | ||
|
|
a037ae43f2 | ||
|
|
f8f2b80be4 | ||
|
|
617901cc81 | ||
|
|
fa714906a7 | ||
|
|
9fa7a768ea | ||
|
|
f2861e95e4 | ||
|
|
93ee46b5ca | ||
|
|
d1240f884b | ||
|
|
2eded7f10a | ||
|
|
39212f7318 | ||
|
|
15e008240f | ||
|
|
2e25850994 | ||
|
|
5eea8b8bf8 | ||
|
|
8e604075ae | ||
|
|
c8810f96f7 | ||
|
|
eb21e99945 | ||
|
|
77268bbb18 | ||
|
|
0a401eac14 | ||
|
|
ed7db871ed | ||
|
|
f4eb34d7f6 | ||
|
|
9e93cad31e | ||
|
|
4572a8b17b | ||
|
|
30bb9f46ed | ||
|
|
3338c140c7 | ||
|
|
4510616f20 | ||
|
|
e773d561a4 | ||
|
|
d0f71d9b0e | ||
|
|
0fecb8e252 | ||
|
|
6283e4e3d7 | ||
|
|
cefa998a61 | ||
|
|
9b529622cd | ||
|
|
99031a72df | ||
|
|
e6709b0f5e | ||
|
|
f2c68a9511 | ||
|
|
1c3ebed203 | ||
|
|
79a54c06a2 | ||
|
|
89f5ab6be3 | ||
|
|
0b550a4666 | ||
|
|
9e8acf257d | ||
|
|
8250789855 | ||
|
|
33c0f71a5e | ||
|
|
bc496f1ffd | ||
|
|
4b4d80d231 | ||
|
|
f143834379 | ||
|
|
bce4f84040 | ||
|
|
354737861f | ||
|
|
f9667718d4 | ||
|
|
990c4c0ec6 | ||
|
|
9dd617e661 | ||
|
|
b2af1be6ab | ||
|
|
4465e213b8 | ||
|
|
a809f17523 | ||
|
|
eeebc364e8 | ||
|
|
a09d94d7df | ||
|
|
008a35ffeb | ||
|
|
bad05c64b8 | ||
|
|
1c46efc01a | ||
|
|
a15d2f52ba | ||
|
|
cf28131082 | ||
|
|
bc8f002ee7 | ||
|
|
ed233e915b | ||
|
|
427ad656f3 | ||
|
|
91dc63f02b | ||
|
|
3bd1e95843 | ||
|
|
2408ca509e | ||
|
|
7cd3e04634 | ||
|
|
e9667f0565 | ||
|
|
ec4b02a8f2 | ||
|
|
1cb2de78cb | ||
|
|
446163f017 | ||
|
|
03707bf3e9 | ||
|
|
1c84b06e7f | ||
|
|
0282ba5ba6 | ||
|
|
febfee5240 | ||
|
|
0d713ed0ff | ||
|
|
2ef8f5e5e2 | ||
|
|
f5c7a027e4 | ||
|
|
44fdc87672 | ||
|
|
6a82cf6f41 | ||
|
|
6b56aeac1b | ||
|
|
737debe123 | ||
|
|
fcdd071302 | ||
|
|
b559d72781 | ||
|
|
fce5102095 | ||
|
|
2f3b8ec89b | ||
|
|
6b2153b27a | ||
|
|
eb2fc3eab8 | ||
|
|
a46eb52f7e | ||
|
|
0dd9c69c2c | ||
|
|
1e8db3a3c3 | ||
|
|
b91f00b103 | ||
|
|
60c5c4211a | ||
|
|
87b5e486bf | ||
|
|
1a5d1847b6 | ||
|
|
ca62dd3150 | ||
|
|
8640ed18ed | ||
|
|
afc9e37229 | ||
|
|
c774409759 | ||
|
|
d495757e15 | ||
|
|
ec254e80e0 | ||
|
|
5d89f81d52 | ||
|
|
a1eec0d84f | ||
|
|
2c353c46d7 | ||
|
|
a80558fc75 | ||
|
|
14abcdcbf0 | ||
|
|
c9aae55c8c | ||
|
|
6532f8d5f7 | ||
|
|
127c1ab882 | ||
|
|
7537d4c36f | ||
|
|
9d76ea1cf9 | ||
|
|
1ce9802689 | ||
|
|
8ab6cad1fb | ||
|
|
500f5e7dce | ||
|
|
a8e98595c7 | ||
|
|
9adcca73eb | ||
|
|
b22793f57e | ||
|
|
c2457763f6 | ||
|
|
2a6149520c | ||
|
|
1ebbcfa279 | ||
|
|
9b180ad0a1 | ||
|
|
0a205b02b0 | ||
|
|
77c0b4de00 | ||
|
|
b7e920737f | ||
|
|
0b24e4fd1a | ||
|
|
bf6fb72217 | ||
|
|
37bd36917d | ||
|
|
4b09656723 | ||
|
|
b2186209df | ||
|
|
7d0d9ab16c | ||
|
|
187fc1d0fc | ||
|
|
8492c123d4 | ||
|
|
ddd7a28298 | ||
|
|
f12f2253a0 | ||
|
|
bd143aff4e | ||
|
|
fc876a7d00 | ||
|
|
be954493e6 | ||
|
|
65702e0adf | ||
|
|
7c2b825cd1 | ||
|
|
b92c5de85d | ||
|
|
edf6b4e5c2 | ||
|
|
d591617819 | ||
|
|
56ba7ad21e | ||
|
|
8efb48fa51 | ||
|
|
3e7815f3c4 | ||
|
|
c34d635495 | ||
|
|
9d0a43c58a | ||
|
|
ffccbf8b9f | ||
|
|
6176d8fd7b | ||
|
|
62ee9cd9e4 | ||
|
|
ecbd8aafcb | ||
|
|
a53698de97 | ||
|
|
eabde1aba0 | ||
|
|
07f1351912 | ||
|
|
b17de32914 | ||
|
|
6c220059a3 | ||
|
|
0cbedf5ca1 | ||
|
|
72e4435019 | ||
|
|
60b6b4bc41 | ||
|
|
58758e5389 | ||
|
|
bdae960144 | ||
|
|
1eb305a3fe | ||
|
|
97f3a044c2 | ||
|
|
4e4c4e9048 | ||
|
|
4950897188 | ||
|
|
9fe88efca9 | ||
|
|
335c5eb86b | ||
|
|
474051f095 | ||
|
|
916fab0038 | ||
|
|
0ae310c329 | ||
|
|
31e8078216 | ||
|
|
eda72c860c | ||
|
|
78628adc3c | ||
|
|
31b4f12ae6 | ||
|
|
b18c6331e6 | ||
|
|
e6cccde72a | ||
|
|
cafbb11237 | ||
|
|
569e6e1624 | ||
|
|
d72d6c65b2 | ||
|
|
b403440c04 | ||
|
|
ec43cf2add | ||
|
|
59ace0e3eb | ||
|
|
9104ee0642 | ||
|
|
972b1ef8ba | ||
|
|
5ad773e092 | ||
|
|
74fca62bf2 | ||
|
|
a1b661e8fb | ||
|
|
722449c5ac | ||
|
|
d8c212ad73 | ||
|
|
07edb414e1 | ||
|
|
61af6372e0 |
45
.github/workflows/build-image.yml
vendored
@@ -1,45 +0,0 @@
|
|||||||
name: Create and publish a Docker image
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: ghcr.io
|
|
||||||
IMAGE_NAME: ${{ github.repository }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-and-push-image:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Log in to the Container registry
|
|
||||||
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
|
||||||
with:
|
|
||||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
||||||
tags: |
|
|
||||||
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
|
|
||||||
98
.github/workflows/release-book-website.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
name: Release the book and website
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
env:
|
||||||
|
LATEST_IMAGE: ghcr.io/${{ github.repository }}:latest
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Log in to the Container registry
|
||||||
|
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# Buildx for caching
|
||||||
|
- uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
tags: ghcr.io/${{ github.repository }}:latest
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
release-book-website:
|
||||||
|
needs: build-and-push-image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up git repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Print dependency versions
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.LATEST_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make show_tools_version
|
||||||
|
- name: Print build variables
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.LATEST_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make printvars
|
||||||
|
- name: Bake the book
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.LATEST_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make -j -O bake
|
||||||
|
- name: Copy book to downloads server
|
||||||
|
uses: burnett01/rsync-deployments@7.0.2
|
||||||
|
with:
|
||||||
|
switches: "-avzr"
|
||||||
|
remote_host: ${{ secrets.SSH_HOST }}
|
||||||
|
remote_user: ${{ secrets.SSH_USERNAME }}
|
||||||
|
remote_key: ${{ secrets.SSH_KEY }}
|
||||||
|
path: "book/release/*"
|
||||||
|
remote_path: "~/downloads/the-sourdough-framework/"
|
||||||
|
- name: Upload book artifacts to GitHub
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: books
|
||||||
|
path: |
|
||||||
|
book/book_serif/book.log
|
||||||
|
book/book_serif/book.pdf
|
||||||
|
book/book-epub/book.epub
|
||||||
|
- name: Copy website to downloads server
|
||||||
|
uses: burnett01/rsync-deployments@7.0.2
|
||||||
|
with:
|
||||||
|
switches: "-avzr --delete"
|
||||||
|
remote_host: ${{ secrets.SSH_HOST }}
|
||||||
|
remote_user: ${{ secrets.SSH_USERNAME }}
|
||||||
|
remote_key: ${{ secrets.SSH_KEY }}
|
||||||
|
path: "website/static_website_html/*"
|
||||||
|
remote_path: "~/the-sourdough-framework/"
|
||||||
|
- name: Upload website artifacts to GitHub
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: website
|
||||||
|
path: website/static_website_html
|
||||||
51
.github/workflows/release-book.yml
vendored
@@ -1,51 +0,0 @@
|
|||||||
name: Release the book
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
jobs:
|
|
||||||
build_and_release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Set up git repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Print dependency versions
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make show_tools_version
|
|
||||||
- name: Print build variables
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make printvars
|
|
||||||
- name: Bake the book
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make bake
|
|
||||||
- name: Release baked book to S3
|
|
||||||
uses: shallwefootball/s3-upload-action@master
|
|
||||||
with:
|
|
||||||
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
|
||||||
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
|
||||||
aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }}
|
|
||||||
source_dir: book/release
|
|
||||||
destination_dir: release
|
|
||||||
- name: Invalidate Cloudfront book cache
|
|
||||||
uses: chetan/invalidate-cloudfront-action@v2
|
|
||||||
env:
|
|
||||||
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_BOOK }}
|
|
||||||
PATHS: "/*"
|
|
||||||
AWS_REGION: "us-east-1"
|
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
|
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
||||||
51
.github/workflows/release-website.yml
vendored
@@ -1,51 +0,0 @@
|
|||||||
name: Release the website
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
jobs:
|
|
||||||
build_and_release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Set up git repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Print dependency versions
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make show_tools_version
|
|
||||||
- name: Print build variables
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make printvars
|
|
||||||
- name: Bake the book
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make website
|
|
||||||
- name: Release baked website to S3
|
|
||||||
uses: shallwefootball/s3-upload-action@master
|
|
||||||
with:
|
|
||||||
aws_key_id: ${{ secrets.AWS_KEY_ID }}
|
|
||||||
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
|
||||||
aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }}
|
|
||||||
source_dir: website/static_website_html
|
|
||||||
destination_dir: static_html_root
|
|
||||||
- name: Invalidate Cloudfront website cache
|
|
||||||
uses: chetan/invalidate-cloudfront-action@v2
|
|
||||||
env:
|
|
||||||
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }}
|
|
||||||
PATHS: "/*"
|
|
||||||
AWS_REGION: "us-east-1"
|
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
|
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
||||||
56
.github/workflows/test-book-website.yml
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
name: Test book and website for given image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
|
||||||
|
env:
|
||||||
|
DOCKER_IMAGE: ghcr.io/${{ github.repository }}:latest
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-book-website:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up git repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Print dependency versions
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.DOCKER_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make show_tools_version
|
||||||
|
- name: Print build variables
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.DOCKER_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make printvars
|
||||||
|
- name: Test baking the release versions and website
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: ${{ env.DOCKER_IMAGE }}
|
||||||
|
options: -v ${{ github.workspace }}:/app
|
||||||
|
run: |
|
||||||
|
cd /app/book
|
||||||
|
make -j -O serif ebook website
|
||||||
|
- name: Upload book artifacts to GitHub
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: books
|
||||||
|
path: |
|
||||||
|
book/book_serif/book.log
|
||||||
|
book/book_serif/book.pdf
|
||||||
|
book/book-epub/book.epub
|
||||||
|
- name: Upload website artifacts to GitHub
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: website
|
||||||
|
path: website/static_website_html
|
||||||
32
.github/workflows/validate-book-build.yml
vendored
@@ -1,32 +0,0 @@
|
|||||||
name: Validate LaTeX Document
|
|
||||||
on: [ push, pull_request ]
|
|
||||||
jobs:
|
|
||||||
test_building_book:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Set up git repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Print dependency versions
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make show_tools_version
|
|
||||||
- name: Print build variables
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make printvars
|
|
||||||
- name: Test baking the release versions
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ghcr.io/hendricius/the-sourdough-framework:latest
|
|
||||||
options: -v ${{ github.workspace }}:/app
|
|
||||||
run: |
|
|
||||||
cd /app/book
|
|
||||||
make -j build_pdf build_serif_ebook
|
|
||||||
43
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
.DS_Store
|
||||||
*.xbb
|
*.xbb
|
||||||
*.aux
|
*.aux
|
||||||
*.fdb_latexmk
|
*.fdb_latexmk
|
||||||
@@ -12,52 +13,34 @@
|
|||||||
*.run.xml
|
*.run.xml
|
||||||
*.html
|
*.html
|
||||||
*.dlog
|
*.dlog
|
||||||
|
*.bak
|
||||||
|
*.opf
|
||||||
book/book.out
|
book/book.out
|
||||||
.vscode/
|
.vscode/
|
||||||
book/book.synctex*
|
|
||||||
book/tikz-cache/*
|
|
||||||
book/bookch*
|
book/bookch*
|
||||||
book/content.opf
|
|
||||||
book/output-epub
|
|
||||||
book/figures/*.png
|
book/figures/*.png
|
||||||
book/figures/*.pdf
|
book/figures/*.pdf
|
||||||
book/figures/*.in
|
book/figures/*.in
|
||||||
book/tables/*.png
|
|
||||||
book/tables/*.pdf
|
|
||||||
book/release/*
|
|
||||||
book/book*.4ct
|
book/book*.4ct
|
||||||
book/book*.4tc
|
book/book*.4tc
|
||||||
book/book*.aux
|
|
||||||
book/book*.bbl
|
|
||||||
book/book*.bcf
|
|
||||||
book/book*.blg
|
|
||||||
book/book*.css
|
book/book*.css
|
||||||
book/book*.dvi
|
book/book*.dvi
|
||||||
book/book*.html
|
|
||||||
book/book*.idv
|
book/book*.idv
|
||||||
book/book*.lg
|
book/book*.lg
|
||||||
book/book*.log
|
|
||||||
book/book*.mobi
|
|
||||||
book/book*.azw3
|
|
||||||
book/book*.epub
|
|
||||||
book/book*.ncx
|
book/book*.ncx
|
||||||
book/book*.out
|
book/book*.out
|
||||||
book/book*.pdf
|
|
||||||
book/book*.run.xml
|
|
||||||
book/book*.tmp
|
book/book*.tmp
|
||||||
book/book*.toc
|
|
||||||
book/book*.xref
|
book/book*.xref
|
||||||
book/book*.html
|
|
||||||
book/book*.svg
|
book/book*.svg
|
||||||
book/book-epub/
|
# Directories created during build
|
||||||
book/book-mobi/
|
book/book_sans_serif/*
|
||||||
book/book-azw3/
|
book/book_serif/*
|
||||||
*.bak
|
|
||||||
book_sans_serif/
|
|
||||||
book_serif/
|
|
||||||
release_sans_serif/
|
|
||||||
book/book_sans_serif-epub/
|
|
||||||
book/static_website_html/*
|
book/static_website_html/*
|
||||||
epub/
|
|
||||||
*.opf
|
|
||||||
website/static_website_html/*
|
website/static_website_html/*
|
||||||
|
book/epub/
|
||||||
|
book/book-epub/
|
||||||
|
book/bw-book-epub/*
|
||||||
|
book/release/*
|
||||||
|
book/low-res-book-epub/*
|
||||||
|
book/epub_build/*
|
||||||
|
book/website_build/*
|
||||||
|
|||||||
57
Dockerfile
@@ -1,4 +1,4 @@
|
|||||||
FROM registry.gitlab.com/islandoftex/images/texlive
|
FROM debian:trixie
|
||||||
|
|
||||||
LABEL "maintainer"="Hendrik Kleinwächter <hendrik.kleinwaechter@gmail.com>"
|
LABEL "maintainer"="Hendrik Kleinwächter <hendrik.kleinwaechter@gmail.com>"
|
||||||
LABEL "repository"="https://github.com/hendricius/the-sourdough-framework"
|
LABEL "repository"="https://github.com/hendricius/the-sourdough-framework"
|
||||||
@@ -6,9 +6,9 @@ LABEL "homepage"="https://github.com/hendricius/the-sourdough-framework"
|
|||||||
LABEL org.opencontainers.image.source="https://github.com/hendricius/the-sourdough-framework"
|
LABEL org.opencontainers.image.source="https://github.com/hendricius/the-sourdough-framework"
|
||||||
|
|
||||||
# Print release information if needed
|
# Print release information if needed
|
||||||
# RUN cat /etc/*release*
|
RUN cat /etc/*release*
|
||||||
|
|
||||||
# Install base depdendencies
|
# Install base dependencies
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install --yes -y --no-install-recommends \
|
apt-get install --yes -y --no-install-recommends \
|
||||||
sudo \
|
sudo \
|
||||||
@@ -18,9 +18,51 @@ RUN apt-get update && \
|
|||||||
zip \
|
zip \
|
||||||
git \
|
git \
|
||||||
wget \
|
wget \
|
||||||
ruby3.1 \
|
ruby3.3 \
|
||||||
ruby-dev \
|
ruby-dev \
|
||||||
build-essential
|
imagemagick \
|
||||||
|
rsync \
|
||||||
|
wget \
|
||||||
|
perl \
|
||||||
|
xzdec \
|
||||||
|
# dvisvgm dependencies
|
||||||
|
build-essential \
|
||||||
|
fonts-texgyre \
|
||||||
|
fontconfig \
|
||||||
|
libfontconfig1 \
|
||||||
|
libkpathsea-dev \
|
||||||
|
libptexenc-dev \
|
||||||
|
libsynctex-dev \
|
||||||
|
libx11-dev \
|
||||||
|
libxmu-dev \
|
||||||
|
libxaw7-dev \
|
||||||
|
libxt-dev \
|
||||||
|
libxft-dev \
|
||||||
|
libwoff-dev
|
||||||
|
|
||||||
|
# Install TeX
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
texlive-full \
|
||||||
|
texlive-luatex
|
||||||
|
|
||||||
|
# Compile latest dvisvgm
|
||||||
|
RUN wget https://github.com/mgieseki/dvisvgm/releases/download/3.1.2/dvisvgm-3.1.2.tar.gz && \
|
||||||
|
mv dvisvgm-3.1.2.tar.gz dvisvgm.tar.gz && \
|
||||||
|
tar -xzf dvisvgm.tar.gz && \
|
||||||
|
cd dvisvgm-* && \
|
||||||
|
./configure && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN git clone https://github.com/michal-h21/make4ht.git && \
|
||||||
|
cd make4ht && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
# Make sure everything is UTF-8
|
||||||
|
RUN echo "export LC_ALL=en_US.UTF-8" >> /root/.bashrc && \
|
||||||
|
echo "export LANG=en_US.UTF-8" >> /root/.bashrc
|
||||||
|
|
||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
|
||||||
@@ -31,9 +73,4 @@ COPY website/Gemfile /root
|
|||||||
COPY website/.ruby-version /root
|
COPY website/.ruby-version /root
|
||||||
RUN bundle install
|
RUN bundle install
|
||||||
|
|
||||||
# Install support to build amazon kindle books
|
|
||||||
RUN wget https://archive.org/download/kindlegen_linux_2_6_i386_v2_9/kindlegen_linux_2.6_i386_v2_9.tar.gz && \
|
|
||||||
tar xzf kindlegen_linux_2.6_i386_v2_9.tar.gz && \
|
|
||||||
mv kindlegen /usr/bin
|
|
||||||
|
|
||||||
CMD ["/bin/bash"]
|
CMD ["/bin/bash"]
|
||||||
|
|||||||
440
LICENSE
@@ -1,21 +1,427 @@
|
|||||||
MIT License
|
Attribution-ShareAlike 4.0 International
|
||||||
|
|
||||||
Copyright (c) 2022 Hendrik Kleinwaechter
|
=======================================================================
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
does not provide legal services or legal advice. Distribution of
|
||||||
in the Software without restriction, including without limitation the rights
|
Creative Commons public licenses does not create a lawyer-client or
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
other relationship. Creative Commons makes its licenses and related
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
information available on an "as-is" basis. Creative Commons gives no
|
||||||
furnished to do so, subject to the following conditions:
|
warranties regarding its licenses, any material licensed under their
|
||||||
|
terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
Using Creative Commons Public Licenses
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
Creative Commons public licenses provide a standard set of terms and
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
conditions that creators and other rights holders may use to share
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
original works of authorship and other material subject to copyright
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
and certain other rights specified in the public license below. The
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
following considerations are for informational purposes only, are not
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
exhaustive, and do not form part of our licenses.
|
||||||
SOFTWARE.
|
|
||||||
|
Considerations for licensors: Our public licenses are
|
||||||
|
intended for use by those authorized to give the public
|
||||||
|
permission to use material in ways otherwise restricted by
|
||||||
|
copyright and certain other rights. Our licenses are
|
||||||
|
irrevocable. Licensors should read and understand the terms
|
||||||
|
and conditions of the license they choose before applying it.
|
||||||
|
Licensors should also secure all rights necessary before
|
||||||
|
applying our licenses so that the public can reuse the
|
||||||
|
material as expected. Licensors should clearly mark any
|
||||||
|
material not subject to the license. This includes other CC-
|
||||||
|
licensed material, or material used under an exception or
|
||||||
|
limitation to copyright. More considerations for licensors:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public
|
||||||
|
licenses, a licensor grants the public permission to use the
|
||||||
|
licensed material under specified terms and conditions. If
|
||||||
|
the licensor's permission is not necessary for any reason--for
|
||||||
|
example, because of any applicable exception or limitation to
|
||||||
|
copyright--then that use is not regulated by the license. Our
|
||||||
|
licenses grant only permissions under copyright and certain
|
||||||
|
other rights that a licensor has authority to grant. Use of
|
||||||
|
the licensed material may still be restricted for other
|
||||||
|
reasons, including because others have copyright or other
|
||||||
|
rights in the material. A licensor may make special requests,
|
||||||
|
such as asking that all changes be marked or described.
|
||||||
|
Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More_considerations
|
||||||
|
for the public:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Attribution-ShareAlike 4.0 International Public
|
||||||
|
License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
|
Attribution-ShareAlike 4.0 International Public License ("Public
|
||||||
|
License"). To the extent this Public License may be interpreted as a
|
||||||
|
contract, You are granted the Licensed Rights in consideration of Your
|
||||||
|
acceptance of these terms and conditions, and the Licensor grants You
|
||||||
|
such rights in consideration of benefits the Licensor receives from
|
||||||
|
making the Licensed Material available under these terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
|
||||||
|
Section 1 -- Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar
|
||||||
|
Rights that is derived from or based upon the Licensed Material
|
||||||
|
and in which the Licensed Material is translated, altered,
|
||||||
|
arranged, transformed, or otherwise modified in a manner requiring
|
||||||
|
permission under the Copyright and Similar Rights held by the
|
||||||
|
Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording,
|
||||||
|
Adapted Material is always produced where the Licensed Material is
|
||||||
|
synched in timed relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright
|
||||||
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
|
accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. BY-SA Compatible License means a license listed at
|
||||||
|
creativecommons.org/compatiblelicenses, approved by Creative
|
||||||
|
Commons as essentially the equivalent of this Public License.
|
||||||
|
|
||||||
|
d. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation,
|
||||||
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
|
Rights, without regard to how the rights are labeled or
|
||||||
|
categorized. For purposes of this Public License, the rights
|
||||||
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
|
||||||
|
e. Effective Technological Measures means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws
|
||||||
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
|
agreements.
|
||||||
|
|
||||||
|
f. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
|
that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
|
g. License Elements means the license attributes listed in the name
|
||||||
|
of a Creative Commons Public License. The License Elements of this
|
||||||
|
Public License are Attribution and ShareAlike.
|
||||||
|
|
||||||
|
h. Licensed Material means the artistic or literary work, database,
|
||||||
|
or other material to which the Licensor applied this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
i. Licensed Rights means the rights granted to You subject to the
|
||||||
|
terms and conditions of this Public License, which are limited to
|
||||||
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
|
j. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
|
under this Public License.
|
||||||
|
|
||||||
|
k. Share means to provide material to the public by any means or
|
||||||
|
process that requires permission under the Licensed Rights, such
|
||||||
|
as reproduction, public display, public performance, distribution,
|
||||||
|
dissemination, communication, or importation, and to make material
|
||||||
|
available to the public including in ways that members of the
|
||||||
|
public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
l. Sui Generis Database Rights means rights other than copyright
|
||||||
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
|
as amended and/or succeeded, as well as other essentially
|
||||||
|
equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
m. You means the individual or entity exercising the Licensed Rights
|
||||||
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
|
||||||
|
Section 2 -- Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License,
|
||||||
|
the Licensor hereby grants You a worldwide, royalty-free,
|
||||||
|
non-sublicensable, non-exclusive, irrevocable license to
|
||||||
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
|
in part; and
|
||||||
|
|
||||||
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
|
License does not apply, and You do not need to comply with
|
||||||
|
its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section
|
||||||
|
6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The
|
||||||
|
Licensor authorizes You to exercise the Licensed Rights in
|
||||||
|
all media and formats whether now known or hereafter created,
|
||||||
|
and to make technical modifications necessary to do so. The
|
||||||
|
Licensor waives and/or agrees not to assert any right or
|
||||||
|
authority to forbid You from making technical modifications
|
||||||
|
necessary to exercise the Licensed Rights, including
|
||||||
|
technical modifications necessary to circumvent Effective
|
||||||
|
Technological Measures. For purposes of this Public License,
|
||||||
|
simply making modifications authorized by this Section 2(a)
|
||||||
|
(4) never produces Adapted Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
a. Offer from the Licensor -- Licensed Material. Every
|
||||||
|
recipient of the Licensed Material automatically
|
||||||
|
receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
b. Additional offer from the Licensor -- Adapted Material.
|
||||||
|
Every recipient of Adapted Material from You
|
||||||
|
automatically receives an offer from the Licensor to
|
||||||
|
exercise the Licensed Rights in the Adapted Material
|
||||||
|
under the conditions of the Adapter's License You apply.
|
||||||
|
|
||||||
|
c. No downstream restrictions. You may not offer or impose
|
||||||
|
any additional or different terms or conditions on, or
|
||||||
|
apply any Effective Technological Measures to, the
|
||||||
|
Licensed Material if doing so restricts exercise of the
|
||||||
|
Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or
|
||||||
|
may be construed as permission to assert or imply that You
|
||||||
|
are, or that Your use of the Licensed Material is, connected
|
||||||
|
with, or sponsored, endorsed, or granted official status by,
|
||||||
|
the Licensor or others designated to receive attribution as
|
||||||
|
provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not
|
||||||
|
licensed under this Public License, nor are publicity,
|
||||||
|
privacy, and/or other similar personality rights; however, to
|
||||||
|
the extent possible, the Licensor waives and/or agrees not to
|
||||||
|
assert any such rights held by the Licensor to the limited
|
||||||
|
extent necessary to allow You to exercise the Licensed
|
||||||
|
Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to
|
||||||
|
collect royalties from You for the exercise of the Licensed
|
||||||
|
Rights, whether directly or through a collecting society
|
||||||
|
under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
|
reserves any right to collect such royalties.
|
||||||
|
|
||||||
|
|
||||||
|
Section 3 -- License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the
|
||||||
|
following conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified
|
||||||
|
form), You must:
|
||||||
|
|
||||||
|
a. retain the following if it is supplied by the Licensor
|
||||||
|
with the Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed
|
||||||
|
Material and any others designated to receive
|
||||||
|
attribution, in any reasonable manner requested by
|
||||||
|
the Licensor (including by pseudonym if
|
||||||
|
designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of
|
||||||
|
warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the
|
||||||
|
extent reasonably practicable;
|
||||||
|
|
||||||
|
b. indicate if You modified the Licensed Material and
|
||||||
|
retain an indication of any previous modifications; and
|
||||||
|
|
||||||
|
c. indicate the Licensed Material is licensed under this
|
||||||
|
Public License, and include the text of, or the URI or
|
||||||
|
hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||||
|
reasonable manner based on the medium, means, and context in
|
||||||
|
which You Share the Licensed Material. For example, it may be
|
||||||
|
reasonable to satisfy the conditions by providing a URI or
|
||||||
|
hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the
|
||||||
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
|
reasonably practicable.
|
||||||
|
|
||||||
|
b. ShareAlike.
|
||||||
|
|
||||||
|
In addition to the conditions in Section 3(a), if You Share
|
||||||
|
Adapted Material You produce, the following conditions also apply.
|
||||||
|
|
||||||
|
1. The Adapter's License You apply must be a Creative Commons
|
||||||
|
license with the same License Elements, this version or
|
||||||
|
later, or a BY-SA Compatible License.
|
||||||
|
|
||||||
|
2. You must include the text of, or the URI or hyperlink to, the
|
||||||
|
Adapter's License You apply. You may satisfy this condition
|
||||||
|
in any reasonable manner based on the medium, means, and
|
||||||
|
context in which You Share Adapted Material.
|
||||||
|
|
||||||
|
3. You may not offer or impose any additional or different terms
|
||||||
|
or conditions on, or apply any Effective Technological
|
||||||
|
Measures to, Adapted Material that restrict exercise of the
|
||||||
|
rights granted under the Adapter's License You apply.
|
||||||
|
|
||||||
|
|
||||||
|
Section 4 -- Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that
|
||||||
|
apply to Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
|
portion of the contents of the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database
|
||||||
|
contents in a database in which You have Sui Generis Database
|
||||||
|
Rights, then the database in which You have Sui Generis Database
|
||||||
|
Rights (but not its individual contents) is Adapted Material,
|
||||||
|
|
||||||
|
including for purposes of Section 3(b); and
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
|
all or a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not
|
||||||
|
replace Your obligations under this Public License where the Licensed
|
||||||
|
Rights include other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
|
||||||
|
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||||
|
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||||
|
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||||
|
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||||
|
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||||
|
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||||
|
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||||
|
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||||
|
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||||
|
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||||
|
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||||
|
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||||
|
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||||
|
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided
|
||||||
|
above shall be interpreted in a manner that, to the extent
|
||||||
|
possible, most closely approximates an absolute disclaimer and
|
||||||
|
waiver of all liability.
|
||||||
|
|
||||||
|
|
||||||
|
Section 6 -- Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and
|
||||||
|
Similar Rights licensed here. However, if You fail to comply with
|
||||||
|
this Public License, then Your rights under this Public License
|
||||||
|
terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under
|
||||||
|
Section 6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided
|
||||||
|
it is cured within 30 days of Your discovery of the
|
||||||
|
violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||||
|
right the Licensor may have to seek remedies for Your violations
|
||||||
|
of this Public License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the
|
||||||
|
Licensed Material under separate terms or conditions or stop
|
||||||
|
distributing the Licensed Material at any time; however, doing so
|
||||||
|
will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 7 -- Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different
|
||||||
|
terms or conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the
|
||||||
|
Licensed Material not stated herein are separate from and
|
||||||
|
independent of the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 8 -- Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and
|
||||||
|
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||||
|
conditions on any use of the Licensed Material that could lawfully
|
||||||
|
be made without permission under this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is
|
||||||
|
deemed unenforceable, it shall be automatically reformed to the
|
||||||
|
minimum extent necessary to make it enforceable. If the provision
|
||||||
|
cannot be reformed, it shall be severed from this Public License
|
||||||
|
without affecting the enforceability of the remaining terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no
|
||||||
|
failure to comply consented to unless expressly agreed to by the
|
||||||
|
Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted
|
||||||
|
as a limitation upon, or waiver of, any privileges and immunities
|
||||||
|
that apply to the Licensor or You, including from the legal
|
||||||
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public
|
||||||
|
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||||
|
its public licenses to material it publishes and in those instances
|
||||||
|
will be considered the “Licensor.” The text of the Creative Commons
|
||||||
|
public licenses is dedicated to the public domain under the CC0 Public
|
||||||
|
Domain Dedication. Except for the limited purpose of indicating that
|
||||||
|
material is shared under a Creative Commons public license or as
|
||||||
|
otherwise permitted by the Creative Commons policies published at
|
||||||
|
creativecommons.org/policies, Creative Commons does not authorize the
|
||||||
|
use of the trademark "Creative Commons" or any other trademark or logo
|
||||||
|
of Creative Commons without its prior written consent including,
|
||||||
|
without limitation, in connection with any unauthorized modifications
|
||||||
|
to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For
|
||||||
|
the avoidance of doubt, this paragraph does not form part of the
|
||||||
|
public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
||||||
|
|||||||
52
README.md
@@ -32,7 +32,8 @@ 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 🍞 bake all the versions including ebook formats (.pdf, .epub, .mobi, .azw3) run:
|
If you want to 🍞 bake all the versions including ebook variants (.pdf, .epub
|
||||||
|
in colour and size optimized Black&White), run:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
make bake
|
make bake
|
||||||
@@ -42,23 +43,27 @@ You can check the files in the folder `book/release/`
|
|||||||
|
|
||||||
## 🍞 Baking the book locally (LaTeX)
|
## 🍞 Baking the book locally (LaTeX)
|
||||||
|
|
||||||
Make sure you have `biber` and `latexmk` installed. Refer to your system's
|
Make sure you have `biber`, `latexmk` and ``ImageMagick`` installed. Refer to
|
||||||
installation instructions for LaTeX. To create the serif .pdf format, run:
|
your system's installation instructions for LaTeX. To create the serif .pdf
|
||||||
|
format, run:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
cd book/
|
cd book/
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to 🍞 bake all the versions including ebook formats (.pdf, .epub, .mobi, .azw3) run:
|
If you want to 🍞 bake all the versions including ebook variants (.pdf, .epub
|
||||||
|
in colour and size optimized Black&White, as well as website), run:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
cd book/
|
cd book/
|
||||||
make bake
|
make -j bake
|
||||||
```
|
```
|
||||||
|
|
||||||
You can check the files in the folder `book/release/`
|
You can check the files in the folder `book/release/`
|
||||||
|
|
||||||
|
Please note that while everything should build without any errors but you will get a fair amount of warnings, especially when building the ebook/website.
|
||||||
|
|
||||||
You can get some help on building various versions with:
|
You can get some help on building various versions with:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@@ -71,17 +76,27 @@ The below versions are automatically built on every push to the `main` branch.
|
|||||||
|
|
||||||
* [Download compiled .pdf version](https://www.the-bread-code.io/book.pdf)
|
* [Download compiled .pdf version](https://www.the-bread-code.io/book.pdf)
|
||||||
* [Download compiled .epub version](https://www.the-bread-code.io/book.epub)
|
* [Download compiled .epub version](https://www.the-bread-code.io/book.epub)
|
||||||
* [Download compiled .mobi version](https://www.the-bread-code.io/book.mobi)
|
|
||||||
* [Download compiled .azw3 version](https://www.the-bread-code.io/book.azw3)
|
|
||||||
|
|
||||||
There's an additional enhanced accessibility version using a sans serif font:
|
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 sans-serif .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)
|
|
||||||
|
|
||||||
## Online HTML version (WIP)
|
An additional black and white ebook is provided with a greatly reduced file
|
||||||
|
size. This shrinks the book from more than 20MB down to ~5MB:
|
||||||
|
|
||||||
|
* [Download compiled B&W .epub version](https://www.the-bread-code.io/bw-book.epub)
|
||||||
|
|
||||||
|
For those who prefer a concise reference (about 15 pages), we offer a "too long;didn't read" (TL;DR)
|
||||||
|
version. This condensed guide contains the essential flowcharts, crucial information,
|
||||||
|
and space for your notes - perfect for quick kitchen reference.
|
||||||
|
It provides the key information you need without reading the complete book.
|
||||||
|
|
||||||
|
* [Read TL;DR version on your device](https://the-bread-code.io/book-tldr-digital.pdf)
|
||||||
|
* [Download TL;DR version for printing](https://the-bread-code.io/book-tldr-print.pdf)
|
||||||
|
|
||||||
|
We recommend using double-sided printing if your printer supports it.
|
||||||
|
|
||||||
|
## Online HTML version
|
||||||
|
|
||||||
Head over to [https://www.the-sourdough-framework.com](https://www.the-sourdough-framework.com)
|
Head over to [https://www.the-sourdough-framework.com](https://www.the-sourdough-framework.com)
|
||||||
|
|
||||||
@@ -123,3 +138,14 @@ me to dedicate time to continuously update and improve this book.
|
|||||||
|
|
||||||
* [My YouTube channel](https://youtube.com/c/thebreadcode)
|
* [My YouTube channel](https://youtube.com/c/thebreadcode)
|
||||||
* [Ask a question on Discord](https://breadco.de/discord)
|
* [Ask a question on Discord](https://breadco.de/discord)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0
|
||||||
|
International License][cc-by-sa].
|
||||||
|
|
||||||
|
[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]
|
||||||
|
|
||||||
|
[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[cc-by-sa-image]: https://licensebuttons.net/l/by-sa/4.0/88x31.png
|
||||||
|
[cc-by-sa-shield]: https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg
|
||||||
|
|||||||
4
book/abbreviations.tex
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
% Common abbreviations
|
||||||
|
\newcommand{\ie}{\emph{i.e.}\@ifnextchar.{\!\@gobble}{}}
|
||||||
|
\newcommand{\eg}{\emph{e.g.}\@ifnextchar.{\!\@gobble}{}}
|
||||||
|
\newcommand{\etc}{etc\@ifnextchar.{}{.\@}}
|
||||||
|
Before Width: | Height: | Size: 369 KiB |
@@ -1,35 +1,28 @@
|
|||||||
|
\chapter{Baking}%
|
||||||
|
\label{ch:baking}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
Baking refers to the part of the process where you are loading
|
Baking refers to the part of the process where you are loading your dough into
|
||||||
your dough into the oven. This is typically done after your
|
the oven\footnote{While some breads like flatbreads could also be baked on the
|
||||||
dough has gone through the bulk fermentation and proofing stage.
|
stove. This chapter focuses on the home oven.}. Baking is typically done after
|
||||||
|
your dough has gone through the bulk fermentation and proofing stage. This
|
||||||
|
chapter will review what happens to your dough during baking, as well as
|
||||||
|
several techniques used to improve the final result.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
\section{The process of baking}
|
||||||
\begin{center}
|
Once temperature starts to rise, the dough will go through several stages as
|
||||||
\input{figures/fig-baking-process.tex}
|
summarized in Table~\ref{tab:baking-stages}. As the dough heats up, the water
|
||||||
\caption[Different steaming methods]{A schematic visualization of the baking
|
and acids in your dough start to evaporate. When baking a gluten based dough,
|
||||||
process using different sources of steam in a home oven.}%
|
the bubbles in your dough start to expand. The dough starts to vertically
|
||||||
\label{fig:baking-process}
|
rise, this is called oven spring. Your bread starts to build a crust of
|
||||||
\end{center}
|
gel-like consistency, the crust is still extensible and can be stretched.
|
||||||
\end{flowchart}
|
|
||||||
|
|
||||||
Some other breads like flatbreads
|
|
||||||
could also be baked on the stove. This chapter focuses on the
|
|
||||||
home oven.
|
|
||||||
|
|
||||||
As the dough heats up, the water and acids
|
|
||||||
in your dough start to evaporate. When baking
|
|
||||||
a gluten based dough, the bubbles in your dough start to expand.
|
|
||||||
Your dough starts to vertically rise. This is called oven spring.
|
|
||||||
Your bread starts to build a crust of gel-like consistency. The crust is still
|
|
||||||
extensible and can be stretched.
|
|
||||||
|
|
||||||
\begin{table}[htp!]
|
\begin{table}[htp!]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-baking-process-stages.tex}
|
\input{tables/table-baking-process-stages.tex}
|
||||||
\caption[Stages of dough during backing]{The different stages that
|
\caption[Stages of dough during baking]{The different stages that
|
||||||
your dough undergoes during the baking process.}
|
your dough undergoes during the baking process.}%
|
||||||
\end{center}
|
\label{tab:baking-stages}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
At around \qty{60}{\degreeCelsius} (\qty{140}{\degF}) the microbes in your dough start to die.
|
At around \qty{60}{\degreeCelsius} (\qty{140}{\degF}) the microbes in your dough start to die.
|
||||||
@@ -41,51 +34,51 @@ More research should be done here to validate or invalidate this
|
|||||||
claim.
|
claim.
|
||||||
|
|
||||||
At \qty{75}{\degreeCelsius} (\qty{167}{\degF}) the surface of your dough turns into a gel. It
|
At \qty{75}{\degreeCelsius} (\qty{167}{\degF}) the surface of your dough turns into a gel. It
|
||||||
holds together nicely and is still extensible. This gel is essential
|
holds together nicely but is still extensible. This gel is essential
|
||||||
for oven spring as it retains the gas of your dough very well.
|
for oven spring as it retains the gas inside your dough.
|
||||||
|
|
||||||
At around \qty{100}{\degreeCelsius} (\qty{212}{\degF}) the water starts to evaporate out of your
|
At around \qty{100}{\degreeCelsius} (\qty{212}{\degF}) the water starts to evaporate out of your
|
||||||
dough. If this weren't the case, your dough would taste soggy and
|
dough. If this weren't the case, your dough would taste soggy and
|
||||||
doughy. The higher hydration your dough has, the more water your bread
|
doughy. The higher hydration your dough has, the more water your bread
|
||||||
still contains after the bake. The crumb is going to taste a bit
|
still contains after the bake, changing its consistency. As a result the
|
||||||
more moist. The consistency will be different.
|
crumb is going to taste a bit more moist.
|
||||||
|
|
||||||
Another often undervalued step is the evaporation of acids. At
|
Another often undervalued step is the evaporation of acids.
|
||||||
\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough starts to evaporate.
|
At~\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough
|
||||||
Shortly after at \qty{122}{\degreeCelsius} (\qty{252}{\degF}) the lactic acid begins evaporating.
|
starts to evaporate.
|
||||||
This is crucial to understand and opens a door to many interesting
|
Shortly after at~\qty{122}{\degreeCelsius} (\qty{252}{\degF}) the lactic acid begins evaporating.
|
||||||
|
This is crucial to understand and it opens the door to many interesting
|
||||||
ways to influence your final bread's taste. As more and more water
|
ways to influence your final bread's taste. As more and more water
|
||||||
begins to evaporate the acids in your dough become more concentrated.
|
begins to evaporate the acids in your dough become more concentrated.
|
||||||
There is less water but in relation you have more acids. A shorter
|
There is less water but in relation you have more acids, therefore a shorter
|
||||||
bake will therefore lead to a more tangy dough. The longer you bake the bread,
|
bake will lead to a more tangy dough. The longer you bake the bread,
|
||||||
the more of the water evaporates, but also ultimately the acids will follow.
|
the more of the water evaporates, but also ultimately the acids will follow.
|
||||||
They will be more concentrated. In absolute units, though, they
|
The longer you bake, the less sour your bread is going to be. By controlling
|
||||||
will become less and less. The longer you bake, the less sour
|
baking time you can influence which sourness level you would like to achieve.
|
||||||
your bread is going to be. By baking you can
|
|
||||||
influence which sourness level you would like to achieve.
|
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
|
||||||
\includegraphics[width=\textwidth]{baking-experiment-temperatures.png}
|
|
||||||
\caption[Surface temperature for different steaming methods]{This
|
|
||||||
chart shows how surface temperatures change using different steaming
|
|
||||||
methods. In this case I~used a Dutch oven and an apple as dough
|
|
||||||
replacement. All the apples were coming from the fridge. The temperature
|
|
||||||
was measured using a barbecue thermometer. The more steam, the faster
|
|
||||||
the surface temperature increases.}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
It would be a very interesting experiment to bake a bread at different exact
|
It would be a very interesting experiment to bake a bread at different exact
|
||||||
temperatures. How would a bread taste with only evaporated water but
|
temperatures. How would a bread taste with only evaporated water but
|
||||||
full acidity? What if you were to just completely get rid of the acetic
|
full acidity? What if you were to just completely get rid of the acetic
|
||||||
acid? How would the taste change?
|
acid? How would the taste change?
|
||||||
|
|
||||||
As the temperature increases
|
\begin{figure}[!htb]
|
||||||
the crust thickens. The Maillard reaction kicks in, further deforming
|
\input{plots/fig-temperature-surface.tex}
|
||||||
proteins and starches. The outside of your dough starts to become
|
\caption[Surface temperature for different steaming methods]{This
|
||||||
browner and crisper. This process begins at around \qty{140}{\degreeCelsius} (\qty{284}{\degF})
|
chart shows how surface temperatures change using different steaming
|
||||||
|
methods. In this case I~used a Dutch oven and an apple as dough
|
||||||
|
replacement. All the apples were coming from the fridge. The temperature
|
||||||
|
was measured using a barbecue thermometer. The more steam, the faster
|
||||||
|
the apple's surface temperature increases.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Once the temperature increases even more to around \qty{170}{\degreeCelsius} (\qty{338}{\degF}),
|
As the temperature increases further the crust thickens. The Maillard reaction
|
||||||
the caramelization process begins. The remaining sugars the microbes
|
kicks in, deforming proteins and starches. The outside of your dough starts to
|
||||||
|
become browner and crisper, this process begins at
|
||||||
|
around~\qty{140}{\degreeCelsius} (\qty{284}{\degF})
|
||||||
|
|
||||||
|
Once the temperature increases even more to around~\qty{170}{\degreeCelsius}
|
||||||
|
(\qty{338}{\degF}),
|
||||||
|
the caramelization process begins, the remaining sugars and the microbes which
|
||||||
did not convert yet start to brown and darken. You can keep baking
|
did not convert yet start to brown and darken. You can keep baking
|
||||||
for as long as you like to achieve the crust color that you
|
for as long as you like to achieve the crust color that you
|
||||||
like\footnote{This really depends a lot on your personal preference.
|
like\footnote{This really depends a lot on your personal preference.
|
||||||
@@ -95,65 +88,53 @@ heat your bread in the oven one more time to continue building a
|
|||||||
darker crust.}.
|
darker crust.}.
|
||||||
|
|
||||||
The best method to know that your dough is done is to take
|
The best method to know that your dough is done is to take
|
||||||
the temperature of your dough. You can use a barbecue thermometer
|
the temperature of your dough, you can use a barbecue thermometer
|
||||||
to measure it. Once the core temperature is at around \qty{92}{\degreeCelsius} (\qty{197}{\degF}),
|
to measure it. Once the core temperature is at around~\qty{92}{\degreeCelsius}
|
||||||
|
(\qty{197}{\degF}),
|
||||||
you can stop the baking process. This is typically not done though
|
you can stop the baking process. This is typically not done though
|
||||||
as the crust hasn't been built yet\footnote{The thermometer is
|
as the crust hasn't been built yet\footnote{The thermometer is
|
||||||
especially important when using a large loaf pan. It is sometimes
|
especially important when using a large loaf pan. It is sometimes
|
||||||
very hard to judge from the outside if the dough is done. I~failed
|
very hard to judge from the outside if the dough is done. I~failed
|
||||||
many times and ended up having a semi baked dough.}.
|
many times and ended up having a semi baked dough.}.
|
||||||
|
|
||||||
Once your dough has finished baking, it is ready to eat. Your
|
Once your dough has finished baking, it is ready to eat: your
|
||||||
dough has turned into a bread. At this
|
dough has turned into a bread. At this
|
||||||
point, your bread is sterile as the temperature was too hot for
|
point, your bread is sterile as the temperature was too hot for
|
||||||
for the microorganisms to survive\footnote{I~wonder though
|
for the microorganisms to survive\footnote{I~wonder though
|
||||||
if a starter culture could be grown again from a slice of bread.
|
if a starter culture could be grown again from a slice of bread.
|
||||||
Under heat stress the microorganisms begin sporulating. Maybe
|
Under heat stress the microorganisms begin sporulating. Maybe
|
||||||
some of the spores survive the baking process and could be reactivated
|
some of the spores survive the baking process and could be reactivated
|
||||||
later? If this worked, you could use any store bought sourdough
|
later? If this works, you could use any store bought sourdough
|
||||||
bread as a source for a new starter.}.
|
bread as a source for a new starter.}.
|
||||||
|
|
||||||
\section{The role of steam}
|
\section{The role of steam}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
|
||||||
\includegraphics[width=\textwidth]{oven-example}
|
|
||||||
\caption[Home oven baking example to maximize steam]{My default home oven setup. The tray of rocks
|
|
||||||
and tray on top of the rolls greatly improve the steaming capabilities. This way the bread can
|
|
||||||
rise more during the initial stage of the baking process.}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
Steam is essential when baking as it helps to counter premature
|
Steam is essential when baking as it helps to counter premature
|
||||||
crust building. During the first stage of the bake, the dough
|
crust building. During the first stage of the bake, the dough
|
||||||
increases in size. The water in your dough evaporates and pushes
|
increases in size as the water in your dough evaporates and pushes
|
||||||
the whole dough upwards.
|
the whole dough upwards.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
|
||||||
\includegraphics[width=\textwidth]{baking-process-steam.jpg}
|
|
||||||
\caption[Steam building with inverted tray]{How steam builds in your oven
|
|
||||||
using the later described inverted tray method.}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
Normally, under high heat a crust would form. Just like
|
Normally, under high heat a crust would form. Just like
|
||||||
if you were to bake vegetables in your home oven, at some point
|
if you were to bake vegetables in your home oven, at some point
|
||||||
they become darker and crisper. This is the same thing that
|
they become darker and crisper. This is the same thing that
|
||||||
happens with your dough. You want to delay this process
|
happens with your dough, and you want to delay this process
|
||||||
as long as possible until your dough no longer expands.
|
as long as possible until your dough no longer expands.
|
||||||
Expansion stops when most of the microbes have died and
|
Expansion stops when most of the microbes have died and
|
||||||
the evaporating water no longer stays inside the alveoli.
|
the evaporating water no longer stays inside the alveoli.
|
||||||
|
|
||||||
The stronger the gluten network, the more gas can be retained
|
The stronger the gluten network, the more gas can be retained
|
||||||
during the baking process. This gluten network at some point
|
during the baking process. This gluten network at some point
|
||||||
loses its ability to contain gas as the temperature heats
|
loses its ability to contain gas as the temperature heats
|
||||||
up. The dough stops increasing in size. The steam plays
|
up. The dough stops increasing in size. The steam plays
|
||||||
an important role as it condenses and evaporates on top
|
an important role as it condenses and evaporates on top
|
||||||
of your dough. The surface temperature is rapidly increasing
|
of your dough. The surface temperature is rapidly increasing
|
||||||
to around \qty{75}{\degreeCelsius} (\qty{160}{\degF}). At this temperature the gel starts
|
to around~\qty{75}{\degreeCelsius} (\qty{160}{\degF}). At this temperature the
|
||||||
to build. This gel is still extensible and allows expansion.
|
gel starts to build, and is still extensible and allows expansion.
|
||||||
Without the steam, the dough would never enter the gel stage,
|
Without the steam, the dough would never enter the gel stage,
|
||||||
but instead directly go to the Maillard reaction zone. You
|
but instead directly go to the Maillard reaction zone. You
|
||||||
want your dough to stay in this gel stage as long as possible
|
want your dough to stay in this gel stage as long as possible
|
||||||
to achieve maximum expansion\footnote{You can remove your
|
to achieve maximum expansion\footnote{You can remove your
|
||||||
dough from the oven after 5~minutes to see the gel. You will notice
|
dough from the oven after 5~minutes to see the gel. You will notice
|
||||||
that it holds the dough's structure. It has a very interesting consistency.}.
|
that it holds the dough's structure and it has a very interesting consistency.}.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{baking-process-stage-2.jpg}
|
\includegraphics[width=\textwidth]{baking-process-stage-2.jpg}
|
||||||
@@ -164,10 +145,9 @@ that it holds the dough's structure. It has a very interesting consistency.}.
|
|||||||
When not steaming enough, you will notice that the scoring
|
When not steaming enough, you will notice that the scoring
|
||||||
incisions do not properly open up during the bake. They stay
|
incisions do not properly open up during the bake. They stay
|
||||||
closed as the dough is unable to push through the crust.
|
closed as the dough is unable to push through the crust.
|
||||||
|
Another common sign, as you can see in Figure~\ref{fig:too-little-steam} is
|
||||||
Another common sign is that you have larger pockets
|
that you have larger pockets of air towards the crust of your dough. As the
|
||||||
of air towards the crust of your dough. As the dough increases
|
dough increases vertically, expansion is halted by the crust. The pockets
|
||||||
vertically, expansion is halted by the crust. The pockets
|
|
||||||
of air converge into larger pockets as the pressure increases.
|
of air converge into larger pockets as the pressure increases.
|
||||||
This can also happen when you are baking at too high a temperature.
|
This can also happen when you are baking at too high a temperature.
|
||||||
|
|
||||||
@@ -184,10 +164,34 @@ way.
|
|||||||
\caption[Bread baked too hot]{A submission by Karomizu showing a bread that
|
\caption[Bread baked too hot]{A submission by Karomizu showing a bread that
|
||||||
has been baked at too high a temperature or with too little steam. Note
|
has been baked at too high a temperature or with too little steam. Note
|
||||||
the large pockets of air towards the crust. They are a typical
|
the large pockets of air towards the crust. They are a typical
|
||||||
indicator.}
|
indicator.}%
|
||||||
|
\label{fig:too-little-steam}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Dutch ovens}
|
\section{Building up steam}
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-baking-process.tex}
|
||||||
|
\caption[Different steaming methods]{A schematic visualization of the baking
|
||||||
|
process using different sources of steam in a home oven.}%
|
||||||
|
\label{fig:baking-process}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\includegraphics[width=\textwidth]{oven-example}
|
||||||
|
\caption[Home oven baking example to maximize steam]{My default home oven setup. The tray of rocks
|
||||||
|
and tray on top of the rolls greatly improve the steaming capabilities. This way the bread can
|
||||||
|
rise more during the initial stage of the baking process.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\includegraphics[width=\textwidth]{baking-process-steam.jpg}
|
||||||
|
\caption[Steam building with inverted tray]{How steam builds in your oven
|
||||||
|
using the later described inverted tray method.}%
|
||||||
|
\label{flc:inverted-tray}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{Dutch ovens}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{dutch-oven-example}
|
\includegraphics[width=\textwidth]{dutch-oven-example}
|
||||||
@@ -200,7 +204,7 @@ way.
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-dutch-oven-process.tex}
|
\input{figures/fig-dutch-oven-process.tex}
|
||||||
\caption[Baking process with a dutch oven]{A visualization of the baking
|
\caption[Baking process with a dutch oven]{A visualization of the baking
|
||||||
process using a dutch oven (DO). The dough is steamed for the first half
|
process using a dutch oven (DO). The dough is steamed for the first half
|
||||||
@@ -209,7 +213,6 @@ way.
|
|||||||
personal preference. Some bakers prefer a lighter crust and others a
|
personal preference. Some bakers prefer a lighter crust and others a
|
||||||
darker.}%
|
darker.}%
|
||||||
\label{fig:dutch-oven-process}
|
\label{fig:dutch-oven-process}
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
\end{flowchart}
|
||||||
|
|
||||||
Dutch ovens are an ideal way to bake with a lot of
|
Dutch ovens are an ideal way to bake with a lot of
|
||||||
@@ -239,18 +242,19 @@ as the size of the Dutch oven is limited.
|
|||||||
In many cases, it makes sense to bake multiple
|
In many cases, it makes sense to bake multiple
|
||||||
loaves in one go. It makes the whole process more
|
loaves in one go. It makes the whole process more
|
||||||
efficient as you have to knead less per loaf. The time it
|
efficient as you have to knead less per loaf. The time it
|
||||||
takes to make one loaf is significantly reduced. Furthermore,
|
takes to make one loaf is significantly reduced on average. Furthermore,
|
||||||
you don't require as much energy. You don't have
|
you don't require as much energy. You don't have
|
||||||
to preheat your oven twice for each loaf.
|
to preheat your oven twice for each loaf.
|
||||||
|
|
||||||
An additional disadvantage of Dutch ovens is the
|
An additional disadvantage of Dutch ovens is the
|
||||||
need to move very hot and heavy cast iron. \footnote{
|
need to move very hot and heavy cast iron\footnote{%
|
||||||
Some of them can weigh up to 10 kg. Moving them is quite
|
Some of them can weigh up to 10 kg. Moving them is quite
|
||||||
a tedious exercise. Especially if the cast iron is
|
a tedious exercise. Especially if the cast iron is
|
||||||
heated you have to be very concise with your movements.
|
heated you have to be very concise with your movements.
|
||||||
Despite doing my best I have a few scars on my
|
Despite doing my best I have a few scars on my
|
||||||
hands and arms from operating the Dutch ovens.
|
hands and arms from operating the Dutch ovens.
|
||||||
} You will need to be very careful and ideally use
|
}.
|
||||||
|
You will need to be very careful and ideally use
|
||||||
heat-resilient gloves when touching your Dutch oven.
|
heat-resilient gloves when touching your Dutch oven.
|
||||||
|
|
||||||
Furthermore, some of the Dutch ovens come at a hefty
|
Furthermore, some of the Dutch ovens come at a hefty
|
||||||
@@ -259,24 +263,23 @@ top of other tools can be quite a hefty investment. For
|
|||||||
this reason, I advocate the inverted tray method visualized
|
this reason, I advocate the inverted tray method visualized
|
||||||
in the next section. In case you do not own an oven consider trying
|
in the next section. In case you do not own an oven consider trying
|
||||||
the simple flatbread recipe which is baked in a pan. Please
|
the simple flatbread recipe which is baked in a pan. Please
|
||||||
refer to section \ref{section:flat-bread-recipe} for more details.
|
refer to Section~\ref{subsec:flat-bread-recipe} for more details.
|
||||||
|
|
||||||
|
|
||||||
\section{Inverted tray method}
|
\subsection{Inverted tray method}
|
||||||
|
|
||||||
The inverted tray method simulates a Dutch oven.
|
The inverted tray method simulates a Dutch oven.
|
||||||
By placing another tray on top of your dough, the steam
|
By placing another tray on top of your dough, the steam
|
||||||
created from the dough and water source stays
|
created from the dough and water source stays
|
||||||
around your dough.
|
around your dough.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-inverted-tray-method.tex}
|
\input{figures/fig-inverted-tray-method.tex}
|
||||||
\caption[Inverted tray baking process]{A schematic visualization the
|
\caption[Inverted tray baking process]{A schematic visualization the
|
||||||
inverted tray baking method that works great for home ovens.}%
|
inverted tray baking method that works great for home ovens.}%
|
||||||
\label{fig:inverted-tray-process}
|
\label{fig:inverted-tray-process}
|
||||||
\end{center}
|
\end{flowchart}
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
The biggest advantage of this method compared to the
|
The biggest advantage of this method compared to the
|
||||||
@@ -328,11 +331,10 @@ crust color. In my case this is another 15--25~minutes typically.
|
|||||||
\section{Conclusions}
|
\section{Conclusions}
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-oven-baking-overview.tex}
|
\input{tables/table-oven-baking-overview.tex}
|
||||||
\caption[Different oven types]{An overview of different oven types and their
|
\caption[Different oven types]{An overview of different oven types and their
|
||||||
different baking methods.}
|
different baking methods.}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
Depending on your home oven, a different method
|
Depending on your home oven, a different method
|
||||||
|
|||||||
@@ -9,17 +9,18 @@ learn more about the yeast and bacterial microorganisms involved.
|
|||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
\includegraphics[width=\textwidth]{infographic-enzymes}
|
\includegraphics[width=\textwidth]{infographic-enzymes}
|
||||||
\caption[Interaction of amylases and flour]{How amylases and proteases
|
\caption[Interaction of amylases and flour]{How amylases and proteases
|
||||||
interact with flour.}%
|
interact with flour.}%
|
||||||
\label{infographic-enzymes}
|
\label{fig:infographic-enzymes}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Enzymatic reactions}
|
\section{Enzymatic reactions}
|
||||||
|
|
||||||
To understand the many enzymatic reactions that take place when flour
|
To understand the many enzymatic reactions that take place when flour
|
||||||
and water are mixed, we must first understand seeds and their role in
|
and water are mixed, we must first understand seeds and their role in
|
||||||
the lifecycle of wheat and other grains.
|
the life cycle of wheat and other grains.
|
||||||
|
|
||||||
Seeds are the primary means by which many plants, including wheat,
|
Seeds are the primary means by which many plants, including wheat,
|
||||||
reproduce. Each seed contains the embryo of another plant, and must
|
reproduce. Each seed contains the embryo of another plant, and must
|
||||||
@@ -43,7 +44,7 @@ activity so that it can thrive in its new environment.
|
|||||||
Of course, a ground flour can no longer sprout. But the enzymes that
|
Of course, a ground flour can no longer sprout. But the enzymes that
|
||||||
trigger this process are still present. That's why it's important not to
|
trigger this process are still present. That's why it's important not to
|
||||||
mill grains at too high a temperature, as doing so could damage some of
|
mill grains at too high a temperature, as doing so could damage some of
|
||||||
these enzymes\footnote{In a recent
|
these enzymes\footnote{In a recent
|
||||||
study~\cite{milling+commercial+home+mill+comparison} tests have shown that
|
study~\cite{milling+commercial+home+mill+comparison} tests have shown that
|
||||||
milling flour
|
milling flour
|
||||||
at home with a small mill had no significant negative impact on the resulting
|
at home with a small mill had no significant negative impact on the resulting
|
||||||
@@ -75,12 +76,13 @@ is used to create sugars out of the starch to then produce more plant matter.
|
|||||||
Normally,
|
Normally,
|
||||||
the microorganisms on the surface of the grain can't consume the freed maltose
|
the microorganisms on the surface of the grain can't consume the freed maltose
|
||||||
molecules, which remain hidden inside the germ. But as we grind the flour, a
|
molecules, which remain hidden inside the germ. But as we grind the flour, a
|
||||||
feeding frenzy takes place. Generally, the warmer the temperature, the faster
|
feeding frenzy takes place. Generally, the warmer the temperature, the faster
|
||||||
this reaction occurs. That's why a long fermentation is key to making great
|
this reaction occurs. However, it takes time for the amylase
|
||||||
bread. It takes time for the amylase to break down most of the starch into
|
to break down most of the starch into simple sugars---which are not only
|
||||||
simple sugars, which are not only consumed by the yeast but are also essential
|
consumed by the yeast but are also
|
||||||
to the \emph{Maillard reaction}, responsible for enhanced browning during the
|
essential to the \emph{Maillard reaction}---responsible for
|
||||||
baking process.
|
enhanced browning during the baking process.
|
||||||
|
That's why a long fermentation is key to making great bread.
|
||||||
|
|
||||||
If you're a hobby brewer, you'll know that it's important to keep your beer at
|
If you're a hobby brewer, you'll know that it's important to keep your beer at
|
||||||
certain temperatures to allow the different amylases to convert the contained
|
certain temperatures to allow the different amylases to convert the contained
|
||||||
@@ -176,13 +178,13 @@ gluten content, however, my bread always turned out great.
|
|||||||
|
|
||||||
At the time, I~utilized an extended autolyse, which is just a fancy word for
|
At the time, I~utilized an extended autolyse, which is just a fancy word for
|
||||||
mixing flour and water in advance and then letting the mixture sit. Most
|
mixing flour and water in advance and then letting the mixture sit. Most
|
||||||
recipes call for it as the process gives the dough an enzymatic head start, and
|
recipes call for it as the process gives the dough an enzymatic head start,
|
||||||
in general it's a great idea. However, as an equally effective alternative,
|
and in general it's a great idea. However, as an equally effective
|
||||||
you could simply reduce the amount of leavening agent used --- in the case of
|
alternative, you could simply reduce the amount of leavening agent used---in
|
||||||
sourdough, this would be your starter. This would allow the same biochemical
|
the case of sourdough, this would be your starter. This would allow the same
|
||||||
reactions to occur at roughly the same rate without requiring you to mix your
|
biochemical reactions to occur at roughly the same rate without requiring you
|
||||||
dough several times. My whole-wheat game improved dramatically after I~stopped
|
to mix your dough several times. My whole-wheat game improved dramatically
|
||||||
autolysing my doughs.
|
after I~stopped autolysing my doughs.
|
||||||
|
|
||||||
Now that I've had time to think about it, the result I~observed makes sense.
|
Now that I've had time to think about it, the result I~observed makes sense.
|
||||||
In nature, the outer parts of the seed come into contact with water first, and
|
In nature, the outer parts of the seed come into contact with water first, and
|
||||||
@@ -190,17 +192,19 @@ only after penetrating this barrier would the water slowly find its way to the
|
|||||||
center of the grain. The seed needs to sprout first to outcompete other nearby
|
center of the grain. The seed needs to sprout first to outcompete other nearby
|
||||||
seeds, requiring water to enter quickly. Yet the seed must also defend itself
|
seeds, requiring water to enter quickly. Yet the seed must also defend itself
|
||||||
against animals and potentially hazardous bacteria and fungi, requiring some
|
against animals and potentially hazardous bacteria and fungi, requiring some
|
||||||
barrier to protect the embryo inside. A way for the plant to achieve both goals
|
barrier to protect the embryo inside. A way for the plant to achieve both
|
||||||
would be for most of the enzymes to exist in the outer parts of the hull. As a
|
goals would be for most of the enzymes to exist in the outer parts of the
|
||||||
result, they are activated first~\cite{enzymatic+activity+whole+wheat}. Therefore, by just adding a
|
hull. As a result, they are activated
|
||||||
|
first~\cite{enzymatic+activity+whole+wheat}. Therefore, by just adding a
|
||||||
little bit of whole flour to your dough, you should be able to significantly
|
little bit of whole flour to your dough, you should be able to significantly
|
||||||
improve the enzymatic activity of your dough. That's why, for plain white flour
|
improve the enzymatic activity of your dough. That's why, for plain white
|
||||||
doughs, I~usually add 10\textendash20\% whole-wheat flour.
|
flour doughs, I~usually add \qtyrange{10}{20}{\percent} whole-wheat flour.
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
\includegraphics[width=\textwidth]{whole-wheat-crumb}
|
\includegraphics[width=\textwidth]{whole-wheat-crumb}
|
||||||
\caption{A whole-wheat sourdough bread.}%
|
\caption{A whole-wheat sourdough bread.}%
|
||||||
\label{whole-wheat-crumb}
|
\label{fig:whole-wheat-crumb}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
By understanding the two key enzymes \emph{amylase} and \emph{protease}, you
|
By understanding the two key enzymes \emph{amylase} and \emph{protease}, you
|
||||||
@@ -211,22 +215,22 @@ tweak just by adjusting the speed of your dough's fermentation.
|
|||||||
|
|
||||||
\section{Yeast}
|
\section{Yeast}
|
||||||
|
|
||||||
Yeasts are single-celled microorganisms belonging to the fungi kingdom, and
|
Yeasts are single-celled microorganisms belonging to the fungi kingdom. They
|
||||||
spores that are hundreds of millions of years old have been identified by
|
can reproduce through either budding or by building spores. The spores are
|
||||||
scientists. There are a wide variety of species --- so far, about \num{1500}
|
incredibly tiny and resistant to external factors. Scientists have found
|
||||||
have been identified. Unlike other members of the fungi kingdom such as mold,
|
undamaged spores that are hundreds of million years old. There are a wide
|
||||||
yeasts do not ordinarily create a mycelium
|
variety of species---so far, about \num{1500} have been identified. Unlike
|
||||||
network~\cite{molecular+mechanisms+yeast}.\footnote{For one interesting
|
other members of the fungi kingdom such as mold, yeasts do not ordinarily
|
||||||
exception, skip ahead to the end of this section on
|
create a mycelium network~\cite{molecular+mechanisms+yeast}.\footnote{For one
|
||||||
page~\pageref{aggressive-yeast}.}
|
interesting exception, skip ahead to the end of this section on
|
||||||
|
page~\pageref{sec:aggressive-yeast}.}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\includegraphics[width=0.8\textwidth]{saccharomyces-cerevisiae-microscope}
|
\includegraphics[width=0.8\textwidth]{saccharomyces-cerevisiae-microscope}
|
||||||
\caption[Brewer's yeast]{Saccharomyces cerevisiae: Brewer's yeast under the
|
\caption[Brewer's yeast]{Saccharomyces cerevisiae: Brewer's yeast under the
|
||||||
microscope.}%
|
microscope.}%
|
||||||
\label{saccharomyces-cerevisiae-microscope}
|
\label{fig:saccharomyces-cerevisiae-microscope}
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Yeasts are saprotrophic fungi. This means that they do not produce their own
|
Yeasts are saprotrophic fungi. This means that they do not produce their own
|
||||||
@@ -321,7 +325,7 @@ inoculated with some of the 150 different wild yeast strains isolated from the
|
|||||||
leaves. They found that when the wound was inoculated with yeast, the grape
|
leaves. They found that when the wound was inoculated with yeast, the grape
|
||||||
sustained no significant damage~\cite{yeasts+biocontrol+agent}.
|
sustained no significant damage~\cite{yeasts+biocontrol+agent}.
|
||||||
|
|
||||||
\phantomsection \label{aggressive-yeast}%
|
\phantomsection~\label{sec:aggressive-yeast}%
|
||||||
Intriguingly, there was also an experiment performed that showed how brewer's
|
Intriguingly, there was also an experiment performed that showed how brewer's
|
||||||
yeast could function as an aggressive pathogen to grapevines. Initially, the
|
yeast could function as an aggressive pathogen to grapevines. Initially, the
|
||||||
yeast lived in symbiosis with the plants, but after the vines sustained heavy
|
yeast lived in symbiosis with the plants, but after the vines sustained heavy
|
||||||
@@ -332,7 +336,7 @@ so that they could penetrate the tissue of the plants.
|
|||||||
\section{Bacteria}
|
\section{Bacteria}
|
||||||
|
|
||||||
The other most dominant microbial antagonists in your sourdough are bacteria.
|
The other most dominant microbial antagonists in your sourdough are bacteria.
|
||||||
In fact, they are so dominant that they outnumber the yeast in your dough
|
In fact, they are so dominant that they outnumber the yeast in your dough
|
||||||
100~to~1. Whereas yeast provides leavening power, bacteria create the distinct
|
100~to~1. Whereas yeast provides leavening power, bacteria create the distinct
|
||||||
flavours for which sourdough has been named. These are due to the acidic
|
flavours for which sourdough has been named. These are due to the acidic
|
||||||
byproducts that result from bacterial feeding. As a bonus, these acids
|
byproducts that result from bacterial feeding. As a bonus, these acids
|
||||||
@@ -340,10 +344,11 @@ can significantly increase the shelf life of sourdough
|
|||||||
breads~\cite{shelflife+acidity}.
|
breads~\cite{shelflife+acidity}.
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
\includegraphics[width=1.0\textwidth]{bacteria-microscope}
|
\includegraphics[width=1.0\textwidth]{bacteria-microscope}
|
||||||
\caption[Bacteria under the microscope]{Fructilactobacillus Sanfranciscensis
|
\caption[Bacteria under the microscope]{Fructilactobacillus
|
||||||
under the microscope.}%
|
sanfranciscensis under the microscope.}%
|
||||||
\label{lactobacillus-franciscensis-microscope}
|
\label{fig:lactobacillus-franciscensis-microscope}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
There are two predominant types of acid produced in sourdough bread: lactic and
|
There are two predominant types of acid produced in sourdough bread: lactic and
|
||||||
@@ -367,14 +372,15 @@ Others have reported that bacteria feed on the byproducts of yeast and vice
|
|||||||
versa. This makes sense, as nature generally does a superb job of composting
|
versa. This makes sense, as nature generally does a superb job of composting
|
||||||
and breaking down biological matter~\cite{lactobacillus+sanfrancisco}.
|
and breaking down biological matter~\cite{lactobacillus+sanfrancisco}.
|
||||||
|
|
||||||
I~have yet to find a proper source that clearly describes the symbiosis between
|
I~have yet to find a proper source that clearly describes the symbiosis
|
||||||
yeast and bacteria, but my current understanding is that they both coexist and
|
between yeast and bacteria, but my current understanding is that they both
|
||||||
sometimes benefit each other, but not always. Yeast, for example, tolerate the
|
coexist and sometimes benefit each other, but not always. Yeast, for example,
|
||||||
acidic environment created by the surrounding bacteria and are thus protected
|
tolerate the acidic environment created by the surrounding bacteria and are
|
||||||
from other pathogens. Meanwhile, however, other research demonstrates that both
|
thus protected from other pathogens. Meanwhile, however, other research
|
||||||
types of microorganisms produce compounds that prevent the other from
|
demonstrates that both types of microorganisms produce compounds that prevent
|
||||||
metabolizing food --- an interesting observation, by the way, as it could help to
|
the other from metabolizing food---an interesting observation, by the way, as
|
||||||
identify additional antibiotics or fungicides~\cite{mold+lactic+acid+bacteria}.
|
it could help to identify additional antibiotics or
|
||||||
|
fungicides~\cite{mold+lactic+acid+bacteria}.
|
||||||
|
|
||||||
In the past, I've tried cultivating mushrooms and observed the mycelium
|
In the past, I've tried cultivating mushrooms and observed the mycelium
|
||||||
attempting to defend itself against the surrounding bacteria; both types of
|
attempting to defend itself against the surrounding bacteria; both types of
|
||||||
|
|||||||
@@ -7,3 +7,12 @@
|
|||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
.float {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.float img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
height: auto;
|
||||||
|
object-fit: contain;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,9 +18,8 @@
|
|||||||
\ifdefined\HCode\else\tableofcontents\fi
|
\ifdefined\HCode\else\tableofcontents\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
\input{intro/foreword}
|
|
||||||
\input{intro/preface}
|
\input{intro/preface}
|
||||||
\input{intro/acknowledgements}
|
\input{intro/acknowledgments}
|
||||||
|
|
||||||
\mainmatter
|
\mainmatter
|
||||||
|
|
||||||
@@ -28,45 +27,35 @@
|
|||||||
|
|
||||||
\input{basics/how-sourdough-works}
|
\input{basics/how-sourdough-works}
|
||||||
|
|
||||||
\chapter{Making a sourdough starter}
|
|
||||||
\input{sourdough-starter/sourdough-starter}
|
\input{sourdough-starter/sourdough-starter}
|
||||||
|
|
||||||
\chapter{Sourdough starter types}
|
|
||||||
\input{sourdough-starter/sourdough-starter-types}
|
\input{sourdough-starter/sourdough-starter-types}
|
||||||
|
|
||||||
\chapter{Flour types}
|
|
||||||
\input{flour-types/flour-types}
|
\input{flour-types/flour-types}
|
||||||
|
|
||||||
\chapter{Bread types}
|
|
||||||
\input{bread-types/bread-types}
|
\input{bread-types/bread-types}
|
||||||
|
|
||||||
\chapter{Wheat sourdough}%
|
|
||||||
\label{chapter:wheat-sourdough}
|
|
||||||
\input{wheat-sourdough/wheat-sourdough}
|
\input{wheat-sourdough/wheat-sourdough}
|
||||||
|
|
||||||
\chapter{Non wheat sourdough}%
|
|
||||||
\label{chapter:non-wheat-sourdough}
|
|
||||||
\input{non-wheat-sourdough/non-wheat-sourdough}
|
\input{non-wheat-sourdough/non-wheat-sourdough}
|
||||||
|
|
||||||
% \input{mix-ins/mix-ins.tex}
|
\input{mix-ins/mix-ins.tex}
|
||||||
\chapter{Baking}%
|
|
||||||
\label{chapter:baking}
|
|
||||||
\input{baking/baking}
|
\input{baking/baking}
|
||||||
|
|
||||||
\chapter{Storing bread}%
|
|
||||||
\label{chapter:storing-bread}
|
|
||||||
\input{storing-bread/storing-bread}
|
\input{storing-bread/storing-bread}
|
||||||
|
|
||||||
\chapter{Troubleshooting}
|
\chapter{Troubleshooting}
|
||||||
\input{troubleshooting/misc}
|
\input{troubleshooting/misc}
|
||||||
|
|
||||||
\backmatter
|
\backmatter
|
||||||
\printbibliography
|
\input{glossary/glossary}
|
||||||
{%
|
{%
|
||||||
\hypersetup{hidelinks}
|
\hypersetup{hidelinks}
|
||||||
\listofflowcharts
|
\listofflowcharts
|
||||||
\listoftables
|
\listoftables
|
||||||
\listoffigures
|
\listoffigures
|
||||||
}
|
}
|
||||||
|
\printbibliography
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
book.mk4
|
|
||||||
@@ -1,4 +1,2 @@
|
|||||||
\def\isaccessible{1}
|
\def\isaccessible{1}
|
||||||
% We have to use a symlink to book.tex to prevent tex4ebook to load book.ht4
|
\input{book.tex}
|
||||||
% before loading any other package and create conflicts
|
|
||||||
\input{sourdough_book.tex}
|
|
||||||
|
|||||||
@@ -1,53 +1,251 @@
|
|||||||
|
\chapter{Bread types}%
|
||||||
|
\label{ch:bread-types}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter you will learn about different bread types and their
|
In this chapter you will learn about different bread types and their
|
||||||
advantages and disadvantages. At the end of this chapter you can find a very
|
advantages and disadvantages. You can also find very simple recipes for
|
||||||
simple flatbread recipe. This is probably the most accessible, least effort
|
flatbread and pan loaf. The former is probably the most accessible, least
|
||||||
type of bread you can make. If you are a busy person and/or don't have an
|
effort type of bread you can make, while the latter is a little more involved.
|
||||||
oven, this might be exactly the type of bread you should consider.
|
Free standing bread has its own chapter, due to its increased complexity.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
|
\section{Introduction}%
|
||||||
|
\label{sec:intro}
|
||||||
|
|
||||||
|
In this section we classify bread by its baking techniques. The appearance and
|
||||||
|
taste will of course be different, but you can get excellent bread with each
|
||||||
|
of them. Some breads will require investment and technique, as depicted in
|
||||||
|
Table~\ref{tab:bread-types-comparison}. Flatbread is probably the most
|
||||||
|
accessible, least effort type of bread you can make. If you are a busy person
|
||||||
|
and/or don’t have an oven, this might be exactly the type of bread you should
|
||||||
|
consider.
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-overview-bread-types.tex}
|
\input{tables/table-overview-bread-types.tex}
|
||||||
\caption[Different bread types]{An overview of different bread types
|
\caption[Different bread types]{An overview of different bread types
|
||||||
and their respective complexity.}%
|
and their respective complexity.}%
|
||||||
\label{tab:bread-types-comparison}
|
\label{tab:bread-types-comparison}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\section{Flatbread}
|
\section{Flatbread}%
|
||||||
|
\label{sec:flatbread}
|
||||||
|
|
||||||
Flatbread is probably the simplest sourdough bread to make.
|
Flatbread is probably the simplest sourdough bread to make.
|
||||||
To make a flatbread no oven is required; all you need is a stove.
|
To make a flatbread no oven is required; all you need is a stove.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-stove}
|
\includegraphics[width=\textwidth]{flat-breads-selection}
|
||||||
\caption[Einkorn done on open fire]{An einkorn flatbread made directly over
|
\caption[Flatbread selection with different flours]{An assorted selection of
|
||||||
fire. This is part of a video where I~was trying to reproduce sourdough
|
different flatbreads made with sourdough. From left to right:
|
||||||
recipes of our ancestors. I~called the recipe ``cave bread''. Some
|
Wheat~tortilla, rye, spelt and corn.}%
|
||||||
viewers pointed out that probably not all our ancestors lived in caves.}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
This type of bread is super simple to make as you can skip
|
This type of bread is super simple to make as you can skip
|
||||||
a lot of the technique that is normally required. The flatbread
|
a lot of the technique that is normally required to make wheat doughs.
|
||||||
can be made with all kinds of flours. You can even use
|
The flatbread can be made with all kinds of flours. You can even use
|
||||||
flour without gluten, such as corn or rice flour, to make the
|
flour without gluten, such as corn or rice flour, to make the
|
||||||
dough. To make the flatbread a little more fluffy, you
|
dough. To make the flatbread a little more fluffy, you
|
||||||
can use a little bit of wheat flour. The developing gluten
|
can use a little bit of wheat flour. The developing gluten
|
||||||
will trap the gasses. During baking, these gasses will
|
will trap the gases. During baking, these gases will
|
||||||
inflate the dough.
|
inflate the dough.
|
||||||
|
|
||||||
Another trick to improve the texture of the flatbread is to
|
Another trick to improve the texture of the flatbread is to
|
||||||
make a very wet dough. A lot of the water will evaporate
|
make a very wet dough. A lot of the water will evaporate
|
||||||
during the baking process and thus make the bread fluffier.
|
during the baking process and thus make the bread fluffier.
|
||||||
|
|
||||||
If your water content is very high, it will produce a
|
If your water content is very high, it will produce a
|
||||||
pancake-like consistency.
|
pancake-like consistency, as you can see in
|
||||||
|
Table~\ref{tab:flat-bread-ingredients}
|
||||||
|
|
||||||
Refer to Section~\ref{section:flat-bread-recipe}~``\nameref{section:flat-bread-recipe}''
|
\begin{table}[!htb]
|
||||||
to see a full recipe including the process of making such a flatbread.
|
\centering
|
||||||
|
\input{tables/table-flat-bread-pancake-recipe.tex}
|
||||||
|
\caption[Flatbread recipe]{Flatbread or pancake recipe for 1 person.
|
||||||
|
Multiply the ingredients to increase portion size. Refer to the
|
||||||
|
Section~\ref{sec:bakers-math}
|
||||||
|
``\nameref{sec:bakers-math}'' to learn how to understand and
|
||||||
|
use the percentages properly.}%
|
||||||
|
\label{tab:flat-bread-ingredients}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
\section{Loaf pan bread}
|
For a full recipe including the process of making such a flatbread, refer to
|
||||||
|
Subsection~\ref{subsec:flat-bread-recipe}
|
||||||
|
|
||||||
|
\subsection{Flatbread framework}%
|
||||||
|
\label{subsec:flat-bread-framework}
|
||||||
|
|
||||||
|
As explained above, if you are just getting started, making a flatbread is the
|
||||||
|
easiest way to start making great bread at home. With just a
|
||||||
|
few steps, you can stop buying bread forever. This works with
|
||||||
|
any flour, including gluten-free options.
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-process-flat-bread.tex}
|
||||||
|
\caption[The process to make a sourdough flatbread]{The process of making a flatbread is very
|
||||||
|
simple, requiring very little effort. This type of bread is especially
|
||||||
|
handy for busy bakers.}%
|
||||||
|
\label{fig:flat-bread-process}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
This is my go-to recipe that I~use to make bread whenever
|
||||||
|
I~have little time or when I~am abroad. You can choose
|
||||||
|
between two options:
|
||||||
|
%
|
||||||
|
\begin{enumerate}
|
||||||
|
\item A flatbread similar to a roti or naan bread
|
||||||
|
\item Sourdough pancakes.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
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 \qty{1}{\gram} of your
|
||||||
|
existing sourdough starter and feed it with \qty{5}{\gram} of flour and \qty{5}{\gram} of water.
|
||||||
|
If you do this in the morning, your sourdough starter will be ready in the evening. The
|
||||||
|
warmer it is, the sooner it will be ready, consider
|
||||||
|
using warm water if it is very cold where you live.
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1.0\textwidth]{flat-bread-wheat}
|
||||||
|
\caption[Wheat flatbread]{A flatbread made with purely wheat flour. The
|
||||||
|
dough is drier at around \qty{60}{\percent} hydration. The drier dough
|
||||||
|
is a little harder to mix. As wheat contains more gluten, the dough
|
||||||
|
puffs up during the baking process.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
This way you should have around \qty{11}{\gram} of sourdough ready in the evening. You will have
|
||||||
|
the perfect quantity to make a dough for one person. In case you want to make more
|
||||||
|
bread, simply multiply the quantities shown in
|
||||||
|
Table~\ref{tab:flat-bread-ingredients}.
|
||||||
|
|
||||||
|
Then in the evening simply mix the ingredients as shown in the table. Your dough
|
||||||
|
is going to be ready in the morning. It's typically ready after 6--12~hours. If
|
||||||
|
you use more sourdough starter it will be ready faster, conversely it will take
|
||||||
|
longer if you use less. Try to aim for a fermentation time of 8--12~hours as
|
||||||
|
by using your dough too soon, the flavor might not be as good. By using your
|
||||||
|
dough later it might become a little more sour. The best option is to
|
||||||
|
experiment and see what you personally like the most.
|
||||||
|
|
||||||
|
After mixing the ingredients together cover the container, this prevents the
|
||||||
|
dough from drying out and makes
|
||||||
|
sure no fruit flies get access. A transparent container will be helpful
|
||||||
|
when getting started. You can observe the dough more easily and see when
|
||||||
|
it is ready.
|
||||||
|
|
||||||
|
\begin{figure}[htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread}
|
||||||
|
\caption[Ethiopian \emph{injera}]{An Ethiopian woman baking an \emph{injera}
|
||||||
|
made using teff flour. The image has been provided by Charliefleurene
|
||||||
|
via Wikipedia.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
If you used the flatbread option with less water, look at the size increase
|
||||||
|
of your dough. It should have increased at least \qty{50}{\percent} in size.
|
||||||
|
Also look out for bubbles on the sides of your container.
|
||||||
|
|
||||||
|
When using the pancake recipe, look out for bubbles on the surface of your dough.
|
||||||
|
In both cases use your nose to check the scent of your dough. Depending
|
||||||
|
on your sourdough starter's microbiome your dough will have
|
||||||
|
dairy, fruity, alcoholic notes or vinegary, acetic notes. Relying
|
||||||
|
on the smell of your dough is the best way to judge whether your
|
||||||
|
dough is ready or not. Timings are not reliable as they
|
||||||
|
depend on your starter and the temperature. If your dough
|
||||||
|
is ready too soon, you can now move it directly to the fridge and bake
|
||||||
|
it at a later, more convenient time. The low temperature will halt the fermentation
|
||||||
|
process\footnote{There are some exceptions. In some rare cases your starter
|
||||||
|
might also work at lower temperatures. You might have cultivated microbes that work best at
|
||||||
|
low temperatures. Nevertheless, fermentation
|
||||||
|
is always slower the colder it gets. A fridge really helps to preserve the state
|
||||||
|
of your dough.}
|
||||||
|
and your dough will last for several days. The longer you wait, the more sour the
|
||||||
|
bread is going to be. The fridge is a great option in case you want to
|
||||||
|
take the dough with you when visiting friends. People are going
|
||||||
|
to love you for the freshly baked flatbreads or pancakes. If you dare,
|
||||||
|
you can also taste a little bit of your raw uncooked dough. It is likely
|
||||||
|
going to taste relatively sour. I~do this frequently to better evaluate the
|
||||||
|
state of my doughs.
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1.0\textwidth]{injera-pancake-texture.jpg}
|
||||||
|
\caption[Teff sourdough pancake]{A sourdough pancake made with teff flour.
|
||||||
|
The pockets come from evaporated water and \ch{CO2} created by the
|
||||||
|
microbes. The image has been provided by Łukasz Nowak via Wikipedia.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
If you are feeling lazy or don't have time, you could also use older sourdough starter
|
||||||
|
to make the dough directly without any prior starter feedings. Your sourdough starter
|
||||||
|
is going to regrow inside your dough. Remember that the
|
||||||
|
final bread might be a bit more on the sour side as the balance of yeast to
|
||||||
|
bacteria could be off. In the Table~\ref{tab:flat-bread-ingredients}
|
||||||
|
I~recommended using around \qtyrange{5}{20}{\percent}
|
||||||
|
of sourdough starter based on the flour to make the dough. If you were to follow
|
||||||
|
this approach, just use around \qty{1}{\percent} and make the dough directly.
|
||||||
|
The dough is probably going to be ready 24~hours later, depending on the temperature.
|
||||||
|
|
||||||
|
If you want to make sweet pancakes, add some sugar and optional eggs to your dough
|
||||||
|
now. A good quantity of eggs is around one~egg per \qty{100}{\gram} of flour.
|
||||||
|
Stir your dough a little bit and it will be ready to be used. You'll
|
||||||
|
have delicious sweet savory pancakes, the perfect combination. By
|
||||||
|
adding the sugar now, you make sure that the microbes don't have
|
||||||
|
enough time to fully ferment it. If you had added the sugar
|
||||||
|
earlier, no sweet flavor would be left 12~hours later.
|
||||||
|
|
||||||
|
To bake your dough heat your stove to medium temperature. Add a little bit of
|
||||||
|
oil to the pan. This helps with heat distribution and ensures even cooking.
|
||||||
|
With a spatula or a spoon place your dough in the pan. If your dough
|
||||||
|
was sitting in the fridge, bake it directly. There is no need to wait for your
|
||||||
|
dough to come to room temperature. If you have a lid,
|
||||||
|
place it on your pan. The lid helps to cook your dough from the top.
|
||||||
|
The evaporating water will circulate and heat up the dough's surface. When
|
||||||
|
making a flatbread, make the dough around \qty{1}{\cm} thick. When using the
|
||||||
|
pancake option, opt for around \qtyrange{0.1}{0.5}{\cm} depending on what you
|
||||||
|
like.
|
||||||
|
|
||||||
|
\begin{figure}[htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1.0\textwidth]{einkorn-crumb.jpg}
|
||||||
|
\caption[Einkorn crum]{The crumb of a flatbread made with einkorn as flour.
|
||||||
|
Einkorn is very low in gluten and thus does not trap as much \ch{CO2} as
|
||||||
|
a wheat based dough. To make the dough fluffier use more water or
|
||||||
|
consider adding more wheat to the mix of your dough.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
After 2--4~minutes flip over the pancake or flatbread. Bake it for the same
|
||||||
|
time from the other side. Depending on what you like, you can wait a little
|
||||||
|
longer to allow the bread to become a bit charred. The longer you
|
||||||
|
bake your bread, the more of the acidity is going to evaporate. If your
|
||||||
|
dough is a bit more on the sour side, you can use this trick to balance
|
||||||
|
out the acidity. This really depends on which flavor you are looking for.
|
||||||
|
|
||||||
|
When making a flatbread I~recommend wrapping the baked flatbreads in a kitchen
|
||||||
|
towel. This way more of the evaporating humidity stays inside of your bread,
|
||||||
|
making sure your flatbreads stay nice and fluffy for a longer period after the
|
||||||
|
bake. A similar strategy is used when making corn tortillas.
|
||||||
|
|
||||||
|
You can safely store the baked flatbreads or pancakes in your fridge
|
||||||
|
for weeks. When storing make sure to store them in an airtight plastic bag so that
|
||||||
|
they do not dry out. If they dry out, spray them with some water and toast them.
|
||||||
|
They will be almost as good as when they were freshly baked.
|
||||||
|
|
||||||
|
Keep a little bit of your unbaked dough. You can use it to make the next
|
||||||
|
batch of bread or pancakes for the next day. If you want to bake a few days later, add
|
||||||
|
a little bit of water and flour and store this mixture in your fridge
|
||||||
|
for as long as you like\footnote{The starter will stay good for months. If you expect to
|
||||||
|
leave it longer, consider drying a little bit of your sourdough starter.}.
|
||||||
|
|
||||||
|
\subsection{Simple flatbread recipe}%
|
||||||
|
\label{subsec:flat-bread-recipe}
|
||||||
|
|
||||||
|
By following the steps outlined in this section,
|
||||||
|
you'll be introduced to a versatile bread that's perfect for a myriad of
|
||||||
|
culinary applications. Whether you're scooping up a savory dip,
|
||||||
|
wrapping a flavorful filling, or simply enjoying a piece with a drizzle
|
||||||
|
of olive oil, these flatbreads are sure to impress.
|
||||||
|
|
||||||
|
\input{recipes/flat-bread.tex}
|
||||||
|
|
||||||
|
\section{Loaf pan bread}%
|
||||||
|
\label{sec:loaf-pan-bread}
|
||||||
|
|
||||||
Loaf pan bread is made using the help of a special loaf pan
|
Loaf pan bread is made using the help of a special loaf pan
|
||||||
or loaf tin. The edges of the pan provide additional support
|
or loaf tin. The edges of the pan provide additional support
|
||||||
@@ -93,10 +291,9 @@ evaporating moisture will stay inside.
|
|||||||
A good trick to make excellent loaf pan bread is to make a very
|
A good trick to make excellent loaf pan bread is to make a very
|
||||||
sticky dough. You can opt for a hydration of \qtyrange{90}{100}{\percent}, almost
|
sticky dough. You can opt for a hydration of \qtyrange{90}{100}{\percent}, almost
|
||||||
resembling a default sourdough starter. Just like with flatbread,
|
resembling a default sourdough starter. Just like with flatbread,
|
||||||
the high humidity helps to make a more airy, fluffy crumb. At
|
the high humidity helps to make a more airy, fluffy crumb. The bread will
|
||||||
the same time the bread will be a bit chewier. This
|
also be a bit chewier. This type of bread made with rye is my family's favorite
|
||||||
type of bread made with rye is my family's favorite style of bread.
|
style of bread. The hearty rye flavor paired with the sticky consistency really
|
||||||
The hearty rye flavor paired with the sticky consistency really
|
|
||||||
makes an excellent sandwich bread.
|
makes an excellent sandwich bread.
|
||||||
|
|
||||||
To improve the structure you can also consider using around \qty{50}{\percent}
|
To improve the structure you can also consider using around \qty{50}{\percent}
|
||||||
@@ -126,23 +323,19 @@ baking vessels in your oven. To make a freestanding loaf more steps
|
|||||||
and tools are required.
|
and tools are required.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\includegraphics[width=1.0\textwidth]{free-standing-loaf.jpg}
|
\includegraphics[width=1.0\textwidth]{free-standing-loaf.jpg}
|
||||||
\caption[Freestanding sourdough bread]{A freestanding sourdough bread. Note
|
\caption[Freestanding sourdough bread]{A freestanding sourdough bread. Note
|
||||||
the incision known as an \emph{ear} and the oven spring clearly
|
the incision known as an \emph{ear} and the oven spring clearly
|
||||||
distinguish this type of bread from flatbread and loaf pan bread.}
|
distinguish this type of bread from flatbread and loaf pan bread.}
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Normally you mix your dough. When using wheat you make sure
|
When using wheat, make sure to mix your dough enough to develop a gluten network.
|
||||||
that you mix enough to develop a gluten network.
|
Allow the dough to reach a certain size increase during the fermentation.
|
||||||
You allow the dough to reach
|
Afterward, divide and pre-shape the dough into the desired visual shape you
|
||||||
a certain size increase during the fermentation. Afterwards you divide and pre-shape
|
would like. Each shape requires a different technique. Sometimes achieving
|
||||||
the dough into the desired visual shape that you like.
|
the right shape can be challenging. Making a baguette, for instance,
|
||||||
Each shape requires a different technique. Sometimes achieving
|
requires performing more steps. Mastering this technique takes several attempts.
|
||||||
exactly the right shape can be challenging. Making a baguette,
|
|
||||||
for instance, requires you to perform more steps. Mastering this
|
|
||||||
technique takes several attempts.
|
|
||||||
|
|
||||||
Once the dough is shaped, it is proofed again for a certain
|
Once the dough is shaped, it is proofed again for a certain
|
||||||
period of time. Once the dough is ready, a sharp tool such
|
period of time. Once the dough is ready, a sharp tool such
|
||||||
@@ -154,186 +347,5 @@ performed perfectly, without mistakes.
|
|||||||
But after baking you will be rewarded with a beautiful bread
|
But after baking you will be rewarded with a beautiful bread
|
||||||
with great taste and consistency.
|
with great taste and consistency.
|
||||||
|
|
||||||
There is a fully dedicated recipe and tutorial
|
There is a dedicated recipe and tutorial for this type of bread in the
|
||||||
for this type of bread in the~''\nameref{chapter:wheat-sourdough}''~chapter.
|
\nameref{ch:wheat-sourdough} chapter.
|
||||||
|
|
||||||
\section{Simple flatbread recipe}%
|
|
||||||
\label{section:flat-bread-recipe}
|
|
||||||
|
|
||||||
If you are just getting started, making a flatbread is the
|
|
||||||
easiest way to start making great bread at home. With just a
|
|
||||||
few steps, you can stop buying bread forever. This works with
|
|
||||||
any flour, including gluten-free options.
|
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
|
||||||
\begin{center}
|
|
||||||
\input{figures/fig-process-flat-bread.tex}
|
|
||||||
\caption[Flat bread process]{The process of making a flatbread is very
|
|
||||||
simple, requiring very little effort. This type of bread is especially
|
|
||||||
handy for busy bakers.}%
|
|
||||||
\label{fig:flat-bread-process}
|
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
|
||||||
|
|
||||||
This is my go-to recipe that I~use to make bread whenever
|
|
||||||
I~have little time or when I~am abroad. You can choose
|
|
||||||
between two options:
|
|
||||||
%
|
|
||||||
\begin{enumerate}
|
|
||||||
\item A flatbread similar to a roti or naan bread
|
|
||||||
\item sourdough pancakes.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\begin{table}[!htb]
|
|
||||||
\begin{center}
|
|
||||||
\input{tables/table-flat-bread-pancake-recipe.tex}
|
|
||||||
\caption[Flatbread recipe]{Flatbread or pancake recipe for 1 person.
|
|
||||||
Multiply the ingredients to increase portion size. Refer to the
|
|
||||||
Section~\ref{section:bakers-math}
|
|
||||||
``\nameref{section:bakers-math}'' to learn how to understand and
|
|
||||||
use the percentages properly.}%
|
|
||||||
\label{tab:flat-bread-ingredients}
|
|
||||||
\end{center}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
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 \qty{1}{\gram} of your
|
|
||||||
existing sourdough starter and feed it with \qty{5}{\gram} of flour and \qty{5}{\gram} of water.
|
|
||||||
If you do this in the morning, your sourdough starter will be ready in the evening. The
|
|
||||||
warmer it is, the sooner it will be ready. If it is very cold where you live, consider
|
|
||||||
using warm water.
|
|
||||||
|
|
||||||
\begin{figure}[htb!]
|
|
||||||
\begin{center}
|
|
||||||
\includegraphics[width=1.0\textwidth]{flat-bread-wheat}
|
|
||||||
\caption[Wheat flatbread]{A flatbread made with purely wheat flour. The
|
|
||||||
dough is drier at around \qty{60}{\percent} hydration. The drier dough
|
|
||||||
is a little harder to mix. As wheat contains more gluten, the dough
|
|
||||||
puffs up during the baking process.}
|
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
This way you should have around \qty{11}{\gram} of sourdough ready in the evening. You will have
|
|
||||||
the perfect quantity to make a dough for one person. In case you want to make more
|
|
||||||
bread, simply multiply the quantities shown in
|
|
||||||
Table~\ref{tab:flat-bread-ingredients}.
|
|
||||||
|
|
||||||
Then in the evening simply mix the ingredients as shown in the table. Your dough
|
|
||||||
is going to be ready in the morning. It's typically ready after 6--12~hours. If
|
|
||||||
you use more sourdough starter, it will be ready faster. If you use less it will take
|
|
||||||
longer. Try to aim for a fermentation time of 8--12~hours. If you use
|
|
||||||
your dough too soon, the flavor might not be as good. If you use it later
|
|
||||||
your dough might be a little more sour. The best option is to experiment
|
|
||||||
and see what you personally like the most.
|
|
||||||
|
|
||||||
After mixing the ingredients together, cover the container in which
|
|
||||||
you made the dough. This prevents the dough from drying out and makes
|
|
||||||
sure no fruit flies get access. A transparent container will be helpful
|
|
||||||
when getting started. You can observe the dough more easily and see when
|
|
||||||
it is ready.
|
|
||||||
|
|
||||||
\begin{figure}[htb!]
|
|
||||||
\begin{center}
|
|
||||||
\includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread}
|
|
||||||
\caption[Ethiopian \emph{injera}]{An Ethiopian woman baking an \emph{injera}
|
|
||||||
made using teff flour. The image has been provided by Charliefleurene
|
|
||||||
via Wikipedia.}
|
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
If you used the flatbread option with less water, look at the size increase
|
|
||||||
of your dough. The dough should have increased at least \qty{50}{\percent} in size.
|
|
||||||
Also look out for bubbles on the sides of your container.
|
|
||||||
When using the pancake recipe, look out for bubbles on the surface of your dough.
|
|
||||||
In both cases use your nose to check the scent of your dough. Depending
|
|
||||||
on your sourdough starter's microbiome your dough will have
|
|
||||||
dairy, fruity, alcoholic notes or vinegary, acetic notes. Relying
|
|
||||||
on the smell of your dough is the best way to judge whether your
|
|
||||||
dough is ready or not. Timings are not reliable as they
|
|
||||||
depend on your starter and the temperature. If your dough
|
|
||||||
is ready too soon, you can now move it directly to the fridge and bake
|
|
||||||
it at a later, more convenient time. The low temperature will halt the fermentation
|
|
||||||
process\footnote{There are some exceptions. In some rare cases your starter
|
|
||||||
might also work at lower temperatures. You might have cultivated microbes that work best at
|
|
||||||
low temperatures. Nevertheless, fermentation
|
|
||||||
is always slower the colder it gets. A fridge really helps to preserve the state
|
|
||||||
of your dough.}.
|
|
||||||
and your dough will last for several days. The longer you wait, the more sour the
|
|
||||||
bread is going to be. The fridge is a great option in case you want to
|
|
||||||
take the dough with you when visiting friends. People are going
|
|
||||||
to love you for the freshly baked flatbreads or pancakes. If you dare,
|
|
||||||
you can also taste a little bit of your raw uncooked dough. It is likely
|
|
||||||
going to taste relatively sour. I~do this frequently to better evaluate the
|
|
||||||
state of my doughs.
|
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[htb!]
|
|
||||||
\begin{center}
|
|
||||||
\includegraphics[width=1.0\textwidth]{injera-pancake-texture.jpg}
|
|
||||||
\caption[Teff sourdough pancake]{A sourdough pancake made with teff flour.
|
|
||||||
The pockets come from evaporated water and \ch{CO2} created by the
|
|
||||||
microbes. The image has been provided by Lukasz Nowak via Wikipedia.}
|
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
If you are feeling lazy or don't have time, you could also use older sourdough starter
|
|
||||||
to make the dough directly without any prior starter feedings. Your sourdough starter
|
|
||||||
is going to regrow inside your dough. The
|
|
||||||
final bread might be a bit more on the sour side as the balance of yeast to
|
|
||||||
bacteria could be off. In the Table~\ref{tab:flat-bread-ingredients}
|
|
||||||
I~recommended using around \qtyrange{5}{20}{\percent}
|
|
||||||
of sourdough starter based on the flour to make the dough. If you were to follow
|
|
||||||
this approach, just use around \qty{1}{\percent} and make the dough directly.
|
|
||||||
The dough is probably going to be ready 24~hours later, depending on the temperature.
|
|
||||||
|
|
||||||
If you want to make sweet pancakes, add some sugar and optional eggs to your dough
|
|
||||||
now. A good quantity of eggs is around 1 egg per \qty{100}{\gram} of flour.
|
|
||||||
Stir your dough a little bit and it will be ready to be used. You'll
|
|
||||||
have delicious sweet savory pancakes, the perfect combination. By
|
|
||||||
adding the sugar now, you make sure that the microbes don't have
|
|
||||||
enough time to fully ferment it. If you had added the sugar
|
|
||||||
earlier, no sweet flavor would be left 12~hours later.
|
|
||||||
|
|
||||||
To bake your dough heat your stove to medium temperature. Add a little bit of
|
|
||||||
oil to the pan. This helps with heat distribution and ensures even cooking.
|
|
||||||
With a spatula or a spoon place your dough in the pan. If your dough
|
|
||||||
was sitting in the fridge, bake it directly. There is no need to wait for your
|
|
||||||
dough to come to room temperature. If you have a lid,
|
|
||||||
place it on your pan. The lid helps to cook your dough from the top.
|
|
||||||
The evaporating water will circulate and heat up the dough's surface. When
|
|
||||||
making a flatbread, make the dough around \qty{1}{\cm} thick. When using the
|
|
||||||
pancake option, opt for around \qtyrange{0.1}{0.5}{\cm} depending on what you
|
|
||||||
like.
|
|
||||||
|
|
||||||
\begin{figure}[htb!]
|
|
||||||
\begin{center}
|
|
||||||
\includegraphics[width=1.0\textwidth]{einkorn-crumb.jpg}
|
|
||||||
\caption[Einkorn crum]{The crumb of a flatbread made with einkorn as flour.
|
|
||||||
Einkorn is very low in gluten and thus does not trap as much \ch{CO2} as
|
|
||||||
a wheat based dough. To make the dough fluffier use more water or
|
|
||||||
consider adding more wheat to the mix of your dough.}
|
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
After 2--4~minutes flip over the pancake or flatbread. Bake it for the same
|
|
||||||
time from the other side. Depending on what you like, you can wait a little
|
|
||||||
longer to allow the bread to become a bit charred. The longer you
|
|
||||||
bake your bread, the more of the acidity is going to evaporate. If your
|
|
||||||
dough is a bit more on the sour side, you can use this trick to balance
|
|
||||||
out the acidity. This really depends on which flavor you are looking for.
|
|
||||||
|
|
||||||
When making a flatbread I~recommend wrapping the baked flatbreads
|
|
||||||
in a kitchen towel. This way more of the evaporating humidity
|
|
||||||
stays inside of your bread. This makes sure your flatbreads stay
|
|
||||||
nice and fluffy for a longer period after the bake. A similar strategy is
|
|
||||||
used when making corn tortillas.
|
|
||||||
|
|
||||||
You can safely store the baked flatbreads or pancakes in your fridge
|
|
||||||
for weeks. When storing make sure to store them in an airtight plastic bag so that
|
|
||||||
they do not dry out.
|
|
||||||
|
|
||||||
Keep a little bit of your unbaked dough. You can use it to make the next
|
|
||||||
batch of bread or pancakes for the next day. If you want to bake a few days later, add
|
|
||||||
a little bit of water and flour and store this mixture in your fridge
|
|
||||||
for as long as you like\footnote{The starter will stay good for months. If you expect to
|
|
||||||
leave it longer, consider drying a little bit of your sourdough starter.}.
|
|
||||||
|
|||||||
BIN
book/cover/CC-BY-SA.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
@@ -29,9 +29,17 @@
|
|||||||
% Whitespace between the title block and the copyright text
|
% Whitespace between the title block and the copyright text
|
||||||
\vspace{0.5\textheight}
|
\vspace{0.5\textheight}
|
||||||
|
|
||||||
{\noindent The full source code for the book is available at \\
|
|
||||||
\url{https://github.com/hendricius/the-sourdough-framework/} under MIT
|
{\noindent
|
||||||
license. Do not hesitate to report mistakes or sug\-gestions for
|
\begin{flushleft}
|
||||||
improvements. A hardcover version of the book is also available. More information here:
|
\includegraphics[width=3cm]{cover/CC-BY-SA}\par
|
||||||
\url{https://www.breadco.de/hardcover-book}}\\[\baselineskip]
|
The full source code for the book is available at
|
||||||
|
\url{https://github.com/hendricius/the-sourdough-framework/} under CC-BY-SA
|
||||||
|
license.
|
||||||
|
See \url{https://creativecommons.org/licenses/by-sa/4.0/} for more details.
|
||||||
|
Do not hesitate to report mistakes or sug\-gestions for
|
||||||
|
improvements. A hardcover version of the book is also available. More
|
||||||
|
information here: \url{https://www.breadco.de/hardcover-book}
|
||||||
|
\end{flushleft}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 4cm, auto]
|
||||||
\node [start] (heat_oven) {Heat oven to \qty{230}{\degreeCelsius} (\qty{446}{\degF}) for 30~minutes};
|
\node [start] (heat_oven) {Heat oven to \qty{230}{\degreeCelsius} (\qty{446}{\degF}) for 30~minutes};
|
||||||
\node [block, right of=heat_oven, node distance=3cm] (score_dough) {Score your dough};
|
\node [block, right of=heat_oven] (score_dough) {Score your dough};
|
||||||
\node [decision, right of=score_dough, node distance=4cm] (decide_steam) {Choose your steaming method};
|
\node [decision, right of=score_dough, node distance=4cm] (decide_steam) {Choose your steaming method};
|
||||||
\node [block, below of=heat_oven, node distance=4cm] (inverted_tray_method) {Inverted tray method};
|
\node [block, below of=decide_steam, node distance=3.5cm] (dutch_oven) {Dutch oven};
|
||||||
\node [block, right of=inverted_tray_method, node distance=3cm] (dutch_oven) {Dutch oven};
|
\node [block, left of=dutch_oven] (inverted_tray_method) {Inverted tray method};
|
||||||
\node [block, right of=dutch_oven, node distance=3cm] (steam_injection) {Steam injection oven};
|
\node [block, right of=dutch_oven] (steam_injection) {Steam injection oven};
|
||||||
\node [block, below of=inverted_tray_method, node distance=3cm] (bake_30) {Bake dough for 30~minutes with steam};
|
\node [block, below of=dutch_oven, node distance=3cm] (bake_30) {Bake dough for 30~minutes with steam};
|
||||||
\node [block, right of=bake_30, node distance=3cm] (remove_steam) {Remove source of steam};
|
\node [block, below of=bake_30, node distance=3cm] (remove_steam) {Remove source of steam};
|
||||||
\node [block, right of=remove_steam, node distance=3cm] (build_crust) {Build the crust};
|
\node [success, right of=remove_steam] (finish_baking) {Stop baking 10--30~minutes later depending on crust preference};
|
||||||
\node [success, right of=build_crust, node distance=3cm] (finish_baking) {Stop baking 10--30~minutes later depending on crust preference};
|
|
||||||
\path [line] (heat_oven) -- (score_dough);
|
\path [line] (heat_oven) -- (score_dough);
|
||||||
\path [line] (score_dough) -- (decide_steam);
|
\path [line] (score_dough) -- (decide_steam);
|
||||||
\path [line] (decide_steam) -- (inverted_tray_method);
|
\path [line] (decide_steam) -- (inverted_tray_method.north east);
|
||||||
\path [line] (decide_steam) -- (dutch_oven);
|
\path [line] (decide_steam) -- (dutch_oven);
|
||||||
\path [line] (decide_steam) -- (steam_injection);
|
\path [line] (decide_steam) -- (steam_injection.north west);
|
||||||
\path [line] (steam_injection) -- (bake_30);
|
\path [line] (steam_injection.south west) -- (bake_30.north east);
|
||||||
\path [line] (inverted_tray_method) -- (bake_30);
|
\path [line] (inverted_tray_method.south east) -- (bake_30.north west);
|
||||||
\path [line] (dutch_oven) -- (bake_30);
|
\path [line] (dutch_oven) -- (bake_30);
|
||||||
\path [line] (bake_30) -- (remove_steam);
|
\path [line] (bake_30) -- (remove_steam);
|
||||||
\path [line] (remove_steam) -- (build_crust);
|
\path [line] (remove_steam) -- (finish_baking);
|
||||||
\path [line] (build_crust) -- (finish_baking);
|
\draw[BC, decoration=mirror] (remove_steam.south west) ++(0, -0.3) -- node[below=1em]{Building crust}(finish_baking.south east);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,26 +1,29 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||||
\node [start] (init) {Bulk fermentation};
|
\node [start] (init) {Bulk fermentation};
|
||||||
\node [block, right of=init] (check_dough) {Check the dough};
|
\node [block, right of=init, node distance=4cm] (check_dough) {Check the dough};
|
||||||
\node [block, right of=check_dough, node distance=4cm] (size_increase) {Check dough size increase};
|
\node [block, right of=check_dough, node distance=4cm] (size_increase) {Check dough size increase};
|
||||||
\node [block, below of=size_increase, node distance=2cm] (ph_value) {Check dough pH value};
|
\node [block, below of=size_increase, node distance=2cm] (ph_value) {Check dough pH value};
|
||||||
\node [block, below of=ph_value, node distance=2cm] (smell) {Check dough smell};
|
\node [block, below of=ph_value, node distance=2cm] (smell) {Check dough smell};
|
||||||
\node [decision, right of=ph_value, node distance=4cm] (dough_ready) {Dough ready?};
|
\node [decision, right of=size_increase, node distance=4cm] (dough_ready) {Dough ready?};
|
||||||
\node [success, below of=dough_ready] (divide_preshape) {Divide and preshape};
|
\node [success] at(dough_ready |- smell) (divide_preshape) {Divide and preshape};
|
||||||
\node [decision, below of=smell] (dough_flattened) {Dough flattened out?};
|
\node [decision, above of=size_increase] (dough_flattened) {Dough flattened out?};
|
||||||
\node [block, below of=check_dough, node distance=3cm] (wait_60_minutes) {Wait\\ 60~minutes};
|
\node [block, above of=check_dough] (wait_60_minutes) {Wait\\ 60~minutes};
|
||||||
\node [block, below of=wait_60_minutes, node distance=4cm] (stretch_fold) {Stretch and fold};
|
\node [block, above of=wait_60_minutes] (stretch_fold) {Stretch and fold};
|
||||||
|
|
||||||
\path [line] (init) -- (check_dough);
|
\path [line] (init) -- (check_dough);
|
||||||
\path [line] (check_dough) -- (size_increase);
|
\path [line] (check_dough) -- (size_increase);
|
||||||
\path [line] (check_dough) -- node{or} (ph_value);
|
% Tricks not to get double lines
|
||||||
\path [line] (check_dough) -- node{or} (smell);
|
\path [line] (check_dough) ++(2, -2) -- node{or} (ph_value);
|
||||||
|
\path [line] (check_dough) ++(2, 0) -- node{} ++(0, -4) -- node{or} (smell);
|
||||||
|
\path [line] (check_dough) ++(2, -4) -- node{or} (smell);
|
||||||
\path [line] (size_increase) -- (dough_ready);
|
\path [line] (size_increase) -- (dough_ready);
|
||||||
\path [line] (ph_value) -- (dough_ready);
|
% Same tricks not to get double lines and also we do _not_ want arrows
|
||||||
\path [line] (smell) -- (dough_ready);
|
\path [draw, thick] (ph_value) -- node{} ++(2, 0);
|
||||||
\path [line] (dough_ready) -- node{yes} (divide_preshape);
|
\path [draw, thick] (smell) -| node{} ++(2, 4);
|
||||||
\path [line] (dough_ready) -- node{no} (dough_flattened);
|
\path [line] (dough_ready) -- node{Yes} (divide_preshape);
|
||||||
\path [line] (dough_flattened) -- node{yes} (stretch_fold);
|
\path [line] (dough_ready) |- node[right=3pt]{No} (dough_flattened);
|
||||||
\path [line] (dough_flattened) -- node{no} (wait_60_minutes);
|
\path [line] (dough_flattened) |- node[right=3pt]{Yes} (stretch_fold);
|
||||||
|
\path [line] (dough_flattened) -- node{No} (wait_60_minutes);
|
||||||
\path [line] (stretch_fold) -- (wait_60_minutes);
|
\path [line] (stretch_fold) -- (wait_60_minutes);
|
||||||
\path [line] (wait_60_minutes) -- (check_dough);
|
\path [line] (wait_60_minutes) -- (check_dough);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
\node [start] (init) {Dividing required?};
|
\node [start] (init) {Dividing required?};
|
||||||
\node [decision, right of=init, node distance=5cm] (more_than_one_loaf) {More than 1 loaf?};
|
\node [decision, right of=init, node distance=5cm] (more_than_one_loaf) {More than 1 loaf?};
|
||||||
\node [success, right of=more_than_one_loaf, node distance=5cm] (yes) {Yes};
|
\node [success, right of=more_than_one_loaf, node distance=5cm] (yes) {Yes};
|
||||||
\node [success, below of=yes, node distance=3cm] (no) {No};
|
\node [success, below of=yes] (no) {No};
|
||||||
\path [line] (init) -- (more_than_one_loaf);
|
\path [line] (init) -- (more_than_one_loaf);
|
||||||
\path [line] (more_than_one_loaf) -- (yes);
|
\path [line] (more_than_one_loaf) -- (yes);
|
||||||
\path [line] (more_than_one_loaf) -- (no);
|
\path [line] (more_than_one_loaf.south) -- node{} ++(0, -1) |- (no);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -7,14 +7,13 @@
|
|||||||
\node [block, below of=spritz] (close) {Close DO};
|
\node [block, below of=spritz] (close) {Close DO};
|
||||||
\node [block, left of=close] (back_oven) {Place DO back in oven};
|
\node [block, left of=close] (back_oven) {Place DO back in oven};
|
||||||
\node [block, left of=back_oven] (bake) {Bake 30~minutes at \qty{230}{\degreeCelsius} (\qty{446}{\degF})};
|
\node [block, left of=back_oven] (bake) {Bake 30~minutes at \qty{230}{\degreeCelsius} (\qty{446}{\degF})};
|
||||||
\node [block, below of=heat_oven] (wait_5_minutes) {Wait\\ 5 minutes};
|
\node [decision, below right= 5cm and -1 cm of heat_oven] (is_ready_check)
|
||||||
\node [decision, below of=wait_5_minutes, node distance=4cm] (is_ready_check) {Core temperature \qty{92}{\degreeCelsius} (\qty{197}{\degF})?};
|
{Core temperature \qty{92}{\degreeCelsius} (\qty{197}{\degF})?};
|
||||||
|
\node [block, below of=is_ready_check, node distance=4cm] (wait_5_minutes) {Wait\\ 5 minutes};
|
||||||
\node [block, right of=is_ready_check, node distance=4cm] (remove_do_lid) {Remove DO lid};
|
\node [block, right of=is_ready_check, node distance=4cm] (remove_do_lid) {Remove DO lid};
|
||||||
\node [block, right of=wait_5_minutes] (test_temperature_again) {Test core temperature again};
|
\node [decision, right of=remove_do_lid, node distance=3.5cm] (dark_enough_decision) {Crust color dark enough?};
|
||||||
\node [decision, right of=remove_do_lid, node distance=4cm] (dark_enough_decision) {Crust color dark enough?};
|
\node [success, below of=dark_enough_decision, node distance=4cm] (finish_baking) {Bread is finished};
|
||||||
\node [success, below of=dark_enough_decision] (finish_baking) {Bread is finished};
|
\node [block, right of=dark_enough_decision, node distance=3.5cm] (bake_5_more_minutes) {Bake another 5~minutes};
|
||||||
\node [block, below of=close] (test_crust_again) {Test crust color again};
|
|
||||||
\node [block, below of=test_crust_again] (bake_5_more_minutes) {Bake another 5~minutes};
|
|
||||||
\path [line] (heat_oven) -- (remove_oven);
|
\path [line] (heat_oven) -- (remove_oven);
|
||||||
\path [line] (remove_oven) -- (open_load_dough);
|
\path [line] (remove_oven) -- (open_load_dough);
|
||||||
\path [line] (open_load_dough) -- (score);
|
\path [line] (open_load_dough) -- (score);
|
||||||
@@ -22,14 +21,12 @@
|
|||||||
\path [line] (spritz) -- (close);
|
\path [line] (spritz) -- (close);
|
||||||
\path [line] (close) -- (back_oven);
|
\path [line] (close) -- (back_oven);
|
||||||
\path [line] (back_oven) -- (bake);
|
\path [line] (back_oven) -- (bake);
|
||||||
\path [line] (bake) -- (is_ready_check);
|
\path [line] (bake.west) -- node{} ++(-2, 0) -| (is_ready_check.north);
|
||||||
\path [line] (is_ready_check) -- node{yes} (remove_do_lid);
|
\path [line] (is_ready_check) -- node{Yes} (remove_do_lid);
|
||||||
\path [line] (is_ready_check) -- node{no} (wait_5_minutes);
|
\path [line] (is_ready_check) -- node{No} (wait_5_minutes);
|
||||||
\path [line] (wait_5_minutes) -- (test_temperature_again);
|
\path [line] (wait_5_minutes.west) -- node{} ++(-1.5, 0) |- (is_ready_check.west);
|
||||||
\path [line] (test_temperature_again) -- (is_ready_check);
|
|
||||||
\path [line] (remove_do_lid) -- (dark_enough_decision);
|
\path [line] (remove_do_lid) -- (dark_enough_decision);
|
||||||
\path [line] (dark_enough_decision) -- node{yes} (finish_baking);
|
\path [line] (dark_enough_decision) -- node{Yes} (finish_baking);
|
||||||
\path [line] (dark_enough_decision) -- node{no} (bake_5_more_minutes);
|
\path [line] (dark_enough_decision) -- node{No} (bake_5_more_minutes);
|
||||||
\path [line] (bake_5_more_minutes) -- (test_crust_again);
|
\path [line] (bake_5_more_minutes.east) -- node{} ++(1, 0) -- node{} ++(0, 2.3) -| (dark_enough_decision.north);
|
||||||
\path [line] (test_crust_again) -- (dark_enough_decision);
|
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,26 +1,26 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 4cm, auto]
|
||||||
\node [start] (init) {Homogenize recipe ingredients};
|
\node [start] (init) {Homogenize recipe ingredients};
|
||||||
\node [block, right of=init, node distance=3cm] (wait1) {Wait\\15~minutes};
|
\node [block, right of=init] (wait1) {Wait\\15~minutes};
|
||||||
\path [line] (init) -- (wait1);
|
\path [line] (init) -- (wait1);
|
||||||
\node [block, right of=wait1, node distance=3cm] (knead1) {Knead 5~minutes};
|
\node [block, right of=wait1] (knead) {Knead 5~minutes};
|
||||||
\path [line] (wait1) -- (knead1);
|
\path [line] (wait1) -- (knead);
|
||||||
\node [block, right of=knead1, node distance=3cm] (wait2) {Wait\\15~minutes};
|
\node [block, right of=knead] (wait2) {Wait\\15~minutes};
|
||||||
\path [line] (knead1) -- (wait2);
|
\path [line] (knead) -- (wait2);
|
||||||
\node [decision, below of=wait2, node distance=3cm] (windowpane_test) {Window-pane?};
|
\node [decision, below of=wait2, node distance=4cm] (windowpane_test) {Window-pane?};
|
||||||
\path [line] (wait2) -- (windowpane_test);
|
\path [line] (wait2) -- (windowpane_test);
|
||||||
\path [line] (windowpane_test) -- node{no} (knead1);
|
\path [line] (windowpane_test.east) -- node{No} ++(1, 0) -- node{} ++(0, 5.7) -| (knead.north);
|
||||||
\node [decision, left of=windowpane_test, node distance=4.5cm] (more_water) {Bassinage for more water?};
|
\node [decision] at (windowpane_test -| knead) (more_water) {Bassinage for more water?};
|
||||||
\path [line] (windowpane_test) -- node{yes} (more_water);
|
\path [line] (windowpane_test) -- node{Yes} (more_water);
|
||||||
\node [block, left of=more_water, node distance=4.5cm] (add_water) {Add water};
|
\node [block] at (wait1 |- more_water) (add_water) {Add water};
|
||||||
\path [line] (more_water) -- node{yes} (add_water);
|
\path [line] (more_water) -- node{Yes} (add_water);
|
||||||
\path [line] (add_water) -- (knead1);
|
\path [line] (add_water.north east) -- (knead.south west);
|
||||||
\node [decision, below of=more_water, node distance=3.5cm] (dough_sample) {Aliquot sample?};
|
\node [decision, below of=more_water, node distance=4.5cm] (dough_sample) {Aliquot sample?};
|
||||||
\path [line] (more_water) -- node{no} (dough_sample);
|
\path [line] (more_water) -- node{No} (dough_sample);
|
||||||
\node [block, right of=dough_sample, node distance=4.5cm] (dough_ball) {Make round dough ball};
|
\node [block] at (dough_sample -| wait2) (dough_ball) {Make round dough ball};
|
||||||
\path [line] (dough_sample) -- node{no} (dough_ball);
|
\path [line] (dough_sample) -- node{No} (dough_ball);
|
||||||
\node [block, below of=dough_sample, node distance=3cm] (extract_sample) {Extract sample};
|
\node [block, below of=dough_sample] (extract_sample) {Extract sample};
|
||||||
\path [line] (dough_sample) -- node{yes} (extract_sample);
|
\path [line] (dough_sample) -- node{Yes} (extract_sample);
|
||||||
\path [line] (extract_sample) -- (dough_ball);
|
\path [line] (extract_sample.north east) -- (dough_ball.south west);
|
||||||
\node [success, below of=dough_ball, node distance=3cm] (begin_bulk) {Begin bulk fermentation};
|
\node [success, below of=dough_ball] (begin_bulk) {Begin bulk fermentation};
|
||||||
\path [line] (dough_ball) -- (begin_bulk);
|
\path [line] (dough_ball) -- (begin_bulk);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
69
book/figures/fig-life-planet-sourdough-timeline.tex
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
\begin{tikzpicture}
|
||||||
|
% Draw horizontal line
|
||||||
|
\draw[line width=1pt] (0,0) -- (\textwidth,0);
|
||||||
|
|
||||||
|
% Define the width of each segment
|
||||||
|
\pgfmathsetlengthmacro{\segmentwidth}{\textwidth/12}
|
||||||
|
|
||||||
|
% Draw lines for the events, higher up so that they don't overflow the text
|
||||||
|
% Placing the lines has been a bit manual work of trying different values
|
||||||
|
% Maritime bacteria.
|
||||||
|
|
||||||
|
\draw[line width=1pt] (2.8*\segmentwidth,1) -- (2.8*\segmentwidth,0.2);
|
||||||
|
% Eukaryotes
|
||||||
|
\draw[line width=1pt] (5.8*\segmentwidth,1.5) -- (5.8*\segmentwidth,0.2);
|
||||||
|
% First bacteria on land
|
||||||
|
\draw[line width=1pt] (9.1*\segmentwidth,-1.25) -- (9.1*\segmentwidth,-0.2);
|
||||||
|
% Maritime fungi ancestors
|
||||||
|
\draw[line width=1pt] (9.5*\segmentwidth,-2) -- (9.5*\segmentwidth,-0.2);
|
||||||
|
% Fungi on land
|
||||||
|
\draw[line width=1pt] (10.8*\segmentwidth,-2.75) -- (10.8*\segmentwidth,-0.2);
|
||||||
|
% Yeasts on land
|
||||||
|
\draw[line width=1pt] (11.1*\segmentwidth,-3.0) -- (11.1*\segmentwidth,-0.2);
|
||||||
|
% First dinosaurs
|
||||||
|
\draw[line width=1pt] (11.4*\segmentwidth,0.5) -- (11.4*\segmentwidth,0.2);
|
||||||
|
% Pangea begins to rift apart
|
||||||
|
\draw[line width=1pt] (11.6*\segmentwidth,1) -- (11.6*\segmentwidth,0.2);
|
||||||
|
% Dinosaur extinction
|
||||||
|
\draw[line width=1pt] (11.9*\segmentwidth,1.5) -- (11.9*\segmentwidth,0.2);
|
||||||
|
% Additional line for dinosaurs since it is so close
|
||||||
|
\draw[line width=1pt] (11.9*\segmentwidth,1.49) -- (11.70*\segmentwidth,1.85);
|
||||||
|
|
||||||
|
% Special lines for december events since they are so close together
|
||||||
|
\draw[line width=1pt] (12.0*\segmentwidth,3.0) -- (12.0*\segmentwidth,0.2); % Main branch
|
||||||
|
\draw[line width=1pt] (12.0*\segmentwidth,3.0) -- (11.75*\segmentwidth,2.5); % Branch to first humans
|
||||||
|
\draw[line width=1pt] (12.0*\segmentwidth,3.0) -- (11.75*\segmentwidth,3.0); % Branch to Jordan
|
||||||
|
% Move Pasteur down a bit so the lines look like they cross
|
||||||
|
\draw[line width=1pt] (12.0*\segmentwidth,2.99) -- (11.75*\segmentwidth,3.5); % Branch to Pasteur
|
||||||
|
|
||||||
|
% Draw months and month separators
|
||||||
|
\foreach \i/\month in {0/Jan, 1/Feb, 2/Mar, 3/Apr, 4/May, 5/Jun, 6/Jul, 7/Aug, 8/Sep, 9/Oct, 10/Nov, 11/Dec} {
|
||||||
|
% Separators
|
||||||
|
\draw[line width=1pt] (\i*\segmentwidth,0.1) -- (\i*\segmentwidth,-0.1);
|
||||||
|
% Month names
|
||||||
|
\node[timeline_event, below] at ({(\i+0.5)*\segmentwidth},-0.1) {\month};
|
||||||
|
}
|
||||||
|
\draw[line width=1pt] (\textwidth,0.1) -- (\textwidth,-0.1);
|
||||||
|
|
||||||
|
% Full timeline width for billion years
|
||||||
|
\draw[stealth-stealth, line width=1pt] (0,-3.8) -- node[midway, timeline_timespan] {4.45 billion years} (\textwidth,-3.8);
|
||||||
|
|
||||||
|
% Indicator for the period of 3 months = 1.1 billion years
|
||||||
|
\draw[stealth-stealth, line width=1pt] (0,-1.0) -- node[midway, timeline_timespan] {1.11 billion years} ({\segmentwidth * 3},-1.0);
|
||||||
|
|
||||||
|
% Place events on the timeline with dates using the timeline_event style
|
||||||
|
% As a calculation I used (4.54 billion years / 12 months = 0.3785 billion years/month.
|
||||||
|
\node[timeline_event, above] at (2.5*\segmentwidth,1) {Mar 25:~First maritime bacteria and archae};
|
||||||
|
\node[timeline_event, above] at (4.50*\segmentwidth,1.5) {June 25:~First organisms with nuklei (eukaryotes)};
|
||||||
|
\node[timeline_event, above] at (7.8*\segmentwidth,-1.5) {Oct 4:~First bacteria on land};
|
||||||
|
\node[timeline_event, above] at (8.0*\segmentwidth,-2.25) {Oct 15:~First maritime ancestors of fungi};
|
||||||
|
\node[timeline_event, above] at (9.7*\segmentwidth,-2.75) {Nov 24:~Fungi on land};
|
||||||
|
\node[timeline_event, above] at (10.5*\segmentwidth,-3.25) {Dec 3:~Yeasts on land};
|
||||||
|
\node[timeline_event, above] at (10.2*\segmentwidth,0.5) {Dec 14:~First dinosaurs};
|
||||||
|
\node[timeline_event, above] at (9.8*\segmentwidth,1) {Dec 17:~Pangea begins to rift apart};
|
||||||
|
\node[timeline_event, above] at (10.15*\segmentwidth,1.5) {Dec 29:~Dinosaurs go extinct};
|
||||||
|
\node[timeline_event, above, anchor=east, align=right] at (11.75*\segmentwidth,2.5) {Dec 31:~First humans};
|
||||||
|
\node[timeline_event, above, anchor=east, align=right] at (11.75*\segmentwidth,3.0) {Dec 31:~Sourdough in Jordan (23:59:55)};
|
||||||
|
\node[timeline_event, above, anchor=east, align=right] at (11.75*\segmentwidth,3.5) {Dec 31:~Louis Pasteur isolated yeast (23:59:59)};
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
@@ -1,19 +1,17 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 5cm, auto]
|
||||||
\node [start] (init) {Make a regular or stiff starter};
|
\node [start] (init) {Take your regular or stiff starter};
|
||||||
\node [block, right of=init] (feed_new_ratio) {Mix \qty{1}{\gram} existing starter, \qty{5}{\gram} flour and \qty{25}{\gram} water};
|
\node [block, right of=init] (feed_new_ratio) {Mix \qty{1}{\gram} existing starter, \qty{5}{\gram} flour and \qty{25}{\gram} water};
|
||||||
\node [block, right of=feed_new_ratio] (next_day) {Wait\\ \qty{24}{\hour}};
|
\node [decision, below of=feed_new_ratio, node distance=5cm] (ready_signs) {Sour yogurty smell and bubbles visible on flour?};
|
||||||
\node [block, below of=init, node distance=4cm] (feed_again) {Feed again using 1:5:25 ratio};
|
\node [block, right of=ready_signs, node distance=4cm] (feed_again) {Feed again using 1:5:25 ratio};
|
||||||
\node [block, right of=next_day, node distance=5cm] (test) {Check starter readiness?};
|
\node [block, left of=ready_signs, node distance=5cm] (last_feed) {Feed one last time};
|
||||||
\node [decision, below of=next_day, node distance=4cm] (ready_signs) {Sour yogurty smell and bubbles visible on flour?};
|
\node [success, below of=last_feed, node distance=4cm] (bread_dough) {Make bread dough};
|
||||||
\node [block, below of=test, node distance=4cm] (last_feed) {Feed one last time};
|
|
||||||
\node [success, below of=last_feed, node distance=3cm] (bread_dough) {Make bread dough};
|
|
||||||
\path [line] (init) -- (feed_new_ratio);
|
\path [line] (init) -- (feed_new_ratio);
|
||||||
\path [line] (feed_new_ratio) -- (next_day);
|
\path [line] (feed_new_ratio) -- node{Wait \qty{24}{\hour}} (ready_signs);
|
||||||
\path [line] (feed_again) -- node{repeat 3 times} (feed_new_ratio);
|
\path [line] (feed_again) -- node[anchor=east] {} ++(2.2,0) |- (feed_new_ratio);
|
||||||
\path [line] (next_day) -- node{after 3~days} (test);
|
\path [line] (ready_signs) -- node{No} (feed_again);
|
||||||
\path [line] (next_day) -- (feed_again);
|
\path [line] (ready_signs) -- node[above=2pt]{~Yes} (last_feed);
|
||||||
\path [line] (test) -- (ready_signs);
|
|
||||||
\path [line] (ready_signs) -- node{no} (feed_again);
|
|
||||||
\path [line] (ready_signs) -- node{yes} (last_feed);
|
|
||||||
\path [line] (last_feed) -- node{after \qtyrange{6}{12}{\hour}} (bread_dough);
|
\path [line] (last_feed) -- node{after \qtyrange{6}{12}{\hour}} (bread_dough);
|
||||||
|
|
||||||
|
\node [above of=feed_again, text width=5em, align=center, node distance=3cm] (repeat_text) {Repeat 3~times};
|
||||||
|
\draw [line] ($(repeat_text) +(0, 1 cm)$) arc (90:420:1cm);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3.8cm, auto]
|
||||||
\node [start] (init) {Mix ingredients};
|
\node [start] (init) {Mix \\ingredients};
|
||||||
\node [block, below of=init, node distance=3cm] (bulk_ferment) {Bulk ferment};
|
\node [block, below of=init, node distance = 3cm] (bulk_ferment) {Bulk ferment};
|
||||||
\node [block, right of=init, node distance=3cm] (divide) {Divide};
|
\node [block, right of=init] (divide) {Divide};
|
||||||
\node [block, below of=divide, node distance=3cm] (shape) {Shape};
|
\node [block] at (divide |- bulk_ferment) (shape) {Shape};
|
||||||
\node [block, right of=divide, node distance=3cm] (proof) {Proof};
|
\node [block, right of=divide] (proof) {Proof};
|
||||||
\node [success, below of=proof, node distance=3cm] (bake) {Bake};
|
\node [success] at (proof |- bulk_ferment) (bake) {Bake};
|
||||||
\path [line] (init) -- (bulk_ferment);
|
\path [line] (init) -- (bulk_ferment);
|
||||||
\path [line] (bulk_ferment) -- (divide);
|
\path [line] (bulk_ferment.north east) -- (divide.south west);
|
||||||
\path [line] (divide) -- (shape);
|
\path [line] (divide) -- (shape);
|
||||||
\path [line] (shape) -- (proof);
|
\path [line] (shape.north east) -- (proof.south west);
|
||||||
\path [line] (proof) -- (bake);
|
\path [line] (proof) -- (bake);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||||
\node [decision_start] (init) {Room temperature proofing?};
|
\node [decision_start] (init) {Room temperature-proofing?};
|
||||||
\node [decision, right of=init, node distance=9cm] (retard_bake_decision) {Bake in less than \qty{10}{\hour} from now?};
|
\node [decision, right of=init, node distance=8cm] (retard_bake_decision) {Bake in less than \qty{10}{\hour} from now?};
|
||||||
\node [block, below of=init, node distance=4cm] (poke) {Poke the dough};
|
\node [block, below of=init, node distance=4cm] (poke) {Poke the dough};
|
||||||
\node [block, right of=poke, node distance=4cm] (wait_poke) {Wait\\ 15~minutes};
|
\node [block, left of=poke] (wait_poke) {Wait\\ 15~minutes};
|
||||||
\node [decision, below of=poke, node distance=3cm] (dent_visible_decision) {Dent still visible after 1~minute?};
|
\node [decision, below of=poke] (dent_visible_decision) {Dent still visible after one~minute?};
|
||||||
\node [success, right of=dent_visible_decision, node distance=4cm] (bake) {Score and bake};
|
\node [success, right of=dent_visible_decision, node distance=4cm] (bake) {Score and bake};
|
||||||
\node [block, below of=retard_bake_decision, node distance=3cm] (wait_retard) {Wait\\ 15~minutes};
|
\node [block] at (retard_bake_decision |- poke) (wait_retard) {Wait\\ 15~minutes};
|
||||||
\node [block, below of=wait_retard, node distance=3cm] (retard) {Proof in fridge at \qty{4}{\degreeCelsius} (\qty{40}{\degF})};
|
\node [block] at (wait_retard |- bake) (retard) {Proof in fridge at \qty{4}{\degreeCelsius} (\qty{40}{\degF})};
|
||||||
\node [block, right of=wait_retard, node distance=3cm] (move_to_fridge) {Move dough directly to fridge};
|
\path [line] (init) -- node{Yes} (poke);
|
||||||
\path [line] (init) -- node{yes} (poke);
|
\path [line] (init) -- node{No} (retard_bake_decision);
|
||||||
\path [line] (init) -- node{no} (retard_bake_decision);
|
|
||||||
\path [line] (poke) -- (dent_visible_decision);
|
\path [line] (poke) -- (dent_visible_decision);
|
||||||
\path [line] (dent_visible_decision) -- node{yes} (bake);
|
\path [line] (dent_visible_decision) -- node{Yes} (bake);
|
||||||
\path [line] (dent_visible_decision) -- node{no} (wait_poke);
|
\path [line] (dent_visible_decision.west) -- node{No} ++(-1.4, 0) -- node{} (wait_poke.south);
|
||||||
\path [line] (wait_poke) -- (poke);
|
\path [line] (wait_poke) -- (poke);
|
||||||
\path [line] (retard_bake_decision) -- node{yes} (wait_retard);
|
\path [line] (retard_bake_decision) -- node{Yes} (wait_retard);
|
||||||
\path [line] (retard_bake_decision) -- node{no} (move_to_fridge);
|
\path [line] (retard_bake_decision.east) -- node{No} ++(1, 0) |- node{} (retard.east);
|
||||||
\path [line] (wait_retard) -- (retard);
|
\path [line] (wait_retard) -- (retard);
|
||||||
\path [line] (move_to_fridge) -- (retard);
|
|
||||||
\path [line] (retard) -- (bake);
|
\path [line] (retard) -- (bake);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||||
\node [start] (init) {Begin shaping};
|
\node [start] (init) {Begin shaping};
|
||||||
\node [decision, right of=init, node distance=5cm] (overfermented_decision) {Dough overly sticky or dough tears?};
|
\node [decision, right of=init, node distance=4cm] (overfermented_decision) {Dough overly sticky or dough tears?};
|
||||||
\node [block, right of=overfermented_decision, node distance=4cm] (overfermented) {Your dough is likely overfermented};
|
\node [block, right of=overfermented_decision, node distance=4cm] (overfermented) {Your dough is likely overfermented};
|
||||||
\node [fail, right of=overfermented, node distance=3cm] (loafpan) {Move to loaf pan, short proof, then bake directly};
|
\node [fail, right of=overfermented, node distance=4cm] (loafpan) {Move to loaf pan, short proof, then bake directly};
|
||||||
\node [block, below of=init, node distance=4cm] (shaping_technique) {Proceed with shaping technique};
|
\node [block, below of=overfermented_decision, node distance=4cm] (shaping_technique) {Proceed with shaping technique};
|
||||||
\node [block, right of=shaping_technique, node distance=3cm] (flour) {Flour shaped dough};
|
\node [block, right of=shaping_technique] (flour) {Flour shaped dough};
|
||||||
\node [block, right of=flour, node distance=3cm] (banneton) {Place upside down in banneton};
|
\node [block, right of=flour] (banneton) {Place upside down in banneton};
|
||||||
\node [success, right of=banneton, node distance=3cm] (proof) {Begin proofing};
|
\node [success, right of=banneton] (proof) {Begin proofing};
|
||||||
\path [line] (init) -- (overfermented_decision);
|
\path [line] (init) -- (overfermented_decision);
|
||||||
\path [line] (overfermented_decision) -- node{yes} (overfermented);
|
\path [line] (overfermented_decision) -- node{Yes} (overfermented);
|
||||||
\path [line] (overfermented_decision) -- node{no} (shaping_technique);
|
\path [line] (overfermented_decision) -- node{No} (shaping_technique);
|
||||||
\path [line] (shaping_technique) -- (flour);
|
\path [line] (shaping_technique) -- (flour);
|
||||||
\path [line] (flour) -- (banneton);
|
\path [line] (flour) -- (banneton);
|
||||||
\path [line] (banneton) -- (proof);
|
\path [line] (banneton) -- (proof);
|
||||||
|
|||||||
69
book/figures/fig-sourdough-history-timeline.tex
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
\begin{tikzpicture}
|
||||||
|
\pgfmathsetlengthmacro{\timelinewidth}{(\textwidth-0.5cm)}
|
||||||
|
|
||||||
|
% Define the width of each segment
|
||||||
|
\pgfmathsetlengthmacro{\segmentwidth}{\timelinewidth/12}
|
||||||
|
|
||||||
|
% Draw horizontal lines
|
||||||
|
\draw[line width=1pt, color=hlorange] (0,0) -- (\timelinewidth/2,0);
|
||||||
|
\draw[line width=1pt] (\timelinewidth/2,0) -- (\timelinewidth/2 +1.5*\segmentwidth/3,0);
|
||||||
|
\draw[line width=1pt] (\timelinewidth/2 + 2*\segmentwidth/3,0) --(\timelinewidth, 0);
|
||||||
|
\draw[line width=1pt] (\timelinewidth/2+1.5*\segmentwidth/3-5,-0.2) -- (\timelinewidth/2+1.5*\segmentwidth/3+5, 0.2);
|
||||||
|
\draw[line width=1pt] (\timelinewidth/2+2*\segmentwidth/3-5,-0.2) -- (\timelinewidth/2+2*\segmentwidth/3+5, 0.2);
|
||||||
|
|
||||||
|
% Lines for periods
|
||||||
|
\draw[stealth-stealth, line width=1pt] (0,-3.7)
|
||||||
|
-- node[midway, timeline_timespan] {Historic breadmaking} ({\segmentwidth * 7.8},-3.7);
|
||||||
|
\draw[stealth-stealth, line width=1pt] ({\segmentwidth * 7.8},-3.7)
|
||||||
|
-- node[midway, timeline_timespan] {Modern bread} ({\segmentwidth * 12},-3.7);
|
||||||
|
|
||||||
|
% Regularly placed events, not in chronological order
|
||||||
|
% since should be placed on top of others on the timeline
|
||||||
|
|
||||||
|
% BC
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*3},1.0) -- ({\segmentwidth*3},0.3)
|
||||||
|
node[at start, left, timeline_event] {6000~BC: First beer in Egypt};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*5.95},1.5) -- ({\segmentwidth*5.95},0.3)
|
||||||
|
node[at start, left, timeline_event] {70~BC:~First water mill};
|
||||||
|
|
||||||
|
% Sourdough in Jordan
|
||||||
|
\draw[line width=1pt] (0,-0.3) -- (0,-1.5);
|
||||||
|
\draw[line width=1pt] (0,-1.5) -- (0.25,-1.5);
|
||||||
|
\node[timeline_event, below, anchor=west] at (0.25,-1.5)
|
||||||
|
{\begin{tabular}{@{}l@{}l@{}}
|
||||||
|
\num{12000}~BC:&~Sourdough in Jordan\\
|
||||||
|
&~Cultivation of Einkorn\\
|
||||||
|
\end{tabular}};
|
||||||
|
|
||||||
|
% AD
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*10.50},1.0) -- ({\segmentwidth*10.50},0.3)
|
||||||
|
node[at start, above, timeline_event] {\hspace{1.0cm}1950:~Modern Wheat};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*9.60},1.5) -- ({\segmentwidth*9.60},0.3)
|
||||||
|
node[at start, above, timeline_event] {1868:~Commercial yeast};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*7.8},2) -- ({\segmentwidth*7.8},0.3)
|
||||||
|
node[at start, above, timeline_event] {1680:~Discovery of microorganisms};
|
||||||
|
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*8.80},-1.25) -- ({\segmentwidth*8.80},-0.3)
|
||||||
|
node[at start, left, timeline_event] {1785:~Steam mill};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*9.57},-1.75) -- ({\segmentwidth*9.57},-0.3)
|
||||||
|
node[at start, left, timeline_event] {1857:~Isolated Yeast};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*9.80},-2.25) -- ({\segmentwidth*9.80},-0.3)
|
||||||
|
node[at start, left, timeline_event] {1885:~Electrical mixer};
|
||||||
|
\draw[line width=1pt] ({\segmentwidth*11.20},-2.75) -- ({\segmentwidth*11.20},-0.3)
|
||||||
|
node[at start, left, timeline_event] {2020:~COVID-19 Pandemic};
|
||||||
|
|
||||||
|
% Indicators for period
|
||||||
|
% Draw millenary and century separators
|
||||||
|
\foreach \i/\century in {0/-12000, 1/-10000, 2/-8000, 3/-6000, 4/-4000, 5/-2000}{
|
||||||
|
% Separators
|
||||||
|
\draw[line width=1pt, color=hlorange] (\i*\segmentwidth,0.1) -- (\i*\segmentwidth,-0.1);
|
||||||
|
% Events for timeline
|
||||||
|
\node[timeline_event, below, text=hlorange] at ({(\i)*\segmentwidth},-0.1) {\num{\century}};
|
||||||
|
}
|
||||||
|
\foreach \i/\century in {6/0, 7/1600, 8/1700, 9/1800, 10/1900, 11/2000, 12/2100}{
|
||||||
|
% Separators
|
||||||
|
\draw[line width=1pt] (\i*\segmentwidth,0.1) -- (\i*\segmentwidth,-0.1);
|
||||||
|
% Events for timeline
|
||||||
|
\node[timeline_event, below] at ({(\i)*\segmentwidth},-0.1) {\num{\century}};
|
||||||
|
}
|
||||||
|
\end{tikzpicture}
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
\path [line] (init) -- (all_starter_used);
|
\path [line] (init) -- (all_starter_used);
|
||||||
\node [block, right of=init, node distance=3cm] (use_dough) {Take \qty{10}{\gram} of your bread dough};
|
\node [block, right of=init, node distance=3cm] (use_dough) {Take \qty{10}{\gram} of your bread dough};
|
||||||
\node [block, right of=all_starter_used, node distance=3cm] (use_starter) {Take all but not more than \qty{10}{\gram} of your starter};
|
\node [block, right of=all_starter_used, node distance=3cm] (use_starter) {Take all but not more than \qty{10}{\gram} of your starter};
|
||||||
\path [line] (all_starter_used) -- node{yes} (use_dough);
|
\path [line] (all_starter_used) -- node{Yes} (use_dough);
|
||||||
\path [line] (all_starter_used) -- node{no} (use_starter);
|
\path [line] (all_starter_used) -- node{No} (use_starter);
|
||||||
\node [block, right of=use_dough, node distance=3cm] (feed_starter) {Feed using 1:5:5 ratio};
|
\node [block, right of=use_dough, node distance=3cm] (feed_starter) {Feed using 1:5:5 ratio};
|
||||||
\path [line] (use_dough) -- (feed_starter);
|
\path [line] (use_dough) -- (feed_starter);
|
||||||
\path [line] (use_starter) -- (feed_starter);
|
\path [line] (use_starter) -- (feed_starter);
|
||||||
@@ -13,20 +13,20 @@
|
|||||||
\path [line] (feed_starter) -- (bake_next_day_check);
|
\path [line] (feed_starter) -- (bake_next_day_check);
|
||||||
\node [success, right of=bake_next_day_check, node distance=3.5cm]
|
\node [success, right of=bake_next_day_check, node distance=3.5cm]
|
||||||
(make_bread_dough) {Make bread dough again after \qtyrange{8}{12}{\hour}};
|
(make_bread_dough) {Make bread dough again after \qtyrange{8}{12}{\hour}};
|
||||||
\path [line] (bake_next_day_check) -- node{yes} (make_bread_dough);
|
\path [line] (bake_next_day_check) -- node{Yes} (make_bread_dough);
|
||||||
\node [decision, right of=use_starter, node distance=3cm] (bake_next_week_check) {Baking in next 2 weeks?};
|
\node [decision, right of=use_starter, node distance=3cm] (bake_next_week_check) {Baking in next 2 weeks?};
|
||||||
\node [block, right of=bake_next_week_check, node distance=3.5cm] (store_fridge) {Store starter in fridge at \qty{4}{\degreeCelsius} (\qty{40}{\degF})};
|
\node [block, right of=bake_next_week_check, node distance=3.5cm] (store_fridge) {Store starter in fridge at \qty{4}{\degreeCelsius} (\qty{40}{\degF})};
|
||||||
\path [line] (bake_next_week_check) -- node{yes} (store_fridge);
|
\path [line] (bake_next_week_check) -- node{Yes} (store_fridge);
|
||||||
\node [success, right of=store_fridge, node distance=3cm] (feed_after_fridge) {Feed again using 1:5:5 ratio \qtyrange{8}{12}{\hour} before making dough};
|
\node [success, right of=store_fridge, node distance=3cm] (feed_after_fridge) {Feed again using 1:5:5 ratio \qtyrange{8}{12}{\hour} before making dough};
|
||||||
\path [line] (store_fridge) -- (feed_after_fridge);
|
\path [line] (store_fridge) -- (feed_after_fridge);
|
||||||
\path [line] (bake_next_day_check) -- node{no} (bake_next_week_check);
|
\path [line] (bake_next_day_check) -- node{No} (bake_next_week_check);
|
||||||
\node [decision, below of=use_starter, node distance=3cm] (freezer_check) {Have a freezer?};
|
\node [decision, below of=use_starter, node distance=3cm] (freezer_check) {Have a freezer?};
|
||||||
\path [line] (bake_next_week_check) -- (store_fridge);
|
\path [line] (bake_next_week_check) -- (store_fridge);
|
||||||
\path [line] (bake_next_week_check) -- node{no} (freezer_check);
|
\path [line] (bake_next_week_check) -- node{No} (freezer_check);
|
||||||
\node [block, right of=freezer_check, node distance=3cm] (dry_starter) {Dry your starter};
|
\node [block, right of=freezer_check, node distance=3cm] (dry_starter) {Dry your starter};
|
||||||
\node [block, below of=dry_starter, node distance=3cm] (freeze_starter) {Freeze your starter};
|
\node [block, below of=dry_starter, node distance=3cm] (freeze_starter) {Freeze your starter};
|
||||||
\path [line] (freezer_check) -- node{no} (dry_starter);
|
\path [line] (freezer_check) -- node{No} (dry_starter);
|
||||||
\path [line] (freezer_check) -- node{yes} (freeze_starter);
|
\path [line] (freezer_check) -- node{Yes} (freeze_starter);
|
||||||
\node [success, right of=dry_starter, node distance=3.5cm] (reactivate_freezer) {Reactivate starter for 3 days with daily 1:5:5 feedings};
|
\node [success, right of=dry_starter, node distance=3.5cm] (reactivate_freezer) {Reactivate starter for 3 days with daily 1:5:5 feedings};
|
||||||
\path [line] (dry_starter) -- (reactivate_freezer);
|
\path [line] (dry_starter) -- (reactivate_freezer);
|
||||||
\path [line] (freeze_starter) -- (reactivate_freezer);
|
\path [line] (freeze_starter) -- (reactivate_freezer);
|
||||||
|
|||||||
@@ -1,19 +1,22 @@
|
|||||||
\begin{tikzpicture}[node distance = 3.5cm, auto]
|
\begin{tikzpicture}[node distance = 3.5cm, auto]
|
||||||
\node [start] (init) {Mix \qty{50}{\gram} flour + \qty{50}{\gram} water, stir};
|
\node [start] (start_n) {Mix \qty{50}{\gram} flour + \qty{50}{\gram} water, stir};
|
||||||
\node [block, right of=init] (wait2) {Wait\\ \qty{24}{\hour}};
|
\node [block, right of=start_n, node distance = 3.5cm] (wait_n) {Wait\\ \qty{24}{\hour}};
|
||||||
\path [line] (init) -- (wait2);
|
\node [decision, right of=wait_n, node distance = 3.5cm] (readycheck_n) {Ready?};
|
||||||
\node [block, below of=wait2, node distance=3.5cm] (feed) {\qty{10}{\gram} of previous day + \qty{50}{\gram} water + \qty{50}{\gram} flour, stir};
|
\node [block, below of=wait_n, node distance = 3.2cm] (feed_n) {Feed the mixture };
|
||||||
\path [line] (wait2) -- (feed);
|
\node [decision, right of=feed_n, node distance = 3.5cm] (limitcheck_n) {>10 feeds?};
|
||||||
\node [block, below of=feed] (discard) {Discard the rest};
|
\node [fail, right of=limitcheck_n, node distance = 3.5cm] (abort_n) {Discard all. Start over};
|
||||||
\path [line] (feed) -- (discard);
|
\node [success, right of=readycheck_n, node distance = 3.5cm] (final_n) {Ready to use};
|
||||||
\node [decision, right of=feed, node distance=3.5cm] (decide) {Is good?};
|
|
||||||
\node [decision, above of=decide, node distance=3.5cm] (timeout) {Less than 10 feeds?};
|
\draw [line] (start_n) -- (wait_n);
|
||||||
\node [fail, right of=timeout, node distance=3.5cm] (discard2) {Batch failed};
|
\draw [line] (wait_n) -- (readycheck_n);
|
||||||
\path [line] (timeout) -- node{no} (discard2);
|
\draw [line] (feed_n) -- (wait_n);
|
||||||
\path [line] (timeout) -- node{yes} (wait2);
|
\draw [line] (readycheck_n) -- node {No} (limitcheck_n);
|
||||||
\path [line] (feed) -- (decide);
|
\draw [line] (limitcheck_n) -- node (feedok_n) {No} (feed_n) ;
|
||||||
\node [success, right of=decide, node distance=3.5cm] (use) {Ready to use};
|
\draw [line] (limitcheck_n) -- node {Yes} (abort_n);
|
||||||
\path [line] (decide) -- node{no} (timeout);
|
\draw [line] (readycheck_n) -- node {Yes} (final_n);
|
||||||
\path [line] (wait2) -- (feed);
|
|
||||||
\path [line] (decide) -- node{yes} (use);
|
\node [below of=feedok_n, node distance=2cm, align=left] (details2) [shape=rectangle, draw, fill=maingray]{%
|
||||||
|
\textbf{Ready}: Mixture has \emph{grown}, has \emph{bubbles}, and \emph{smells} vinegary/yoghurty. \\
|
||||||
|
\textbf{Feed the mixture}: Discard all but \qty{10}{\gram}, mix in \qty{50}{\gram} flour and \qty{50}{\gram} water.
|
||||||
|
};
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,19 +1,40 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3cm, auto]
|
||||||
\node [start] (init) {Make a starter};
|
\node [start] (init) {Create a starter};
|
||||||
\node [block, right of=init, node distance=3cm] (feed) {Feed your starter};
|
\node [decision, right of=init, node distance=3.5cm] (decision_start) {Starter last fed within 3~days?};
|
||||||
\path [line] (init) -- (feed);
|
\node [block, right of=decision_start, text width=7em, node distance=4cm] (feed_no_branch)
|
||||||
\node [block, right of=feed, node distance=3cm] (wait_12_after_feed) {Wait\\ \qty{12}{\hour}};
|
{Feed starter twice:\par \qty{48}{\hour} before\par \qtyrange{6}{12}{\hour} before};
|
||||||
\path [line] (feed) -- (wait_12_after_feed);
|
\node [block, below of=feed_no_branch, text width=7em, node distance=2.7cm] (feed_yes_branch)
|
||||||
\node [block, right of=wait_12_after_feed, node distance=3cm] (ready_question) {Perform readiness check};
|
{Feed starter \qtyrange{6}{12}{\hour} before making dough.};
|
||||||
\path [line] (wait_12_after_feed) -- (ready_question);
|
\node [block, right of=feed_no_branch, text width=7em, node distance=4cm] (high_ratio)
|
||||||
\node [block, above of=feed, node distance=3cm] (wait_12) {Wait\\ \qty{12}{\hour}};
|
{Use a 1:10:10 ratio:\par \begin{tabular}{r@{}l}
|
||||||
\path [line] (wait_12) -- (feed);
|
10&~g starter,\\
|
||||||
\node [decision, right of=ready_question, node distance=3.2cm] (is_bubbly) {Bubbly? Size Increase?};
|
100&~g flour, \\
|
||||||
\path [line] (ready_question) -- (is_bubbly);
|
100&~g water.\end{tabular}};
|
||||||
\path [line] (is_bubbly) -- node[anchor=east, above=2pt] {no} ++(2.2,0) |- (wait_12);
|
\node [block, right of=feed_yes_branch, text width=7em, node distance=4cm] (low_ratio)
|
||||||
\node [decision, below of=is_bubbly, node distance=4.0cm] (check_smell) {Vinegary, or yogurt smell?};
|
{Use a 1:5:5 ratio:\par \begin{tabular}{r@{}l}
|
||||||
\path [line] (is_bubbly) -- node{yes} (check_smell);
|
10&~g starter,\\
|
||||||
\node [success, below of=wait_12_after_feed, node distance=4cm] (make_dough) {Make your dough};
|
50&~g flour, \\
|
||||||
\path [line] (check_smell) -- node[anchor=west, above=2pt]{yes} (make_dough);
|
50&~g water.\end{tabular}};
|
||||||
\path [line] (check_smell) -- node[anchor=east, above=2pt] {no} ++(2.2,0) |- (wait_12);
|
\node [decision, below of=high_ratio, node distance=6cm] (size_check)
|
||||||
|
{Bubbly? Increased in size?};
|
||||||
|
\node [decision, below of=decision_start, node distance=6cm] (smell_check)
|
||||||
|
{Vinegary or yogurty smell?};
|
||||||
|
\node [success, below of=init, node distance=6cm] (make_dough)
|
||||||
|
{Prepare dough};
|
||||||
|
|
||||||
|
\path [line] (init) -- (decision_start);
|
||||||
|
\path [line] (decision_start) -- node{No} (feed_no_branch);
|
||||||
|
\path [line] (decision_start) -- node[below=2pt]{Yes} (feed_yes_branch.north west);
|
||||||
|
\path [line] (feed_yes_branch) -- (low_ratio);
|
||||||
|
\path [line] (feed_no_branch) -- (high_ratio);
|
||||||
|
\path [line] (high_ratio) -- node[anchor=east, above=2pt] {} ++(2.2,0) |-(size_check);
|
||||||
|
\path [line] (low_ratio) -- (size_check);
|
||||||
|
\path [line] (size_check) -- node{No} (feed_yes_branch.south east);
|
||||||
|
\path [line] (size_check) -- node{Yes} (smell_check);
|
||||||
|
\path [line] (smell_check) -- node{No} (feed_yes_branch.south west);
|
||||||
|
\path [line] (smell_check) -- node{Yes} (make_dough);
|
||||||
|
|
||||||
|
% braces
|
||||||
|
\draw[BC] (size_check.south) --
|
||||||
|
node[below=1em]{Check if starter is ready to be used}(smell_check.south);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 4cm, auto]
|
||||||
\node [start] (init) {Make a regular or liquid starter};
|
\node [start] (init) {Take your regular or liquid starter};
|
||||||
\node [block, right of=init] (feed_new_ratio) {Mix \qty{10}{\gram} existing starter, \qty{50}{\gram} flour and \qty{25}{\gram} water};
|
\node [block, right of=init, node distance = 4cm] (feed_new_ratio) {Mix \qty{10}{\gram} existing starter, \qty{50}{\gram} flour and \qty{25}{\gram} water};
|
||||||
\node [decision, right of=feed_new_ratio, node distance=3.5cm] (too_dry) {Starter very dry, hard to mix?};
|
\node [decision, right of=feed_new_ratio, node distance=5cm] (too_dry) {Starter very dry, hard to mix?};
|
||||||
\node [block, right of=too_dry, node distance=4cm] (add_water) {Add more water};
|
\node [block, right of=too_dry, node distance=4cm] (add_water) {Add more water};
|
||||||
\node [block, below of=add_water, node distance=2cm] (next_day) {Wait\\ \qty{24}{\hour}};
|
\node [block, below of=too_dry] (next_day) {Wait\\ \qty{24}{\hour}};
|
||||||
\node [decision, below of=too_dry, node distance=3.5cm] (repeated_3_times) {Stiff starter fed 3 times overall?};
|
\node [block] at (feed_new_ratio |- next_day) (feed_again) {Feed again using 1:5:2.5 ratio};
|
||||||
\node [block, below of=feed_new_ratio, node distance=3.5cm] (feed_again) {Feed again using 1:5:2.5 ratio};
|
\node [decision, below of=next_day, node distance=3.5cm] (ready_signs) {Size increase and sour smell?};
|
||||||
\node [decision, below of=repeated_3_times, node distance=3.5cm] (ready_signs) {Size increase and sour smell?};
|
\node [block] at (ready_signs -| add_water) (last_feed) {Feed one last time};
|
||||||
\node [block, below of=next_day, node distance=2cm] (last_feed) {Feed one last time};
|
|
||||||
\node [success, below of=last_feed, node distance=3cm] (bread_dough) {Make bread dough};
|
\node [success, below of=last_feed, node distance=3cm] (bread_dough) {Make bread dough};
|
||||||
\path [line] (init) -- (feed_new_ratio);
|
\path [line] (init) -- (feed_new_ratio);
|
||||||
\path [line] (feed_again) -- (feed_new_ratio);
|
\path [line] (feed_again) -- (feed_new_ratio);
|
||||||
\path [line] (next_day) -- (repeated_3_times);
|
\path [line] (next_day) -- (ready_signs);
|
||||||
\path [line] (repeated_3_times) -- node{yes} (ready_signs);
|
\path [line] (ready_signs) -- node{No} (feed_again |- last_feed) -| (feed_again.south);
|
||||||
\path [line] (repeated_3_times) -- node{no} (feed_again);
|
\path [line] (ready_signs) -- node{Yes} (last_feed);
|
||||||
\path [line] (ready_signs) -- node{no} (feed_again);
|
|
||||||
\path [line] (ready_signs) -- node{yes} (last_feed);
|
|
||||||
\path [line] (last_feed) -- node{after \qtyrange{6}{12}{\hour}} (bread_dough);
|
\path [line] (last_feed) -- node{after \qtyrange{6}{12}{\hour}} (bread_dough);
|
||||||
\path [line] (feed_new_ratio) -- (too_dry);
|
\path [line] (feed_new_ratio) -- (too_dry);
|
||||||
\path [line] (add_water) -- (next_day);
|
\path [line] (add_water.north) -- node{} ++(0, 1.3) -| (too_dry.north);
|
||||||
\path [line] (too_dry) -- node{no} (next_day);
|
\path [line] (too_dry) -- node{No} (next_day);
|
||||||
\path [line] (too_dry) -- node{yes} (add_water);
|
\path [line] (too_dry) -- node{Yes} (add_water);
|
||||||
\path [line] (ready_signs) -- node{yes} (last_feed);
|
\path [line] (ready_signs) -- node{Yes} (last_feed);
|
||||||
|
|
||||||
|
\node [text width=5em, align=center] (repeat_text) at ($(feed_new_ratio)!0.5!(next_day)$) {Repeat 3~times};
|
||||||
|
\draw [line] ($(repeat_text) +(0, 1 cm)$) arc (90:-210:1cm);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
\begin{tikzpicture}[node distance = 3.2cm, auto]
|
||||||
\node [start] (init) {Ready starter};
|
\node [start] (init) {Ready starter};
|
||||||
\node [block, right of=init, node distance=3cm] (mix_ingredients) {Mix ingredients};
|
\node [block, right of=init] (mix_ingredients) {Mix ingredients};
|
||||||
\node [block, right of=mix_ingredients, node distance=3cm] (dough_strength) {Create dough strength};
|
\node [block, right of=mix_ingredients] (dough_strength) {Create dough strength};
|
||||||
\node [block, right of=dough_strength, node distance=3cm] (bulk) {Bulk ferment};
|
\node [block, right of=dough_strength] (bulk) {Bulk ferment};
|
||||||
\node [decision, below of=dough_strength, node distance=3cm] (divide_test) {Making 1 loaf?};
|
\node [decision, below of=bulk] (divide_test) {Making one loaf?};
|
||||||
\node [block, left of=divide_test, node distance=3cm] (divide) {Divide};
|
\node [block, right of=divide_test] (divide) {Divide};
|
||||||
\node [block, left of=divide, node distance=3cm] (preshape) {Preshape};
|
\node [block, below of=divide] (preshape) {Preshape};
|
||||||
\node [block, below of=preshape, node distance=3cm] (shape) {Shape};
|
\node [block, below of=divide_test] (shape) {Shape};
|
||||||
\node [block, right of=shape, node distance=3cm] (proof) {Proof};
|
\node [block, left of=shape] (proof) {Proof};
|
||||||
\node [success, right of=proof, node distance=3cm] (bake) {Bake};
|
\node [success, left of=proof] (bake) {Bake};
|
||||||
\path [line] (init) -- (mix_ingredients);
|
\path [line] (init) -- (mix_ingredients);
|
||||||
\path [line] (mix_ingredients) -- (dough_strength);
|
\path [line] (mix_ingredients) -- (dough_strength);
|
||||||
\path [line] (dough_strength) -- (bulk);
|
\path [line] (dough_strength) -- (bulk);
|
||||||
\path [line] (bulk) -- (divide_test);
|
\path [line] (bulk) -- (divide_test);
|
||||||
\path [line] (divide_test) -- node{yes} (shape);
|
\path [line] (divide_test) -- node{Yes} (shape);
|
||||||
\path [line] (divide_test) -- node{no} (divide);
|
\path [line] (divide_test) -- node{No} (divide);
|
||||||
\path [line] (divide) -- (preshape);
|
\path [line] (divide) -- (preshape);
|
||||||
\path [line] (preshape) -- (shape);
|
\path [line] (preshape) -- (shape);
|
||||||
\path [line] (shape) -- (proof);
|
\path [line] (shape) -- (proof);
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
\begin{tikzpicture}[node distance = 3cm, auto]
|
|
||||||
\node [decision_start] (init) {Starter last fed within 3 days?};
|
|
||||||
\node [block, right of=init, node distance=4cm] (feed_no_branch)
|
|
||||||
{Feed starter twice. \qty{48}{\hour} before and \qtyrange{6}{12}{\hour} before};
|
|
||||||
\node [block, below of=feed_no_branch, node distance=3cm] (feed_yes_branch)
|
|
||||||
{Feed starter once \qtyrange{6}{12}{\hour} before making dough};
|
|
||||||
\node [block, right of=feed_no_branch, node distance=6cm] (high_ratio)
|
|
||||||
{Use a 1:10:10 ratio. \qty{10}{\gram} starter, \qty{100}{\gram} flour, \qty{100}{\gram} water};
|
|
||||||
\node [block, right of=feed_yes_branch, node distance=3cm] (low_ratio)
|
|
||||||
{Use a 1:5:5 ratio. \qty{10}{\gram} starter, \qty{50}{\gram} flour, \qty{50}{\gram} water};
|
|
||||||
\node [block, below of=high_ratio, node distance=6cm] (check_starter)
|
|
||||||
{Check if starter is ready to be used};
|
|
||||||
\node [decision, below of=init, node distance=6cm] (size_check)
|
|
||||||
{Bubbly? Increased in size?};
|
|
||||||
\node [decision, below of=size_check, node distance=5cm] (smell_check)
|
|
||||||
{Vinegary or yogurty smell?};
|
|
||||||
\node [success, right of=smell_check, node distance=6cm] (make_dough)
|
|
||||||
{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}
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
\tikzstyle{every picture}+=[font=\footnotesize\sffamily]
|
\tikzstyle{every picture}+=[font=\footnotesize\sffamily]
|
||||||
\usetikzlibrary{shapes,arrows}
|
\usetikzlibrary{calc, shapes, arrows.meta, decorations.pathreplacing, calligraphy,
|
||||||
|
positioning}
|
||||||
\tikzstyle{decision} = [diamond, draw=codeblack, fill=codeblack, text=white,
|
\tikzstyle{decision} = [diamond, draw=codeblack, fill=codeblack, text=white,
|
||||||
text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt,
|
text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt,
|
||||||
line width=2mm]
|
line width=2mm]
|
||||||
@@ -18,4 +19,17 @@
|
|||||||
\tikzstyle{fail} = [rectangle, draw=codeblack, fill=redpic, text=black,
|
\tikzstyle{fail} = [rectangle, draw=codeblack, fill=redpic, text=black,
|
||||||
text width=5em, text centered, rounded corners, minimum height=4em,
|
text width=5em, text centered, rounded corners, minimum height=4em,
|
||||||
line width=0.4mm]
|
line width=0.4mm]
|
||||||
\tikzstyle{line} = [draw, -latex', thick, ->,>=to]
|
% The arrowed connector line between nodes
|
||||||
|
\tikzstyle{line} = [draw, thick, ->, >={Latex}]
|
||||||
|
|
||||||
|
\tikzstyle{BC} = [decorate, % Brace Calligraphic
|
||||||
|
decoration={calligraphic brace, amplitude=3mm, raise=1mm},
|
||||||
|
very thick, pen colour={black} ]
|
||||||
|
\tikzstyle{loop} = [arc, draw=codeblack, line width=0.4mm]
|
||||||
|
|
||||||
|
\tikzstyle{timeline_event}=[align=center, fill=white, inner sep=2pt]
|
||||||
|
|
||||||
|
\tikzstyle{timeline_timespan} = [rectangle, draw=codeblack, fill=pinkpic, text=black,
|
||||||
|
text centered, rounded corners, line width=0.4mm]
|
||||||
|
\pgfplotsset{compat=1.18}
|
||||||
|
\pgfplotsset{width=\textwidth}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
\documentclass[tikz]{standalone}
|
\documentclass[tikz]{standalone}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
|
\usepackage{pgfplots}
|
||||||
|
\usepackage{chemfig}
|
||||||
\usepackage[mode=match, reset-text-family=false]{siunitx}
|
\usepackage[mode=match, reset-text-family=false]{siunitx}
|
||||||
\DeclareSIUnit\degF{\text{°}F}
|
\DeclareSIUnit\degF{\text{°}F}
|
||||||
\input{flowcharts_tikz.tex}
|
\input{flowcharts_tikz.tex}
|
||||||
\input{../colors.tex}
|
\input{../colors.tex}
|
||||||
|
\input{../abbreviations.tex}
|
||||||
|
|||||||
@@ -1,33 +1,34 @@
|
|||||||
|
\chapter{Flour types}%
|
||||||
|
\label{ch:flour-types}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter we will have a closer look at different flour types
|
In this chapter we will have a closer look at different flour types
|
||||||
and their respective categorization. We will also look at common
|
and their respective categorization. We will also look at common
|
||||||
ways to distinguish different flours of the same type. This way you can more confidently
|
ways to distinguish different flours of the same type, this way you can more
|
||||||
purchase the flour that you need.
|
confidently purchase the flour you need.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
The most basic flour type is a whole grain flour. In this case the whole seed has
|
The most basic flour type is a whole grain flour, in this case the whole seed has
|
||||||
been grounded to smaller pieces. Sometimes, depending on what you want to bake,
|
been grounded to smaller pieces. Sometimes, depending on what you want to bake,
|
||||||
the hearty taste of the bran might not be desired. In this case you can use
|
the hearty taste of the bran might not be desired. In this case you can use
|
||||||
whiter flours. With sieves, mills remove larger parts of the hull of the seed.
|
whiter flours. Together with sieves, mills remove larger parts of the seed's
|
||||||
The seed already contains a pre-built germ from the plant waiting to be
|
hull. The seed already contains a pre-built germ from the plant waiting to be
|
||||||
activated. The whitest flour you can get is mostly just the starch part of the seed.
|
activated. The whitest flour you can get is mostly just the starch part of the seed.
|
||||||
Depending on which layers are still present, names are used to describe the
|
Depending on which layers are still present, different names are used to describe the
|
||||||
type of flour.
|
type of flour.
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-flour-types.tex}
|
\input{tables/table-flour-types.tex}
|
||||||
\caption[Labelling of wheat flour]{A comparison of how different types
|
\caption[Labeling of wheat flour]{A comparison of how different types
|
||||||
of wheat flour are labelled in different countries.}%
|
of wheat flour are labeled in different countries.}%
|
||||||
\label{tab:flour-types-comparison}
|
\label{tab:flour-types-comparison}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\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
|
||||||
\qty{100}{\gram} of flour in the oven. Then afterwards the remaining ash is extracted
|
\qty{100}{\gram} of flour in the oven. Then afterwards the remaining ash is extracted
|
||||||
and measured. Depending on the quantity the flour is categorized. If the flour
|
and measured. Depending on the quantity the flour is categorized. If the flour
|
||||||
is of type 405 then \qty{405}{\mg} of ash have remained after burning the
|
is of type 405, then \qty{405}{\mg} of ash have remained after burning the
|
||||||
flour. The more hull parts the flour has, the more minerals remain. So the
|
flour. The more hull parts the flour has, the more minerals remain, therefore the
|
||||||
higher the number, the closer the flour is to whole flour. The numbers are
|
higher the number, the closer the flour is to whole flour. The numbers are
|
||||||
slightly different between each grain type. Generally though, the higher the
|
slightly different between each grain type. Generally though, the higher the
|
||||||
value, the heartier the taste is going to be.
|
value, the heartier the taste is going to be.
|
||||||
@@ -43,32 +44,35 @@ If you compare different grain types, there are grains with high gluten, low glu
|
|||||||
and no gluten. Gluten is what enables bread to have its fluffy consistency.
|
and no gluten. Gluten is what enables bread to have its fluffy consistency.
|
||||||
Without gluten the baked goods wouldn't have the same properties. Managing
|
Without gluten the baked goods wouldn't have the same properties. Managing
|
||||||
gluten makes the whole bread-making process more complex as more steps are involved.
|
gluten makes the whole bread-making process more complex as more steps are involved.
|
||||||
A dough without gluten doesn't have to be kneaded. Kneading creates
|
|
||||||
|
A dough without gluten doesn't have to be kneaded as the role of kneading is
|
||||||
|
to create
|
||||||
the gluten bonds. The more you knead, the stronger they become. With low-gluten
|
the gluten bonds. The more you knead, the stronger they become. With low-gluten
|
||||||
and no-gluten flours, you only have to mix the ingredients together, making
|
and no-gluten flours, you only have to mix the ingredients together, making
|
||||||
sure you properly homogenize everything. During fermentation
|
sure you properly homogenize everything.
|
||||||
|
|
||||||
|
During fermentation
|
||||||
the gluten degrades as the microorganisms metabolize it. When too much gluten
|
the gluten degrades as the microorganisms metabolize it. When too much gluten
|
||||||
has been converted your dough will no longer have the wheat-like structure previously
|
has been converted your dough will no longer have the wheat-like structure previously
|
||||||
described. For no/low gluten flour your main focus is managing acidity. You do not
|
described. For no/low gluten flour your main focus is managing acidity, you do not
|
||||||
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. Conversely you do not have to worry about
|
||||||
degradation, removing a huge headache from the equation.
|
the gluten degradation, removing a huge headache from the equation.
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-grains-bread-making-process.tex}
|
\input{tables/table-grains-bread-making-process.tex}
|
||||||
\caption[Different types of grain]{An overview of different grain
|
\caption[Different types of grain]{An overview of different grain
|
||||||
types and the steps involved in the respective bread making process.}
|
types and the steps involved in the respective bread making process.}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
As gluten has a special role, the rest of this chapter is dedicated to having a
|
Because 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. Like wheat
|
||||||
also contains significant amounts of gluten, so the same characteristics hold
|
spelt contains significant amounts of gluten, so the same characteristics hold
|
||||||
true.
|
true.
|
||||||
|
|
||||||
Several recipes call for wheat bread flour. Bread flour can refer to different types
|
Several recipes call for wheat bread flour, but bread flour can refer to different types
|
||||||
of flour. It could be a T405 or a T550 in Germany. This is very often
|
of flour. It could be a T405 or a T550 in Germany---this is very often
|
||||||
classified incorrectly. The terms \emph{strong} or \emph{bread} flour in this case
|
classified incorrectly---the terms \emph{strong} or \emph{bread} flour in this case
|
||||||
refer to the properties of the flour. A bread flour is considered to have a
|
refer to the properties of the flour. A bread flour is considered to have a
|
||||||
higher amount of protein and thus gluten. This flour is excellent when you
|
higher amount of protein and thus gluten. This flour is excellent when you
|
||||||
want to make a sourdough bread as your dough allows for a longer leavening
|
want to make a sourdough bread as your dough allows for a longer leavening
|
||||||
@@ -80,16 +84,17 @@ properties might not be desirable since the final cake could have a chewy textur
|
|||||||
In conclusion, not every T405, T45 or T00 flour is the same. Depending on the properties
|
In conclusion, not every T405, T45 or T00 flour is the same. Depending on the properties
|
||||||
of the plant they come from, the flours will have different properties. For that reason
|
of the plant they come from, the flours will have different properties. For that reason
|
||||||
some countries like Germany have introduced additional scales to evaluate the quality of the
|
some countries like Germany have introduced additional scales to evaluate the quality of the
|
||||||
wheat. The category \textbf{A} refers to good quality wheat that can be blended
|
wheat. The category \emph{A} refers to good quality wheat that can be blended
|
||||||
with poorer qualities to improve the flour. The category \textbf{B} refers to
|
with poorer qualities to improve the flour. The category \emph{B} refers to
|
||||||
average wheat that can be used to create different baked goods. Category \textbf{C}
|
average wheat that can be used to create different baked goods. Category \emph{C}
|
||||||
is used for wheat that has poor baking qualities. This could happen, for instance,
|
is used for wheat that has poor baking qualities. This could happen, for instance,
|
||||||
if the wheat already started to sprout and thus lost some of its desirable
|
if the wheat already started to sprout and thus lost some of its desirable
|
||||||
baking properties. This type of wheat is typically used in animal feed or
|
baking properties. This type of wheat is typically used in animal feed or
|
||||||
as fermentable biomass for generators. Category \textbf{E} refers to \emph{Elite} wheat. It's
|
as fermentable biomass for generators. Category \emph{E} refers to \emph{Elite} wheat. It's
|
||||||
the highest quality of wheat. This kind of wheat can only be harvested when the
|
the highest quality of wheat. This kind of wheat can only be harvested when the
|
||||||
wheat has grown under optimal conditions. You can compare this to a winery
|
wheat has grown under optimal conditions. You can compare this to a winery
|
||||||
that uses only the best grapes to make a reserve wine. Unfortunately, this is normally never printed
|
that uses only the best grapes to make a reserve wine. Unfortunately, this is
|
||||||
|
usually not printed
|
||||||
on the packaging of the flour that you buy. You can look out for the protein
|
on the packaging of the flour that you buy. You can look out for the protein
|
||||||
value as a possible indicator. However, large mills blend flours together to
|
value as a possible indicator. However, large mills blend flours together to
|
||||||
maintain quality throughout the years. Blended flour is also not listed on
|
maintain quality throughout the years. Blended flour is also not listed on
|
||||||
@@ -97,7 +102,7 @@ the packaging. It might be that bakeries extract gluten from some flour and
|
|||||||
then mix it in order to create better baking flours.
|
then mix it in order to create better baking flours.
|
||||||
|
|
||||||
In Italy the so-called
|
In Italy the so-called
|
||||||
\textbf{W-value} has been introduced to better show how the flour will behave.
|
\emph{W-value} has been introduced to better show how the flour will behave.
|
||||||
A dough is made, and then the resistance of this dough to kneading is measured.
|
A dough is made, and then the resistance of this dough to kneading is measured.
|
||||||
The more gluten a flour has, the more elastic the dough is, and the more it will
|
The more gluten a flour has, the more elastic the dough is, and the more it will
|
||||||
resist kneading. A higher W flour will have a higher gluten content and allow for a longer
|
resist kneading. A higher W flour will have a higher gluten content and allow for a longer
|
||||||
@@ -108,20 +113,19 @@ The long fermentation period also means that your microbes will enrich
|
|||||||
your dough with more flavor.
|
your dough with more flavor.
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-overview-w-values.tex}
|
\input{tables/table-overview-w-values.tex}
|
||||||
\caption[Fermentation time versus W-value]{An overview of different
|
\caption[Fermentation time versus W-value]{An overview of different
|
||||||
levels of W-values and the respective hydrations and fermentation
|
levels of W-values and the respective hydration and fermentation
|
||||||
times.}%
|
times.}%
|
||||||
\label{tab:w-value}
|
\label{tab:w-value}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\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
|
||||||
gluten value is relatively low, your bread will collapse faster. Baking bread
|
gluten value is relatively low, your bread will collapse faster. Baking bread
|
||||||
is still possible, but it might be easier to use tools such as a loaf pan, or
|
is still possible, but it might be easier to use other techniques such as a
|
||||||
to make skilled bread or flatbread.
|
loaf pan, to consider skillet bread or flatbread.
|
||||||
|
|
||||||
An additional, rarely considered characteristic of good flour is the level of damage to the
|
An additional, rarely considered characteristic of good flour is the level of damage to the
|
||||||
starch molecules. This is a common problem when you are trying to mill your own wheat flours at
|
starch molecules. This is a common problem when you are trying to mill your own wheat flours at
|
||||||
@@ -134,8 +138,8 @@ This also provides a larger surface that your microbes can use to attack the mol
|
|||||||
and start the fermentation process.
|
and start the fermentation process.
|
||||||
|
|
||||||
I~am still
|
I~am still
|
||||||
yet to find a good way of milling my own flour at home. Even after trying to
|
yet to find a good way of milling my own wheat flour at home. Even after trying to
|
||||||
mill the flour 10 times with short breaks, I~was not able to achieve the same
|
mill the flour 10~times with short breaks, I~was not able to achieve the same
|
||||||
properties as with commercially milled flour. The doughs I~would make felt
|
properties as with commercially milled flour. The doughs I~would make felt
|
||||||
good, maybe a bit coarse. However, during baking the doughs would start to
|
good, maybe a bit coarse. However, during baking the doughs would start to
|
||||||
de-gas quickly and turn into very flat breads. I~have had great success though when
|
de-gas quickly and turn into very flat breads. I~have had great success though when
|
||||||
|
|||||||
467
book/glossary/glossary.tex
Normal file
@@ -0,0 +1,467 @@
|
|||||||
|
\chapter{Glossary}%
|
||||||
|
\label{ch:Glossary}
|
||||||
|
|
||||||
|
\begin{quoting}
|
||||||
|
This glossary provides definitions and explanations for terms frequently
|
||||||
|
used in bread making. Understanding these terms is essential for both
|
||||||
|
novice and experienced bakers aiming to master the art and science of
|
||||||
|
bread making. The glossary is arranged alphabetically for easy reference.
|
||||||
|
\end{quoting}
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
|
||||||
|
\item[Acetic Acid] A type of organic acid produced by hetero fermentative lactic
|
||||||
|
acid bacteria and acetic acid bacteria during fermentation. It gives sourdough bread
|
||||||
|
its characteristic tangy flavor and helps to preserve the bread by lowering its pH.
|
||||||
|
The flavor of acetic acid has a more vinegary profile.
|
||||||
|
|
||||||
|
\item[Aliquot jar] A small piece of dough extracted after creating initial
|
||||||
|
dough strength. The aliquot jar is used to monitor the dough's fermentation progress.
|
||||||
|
It's important to ensure the dough's water temperature in the aliquot matches
|
||||||
|
your room temperature for accurate readings. Be mindful that the aliquot
|
||||||
|
jar may not be as effective if there are significant temperature
|
||||||
|
fluctuations in your kitchen. This is because the small dough sample in
|
||||||
|
the aliquot can heat up or cool down faster than the main dough mass,
|
||||||
|
potentially impairing its ability to accurately monitor fermentation.
|
||||||
|
It's crucial to use a cylindrical-shaped aliquot container to properly judge
|
||||||
|
the dough's size increase.
|
||||||
|
|
||||||
|
\item[All Purpose Flour] A general flour that’s balanced to make breads and also
|
||||||
|
cakes. In Germany this is type~550.
|
||||||
|
|
||||||
|
\item[Alpha-amylase] A type of amylase that breaks down starch molecules into
|
||||||
|
shorter fragments, producing maltose and some glucose.
|
||||||
|
|
||||||
|
\item[Alveograph] A device used primarily in the evaluation of wheat flour's
|
||||||
|
baking quality. The alveograph assesses the dough's rheological properties,
|
||||||
|
particularly its extensibility and resistance to extension, by inflating a piece
|
||||||
|
of dough like a balloon until it bursts. The resulting chart, or \emph{alveogram},
|
||||||
|
displays a curve that represents the balance between the dough's elasticity and
|
||||||
|
extensibility. Specific parameters derived from the curve, such as the P (pressure
|
||||||
|
required to inflate the dough) and L (extensibility of the dough), provide invaluable
|
||||||
|
insights to bakers and millers regarding the flour's potential performance in
|
||||||
|
bread-making. By analyzing the alveogram, professionals can make informed decisions
|
||||||
|
about the suitability of a flour for certain baking applications, as well as
|
||||||
|
potential blending needs with other flours.
|
||||||
|
|
||||||
|
\item[Alveoli] (singular Alveolus) The little pockets that form the crumb,
|
||||||
|
formed by the gluten matrix trapping carbon dioxide.
|
||||||
|
|
||||||
|
\item[Amylase] An enzyme that breaks down starches into simpler sugars, facilitating
|
||||||
|
the fermentation process in beer and bread making. When making beer the temperature
|
||||||
|
of the brew is kept for extended periods at certain temperatures to ensure that most
|
||||||
|
starches are broken down to sugars. These sugars are then consumed by the microbes
|
||||||
|
during the fermentation process.
|
||||||
|
|
||||||
|
\item[Autolyse] A process where flour and water are mixed and then left to rest
|
||||||
|
before adding other ingredients. This activates enzymes such as amylase and protease.
|
||||||
|
By doing so the bulk fermentation time is shortened and the final loaf will have
|
||||||
|
better properties. The browning of the loaf becomes better and the crumb fluffier.
|
||||||
|
An autolyse is recommended when using a high percentage of starter to inoculate the
|
||||||
|
dough (>~\SI{20}{\percent}). An alternative easier approach can be the fermentolyse.
|
||||||
|
|
||||||
|
\item[Bacteria] Unicellular microorganisms that exist in diverse forms and
|
||||||
|
habitats. They play crucial roles in various natural processes, especially in food
|
||||||
|
preparation like sourdough fermentation. Lactic and acetic acid bacteria, in particular,
|
||||||
|
are pivotal in the sourdough process, contributing to its distinct taste and texture.
|
||||||
|
Some bacteria are beneficial, aiding in digestion or producing vitamins, while others
|
||||||
|
can be harmful and cause diseases.
|
||||||
|
|
||||||
|
\item[Baker’s Math] Baker’s math is a ratio based system of sharing recipes,
|
||||||
|
making them easily scalable. It’s based on the total weight of the flour in a formula,
|
||||||
|
where each ingredients weight is divided by the flours weight to give a percentage.
|
||||||
|
For \SI{500}{\gram} of flour you could be using \SI{60}{\percent} of water (\SI{300}{\gram}),
|
||||||
|
\SI{10}{\percent} of starter (\SI{50}{\gram}) and \SI{2}{\percent} of salt (\SI{10}{\gram}).
|
||||||
|
|
||||||
|
\item[Baker’s percentage] See Baker’s math.
|
||||||
|
|
||||||
|
\item[Baking] The final, transformative step in bread making wherein dough is
|
||||||
|
exposed to high temperatures, causing a series of chemical and physical reactions
|
||||||
|
that result in a finished loaf of bread. During the baking stage:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \emph{Yeast Activity \& Oven Spring:} In the initial phase of baking, the
|
||||||
|
temperature inside the dough rises, increasing yeast activity. This results in rapid
|
||||||
|
carbon dioxide production, leading to what bakers refer to as \emph{oven spring}, or the
|
||||||
|
rapid rise of the loaf.
|
||||||
|
|
||||||
|
\item \emph{Protein Coagulation:} As the temperature continues to climb, the proteins
|
||||||
|
in the dough, primarily gluten, begin to coagulate or set, which gives the bread its
|
||||||
|
structure.
|
||||||
|
|
||||||
|
\item \emph{Starch Gelatinization:} Starches absorb water and swell, eventually
|
||||||
|
gelatinizing. This process contributes to the crumb structure of the bread.
|
||||||
|
|
||||||
|
\item \emph{Caramelization \& Maillard Reaction:} The crust of the bread browns due
|
||||||
|
to two primary reactions: caramelization of sugars and the Maillard reaction between
|
||||||
|
amino acids and reducing sugars. This not only affects the appearance but also imparts
|
||||||
|
a distinctive flavor and aroma to the bread.
|
||||||
|
|
||||||
|
\item \emph{Evaporation of Acids:} Some acids produced during fermentation evaporate at
|
||||||
|
certain temperatures during baking. This evaporation can influence the final flavor
|
||||||
|
profile of the bread, making it less tangy than the unbaked dough. By extending the
|
||||||
|
baking time the acids become less concentrated and the dough can lose some of its tang.
|
||||||
|
|
||||||
|
\item \emph{Moisture Evaporation:} Water in the dough turns to steam and begins to
|
||||||
|
evaporate. The steam contributes to the oven spring and also helps in gelatinizing
|
||||||
|
the starches.
|
||||||
|
|
||||||
|
\item \emph{Crust Formation:} The outer layer of the dough dries out and hardens to
|
||||||
|
form a crust, which acts as a protective barrier, keeping the inner crumb moist.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\item[Banneton] A wicker basket used to shape and support dough during its final
|
||||||
|
proof. The bannetons are typically made out of rattan or wood pulp. An alternative
|
||||||
|
DIY solution is to use a bowl with a kitchen towel inside. While resting inside of
|
||||||
|
the banneton the dough’s surface dries out and becomes easier to score before baking.
|
||||||
|
|
||||||
|
\item[Bassinage method] A bread making technique involving the staged addition of water
|
||||||
|
to the dough. Initially, the dough is mixed to a lower hydration level,
|
||||||
|
allowing gluten bonds to form more effectively. Once these gluten structures
|
||||||
|
are established, additional water is gradually incorporated through further
|
||||||
|
kneading. This method enhances the dough's extensibility, especially beneficial
|
||||||
|
when working with lower-gluten flours. By employing the bassinage method,
|
||||||
|
bakers can achieve a dough that is both strong and extensible.
|
||||||
|
|
||||||
|
\item[Bench Rest] A short resting period given to the dough after preshaping
|
||||||
|
allowing the gluten to relax a little bit and making shaping easier. Most people
|
||||||
|
bench rest for 10 minutes up to an hour. The bench rest becomes especially important
|
||||||
|
when making pizza doughs. Without an extended bench rest the dough is too elastic and
|
||||||
|
can not be shaped.
|
||||||
|
|
||||||
|
\item[Beta-amylase] An enzyme that further breaks down the starch fragments
|
||||||
|
produced by alpha-amylase into maltose.
|
||||||
|
|
||||||
|
\item[Bread Flour] A flour that is perfect for sourdough bread making. It features
|
||||||
|
a higher amount of gluten and can thus ferment for a longer period of time.
|
||||||
|
|
||||||
|
\item[Brühstück] A German baking technique similar to a scald. It translates as
|
||||||
|
\emph{boil piece}. Hot or boiling water is poured over whole grain flour or crushed grains,
|
||||||
|
then cooled and mixed with the main dough. This process helps in moisture retention
|
||||||
|
and can enhance the flavor and texture of the final bread. Also see \emph{scald}.
|
||||||
|
|
||||||
|
\item[Bulk Fermentation] The initial rising period after mixing all the
|
||||||
|
ingredients. The dough is typically allowed to rise until it increases to
|
||||||
|
a certain volume. The volume of increase depends on the flour that is
|
||||||
|
used. When baking with wheat flour the gluten amount of the flour is the
|
||||||
|
deciding factor. The more gluten your flour has (protein) the longer you
|
||||||
|
can bulk ferment. A longer bulk fermentation improves the flavor and
|
||||||
|
texture of the final bread. It becomes tangier and fluffier. You can aim
|
||||||
|
for a \SI{25}{\percent} size increase of your dough and then slowly
|
||||||
|
increase this to find your flour's sweet spot. This is highly dependent
|
||||||
|
from flour to flour. When using low gluten flour like rye you need to be
|
||||||
|
careful as the longer fermentation can create a too sticky dough which
|
||||||
|
collapses and does not hold its shape anymore.
|
||||||
|
|
||||||
|
\item[Cake Flour] Cake flour is a light, finely milled flour with a lower
|
||||||
|
protein content than all-purpose flour. It's ideal for tender baked goods
|
||||||
|
like cakes, cookies, and pastries.
|
||||||
|
|
||||||
|
\item[Coil fold] A special stretch and folding technique. The coil fold is
|
||||||
|
very gentle on the dough and is thus excellent throughout the bulk fermentation.
|
||||||
|
By applying the coil fold the dough strength is improved by minimizing damage
|
||||||
|
to the dough structure.
|
||||||
|
|
||||||
|
\item[Crumb] The inner texture of the bread, which is characterized by the size,
|
||||||
|
shape, and distribution of the holes (or \emph{alveoli}). It's what's inside once you slice
|
||||||
|
a loaf of bread open. A \emph{tight crumb} refers to bread with small, evenly distributed
|
||||||
|
holes, while an \emph{open crumb} has larger, more irregular holes.
|
||||||
|
|
||||||
|
\item[Diastatic Malt] Malted grain that has been dried and then ground into a powder.
|
||||||
|
This malt contains enzymes that can break down starches into sugars, which can be
|
||||||
|
beneficial in the fermentation process for bread. When added to dough, it can improve
|
||||||
|
the bread's flavor, color, and shelf life.
|
||||||
|
|
||||||
|
\item[Discard] The portion of sourdough starter that is removed and not fed when
|
||||||
|
maintaining the starter. This is often done to prevent the starter from becoming too
|
||||||
|
large and unmanageable. Discard can be used in various recipes or thrown away.
|
||||||
|
|
||||||
|
\item[Dividing] The process of breaking the dough mass into smaller pieces,
|
||||||
|
typically to shape into individual loaves or portions.
|
||||||
|
|
||||||
|
\item[Dough Hydration] Expressed as a percentage, it's the amount of water in a
|
||||||
|
dough relative to the amount of flour. A higher hydration dough will be wetter and
|
||||||
|
stickier, while a lower hydration dough will be firmer. For example, a dough
|
||||||
|
with \SI{500}{\gram} of flour and \SI{375}{\gram} of water has a hydration of
|
||||||
|
\SI{75}{\percent}
|
||||||
|
|
||||||
|
\item[Dough Strength] Refers to the dough's resilience, elasticity, and structure.
|
||||||
|
A strong dough can be stretched without tearing and holds its shape well. This is
|
||||||
|
largely influenced by the flour's protein content and the development of the gluten
|
||||||
|
network.
|
||||||
|
|
||||||
|
\item[Dutch Oven] A heavy-duty pot with a tight-fitting lid, often made of cast
|
||||||
|
iron. It's used in baking to trap steam during the initial phase of baking, helping
|
||||||
|
to create a crusty exterior on bread.
|
||||||
|
|
||||||
|
\item[Elasticity] A property of dough that describes its ability to return to
|
||||||
|
its original shape after being stretched or deformed. It's influenced by the flour's
|
||||||
|
protein content and the development of the gluten network.
|
||||||
|
|
||||||
|
\item[Extensibility] Refers to the dough’s ability to be stretched or extended
|
||||||
|
without tearing. It's the opposite of elasticity and is desirable in certain types
|
||||||
|
of breads, like ciabatta, that have a more open crumb structure.
|
||||||
|
|
||||||
|
\item[Feed] The act of adding fresh flour and water to maintain a sourdough
|
||||||
|
starter. Regular feeding keeps the starter active and healthy.
|
||||||
|
|
||||||
|
\item[Fermentation] The metabolic process by which microorganisms such as yeast
|
||||||
|
and bacteria convert carbohydrates (like sugars) into alcohol or acids. In bread
|
||||||
|
making, this produces carbon dioxide which causes the dough to rise.
|
||||||
|
|
||||||
|
\item[Fermentolyse] Using a small amount of starter to slow fermentation.
|
||||||
|
It's a method where fermentation and autolyse are combined. Typically around \SI{10}{\percent}
|
||||||
|
of starter is used for the fermentolyse. The flour, water and starter are mixed
|
||||||
|
together. By adding the starter early the dough becomes more extensible and easier
|
||||||
|
to handle.
|
||||||
|
|
||||||
|
\item[Finger poke test] The finger poke test is a simple yet effective way to
|
||||||
|
check if your sourdough bread is ready to bake. After the final rise, lightly
|
||||||
|
flour your finger and gently press about half an inch into the dough.
|
||||||
|
If the dough springs back slowly and leaves a slight indentation, it's perfect
|
||||||
|
and ready for the oven. If it springs back quickly, it needs more time to rise.
|
||||||
|
However, if the dough collapses or doesn't spring back at all, it may be
|
||||||
|
over fermented.
|
||||||
|
|
||||||
|
\item[Float test] The float test is a technique for assessing the readiness
|
||||||
|
of a sourdough starter. To perform this test, take a small sample of
|
||||||
|
your starter and gently place it in a glass of water. The outcome
|
||||||
|
of this test can provide insights into your starter's fermentation stage.
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item[] \emph{Positive result:} If your starter effortlessly floats on the
|
||||||
|
surface of the water, it's a clear indication that it has reached its peak
|
||||||
|
of fermentation and is ready to be used as a leavening agent in your dough.
|
||||||
|
This buoyancy is a result of the carbon dioxide gas produced during
|
||||||
|
the active fermentation process.
|
||||||
|
\item[] \emph{Negative result:} Conversely, if your starter sinks to the
|
||||||
|
bottom of the glass, it suggests that it's not quite ready yet.
|
||||||
|
This indicates that the fermentation process has not progressed
|
||||||
|
sufficiently for optimal leavening power.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
It's worth noting that while the float test is a reliable indicator
|
||||||
|
for wheat-based sourdough starters, it may not be as effective for non-wheat
|
||||||
|
starters. This is because the gas generated during fermentation in non-wheat
|
||||||
|
starters tends to escape more readily, making it less buoyant. For non-wheat
|
||||||
|
starters, a more accurate approach involves observing the presence of
|
||||||
|
bubbles in your starter jar and assessing its aroma. A mature starter should
|
||||||
|
emit a mildly sour, but not overly pungent, scent.
|
||||||
|
|
||||||
|
\item[Fool’s Crumb] A term used to describe a crumb structure that has several
|
||||||
|
large pockets or holes, rather than an even distribution of smaller holes. This
|
||||||
|
isn't necessarily a desired feature, as it can indicate uneven fermentation or
|
||||||
|
improper shaping techniques.
|
||||||
|
|
||||||
|
\item[Gluten] A protein complex formed from gliadin and glutenin, found in wheat
|
||||||
|
and some other grains. It provides elasticity and strength to the dough when
|
||||||
|
properly aligned and developed. During the course of the bulk fermentation much of
|
||||||
|
the gluten is degraded by the protease enzyme and lactic acid bacteria.
|
||||||
|
|
||||||
|
\item[Homogenizing] The act of creating a consistent and uniform mixture. For
|
||||||
|
flours like einkorn and rye, where gluten alignment isn't the main goal, kneading
|
||||||
|
ensures that the dough achieves this homogeneous consistency.
|
||||||
|
|
||||||
|
\item[Hooch] A liquid layer that sometimes forms on top of a sourdough starter.
|
||||||
|
It's an indication that the starter is hungry and needs feeding. It acts as a
|
||||||
|
barrier shield and prevents the starter from catching mold. It can be mixed right
|
||||||
|
back into the starter or extracted to make hot sauces.
|
||||||
|
|
||||||
|
\item[Kneading] The manual or mechanical process of working dough to develop gluten
|
||||||
|
in wheat and spelt-based breads, or to homogenize the dough mass in flours like
|
||||||
|
einkorn or rye.
|
||||||
|
|
||||||
|
\item[Kochstück] When making a Kochstück, the flour or grains are heated
|
||||||
|
together with the fluid. The mixture needs to be stirred while heating up
|
||||||
|
to prevent clumping and burning it.
|
||||||
|
|
||||||
|
\item[Lactic Acid] Another organic acid produced by lactic acid bacteria during
|
||||||
|
fermentation. It imparts a mild tangy yogurty flavor to sourdough bread and, along
|
||||||
|
with acetic acid, contributes to the bread's overall acidity.
|
||||||
|
|
||||||
|
\item[Levain] See Sourdough starter.
|
||||||
|
|
||||||
|
\item[Maillard Reaction] The Maillard reaction is one of the causes of food browning
|
||||||
|
during cooking. The reaction occurs between reducing sugars and amino acids, and
|
||||||
|
depending on the initial reactants and cooking conditions can produce a wide variety
|
||||||
|
of end products with different tastes and aromas. Maillard reactions occur readily
|
||||||
|
above \SI{150}{\celsius}, although will still occur much more slowly below that
|
||||||
|
temperature. Optimal reaction rate occurs between \pHvalue{6.0} to \pHvalue{8.0},
|
||||||
|
although it favors alkaline conditions.
|
||||||
|
|
||||||
|
\item[Maltose] A sugar produced from the enzymatic breakdown of starch by amylases.
|
||||||
|
It's a primary food source for yeast during fermentation.
|
||||||
|
|
||||||
|
\item[Non-diastatic Malt] Malted grain that has been dried at higher temperatures,
|
||||||
|
deactivating its enzymes. It's used primarily for flavor and color in bread making.
|
||||||
|
Amylase and protease become degraded at temperatures higher than 50°C.
|
||||||
|
|
||||||
|
\item[Oven Spring] The rapid rise of the dough in the oven during the early stages
|
||||||
|
of baking due to the expansion of trapped gases and water.
|
||||||
|
|
||||||
|
\item[Over Fermenting] A common problem when making wheat or spelt doughs. When the
|
||||||
|
dough is fermented for too long most of the gluten in the dough is broken down. The
|
||||||
|
resulting dough is very sticky. The final bread will be very flat and lose some of its
|
||||||
|
typical texture. The crumb structure features many tiny pockets of air. A lot of the
|
||||||
|
trapped gasses can diffuse out of the dough during baking. If you notice this during
|
||||||
|
bulk fermentation it is advised to place the loaf inside of a loaf pan and then bake
|
||||||
|
it after a 30 to 60 minute rest.
|
||||||
|
|
||||||
|
\item[Over Proofing] The same as over fermenting, however happening during the
|
||||||
|
proofing stage.
|
||||||
|
|
||||||
|
%Hack to make sure there is a carriage return
|
||||||
|
\item[pH] A measure of the acidity or alkalinity of a solution. The pH scale
|
||||||
|
ranges from 0 to 14, where a pH value of 7 is neutral. Solutions with a pH value below
|
||||||
|
7 are acidic, while those with a pH above 7 are alkaline or basic. Fermented
|
||||||
|
foods with a pH below 4.2 are generally considered foodsafe. A pH meter can be
|
||||||
|
used to monitor your sourdough bread's fermentation progress.
|
||||||
|
|
||||||
|
\item[P/L Value] A critical parameter derived from the alveograph test, the P/L
|
||||||
|
value represents the ratio of the dough's tenacity (P) to its extensibility (L).
|
||||||
|
Specifically:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item[] \emph{P (Pressure)} refers to the pressure required to inflate the
|
||||||
|
dough during the alveograph test. It indicates the dough's resistance
|
||||||
|
to deformation or its strength.
|
||||||
|
\item[] \emph{L (Length)} represents the extensibility of the dough, or
|
||||||
|
how far it can be stretched before tearing.
|
||||||
|
\end{itemize}
|
||||||
|
The P/L ratio provides insights into the balance between the dough's elasticity and
|
||||||
|
extensibility:
|
||||||
|
%
|
||||||
|
\begin{itemize}
|
||||||
|
\item[] \emph{Low P/L Value} indicates a dough that is more extensible
|
||||||
|
than resistant. This means the dough can be stretched easily, making
|
||||||
|
it suitable for certain products like pizza or ciabatta.
|
||||||
|
\item[] \emph{High P/L Value} suggests a dough that has more strength than
|
||||||
|
extensibility. Such a dough is more resistant to deformation, which
|
||||||
|
can be preferable for products that require good volume and structure,
|
||||||
|
like certain types of bread.
|
||||||
|
\end{itemize}
|
||||||
|
The P/L value helps bakers and millers determine the suitability of a flour for
|
||||||
|
specific baking applications. Adjustments in flour blends or baking processes might
|
||||||
|
be made based on this ratio to achieve desired bread characteristics.
|
||||||
|
|
||||||
|
\item[Preferment] A mixture of a proportion of the doughs ingredients which is
|
||||||
|
allowed to ferment before being added to the final bread dough. These can include
|
||||||
|
sourdough, poolish, biga, pâte fermentée, or a general sponge.
|
||||||
|
|
||||||
|
\item[Preshaping] When dividing your large dough mass into smaller portions you end
|
||||||
|
up having non-uniform pieces of dough. This makes shaping much harder because the
|
||||||
|
resulting shaped dough will not be uniform. For this reason bakers drag the tiny dough
|
||||||
|
pieces over the surface of the counter to create more uniform looking dough balls.
|
||||||
|
|
||||||
|
\item[Proof] The final rise of the shaped dough before baking.
|
||||||
|
|
||||||
|
\item[Protease] An enzyme that breaks down proteins, including gluten, into smaller
|
||||||
|
peptide chains and amino acids. In the context of bread making, protease activity can
|
||||||
|
both benefit and challenge bakers. Moderate protease activity can make dough more
|
||||||
|
extensible, which can be helpful in some bread-making processes. However, excessive
|
||||||
|
protease activity can weaken the gluten network, leading to doughs that are slack,
|
||||||
|
sticky, and challenging to handle, and may result in breads with poor volume and
|
||||||
|
structure. Factors such as fermentation time, dough temperature, and the source of the
|
||||||
|
flour can influence protease activity in bread doughs. In sourdoughs, longer
|
||||||
|
fermentation times, particularly at warmer temperatures, can lead to higher protease
|
||||||
|
activity, as the acidic conditions activate cereal proteases. Flour from sprouted
|
||||||
|
grains or malted grains can have higher protease activity due to the sprouting or
|
||||||
|
malting process. Understanding and controlling protease activity is crucial in
|
||||||
|
achieving desired bread quality and handling characteristics.
|
||||||
|
|
||||||
|
\item[Pullman Loaf] A type of bread loaf characterized by its perfectly
|
||||||
|
rectangular shape and soft, fine crumb. It is baked in a special lidded
|
||||||
|
pan called a Pullman pan or \emph{pain de mie} pan. The lid ensures that
|
||||||
|
the bread rises in a perfectly straight shape, without the domed top
|
||||||
|
characteristic of other bread loaves. Pullman loaves are often sliced very
|
||||||
|
thin and are popular for making sandwiches.
|
||||||
|
|
||||||
|
\item[Retarding] The process of slowing down fermentation during the proofing
|
||||||
|
stage by placing the dough in a colder environment, typically a refrigerator. This aids
|
||||||
|
bakers in scheduling, allowing them to have more control over when to bake their breads,
|
||||||
|
especially in large-scale bakeries where timing is essential to serve freshly baked bread
|
||||||
|
to early morning customers. While scheduling is the main reason, some bakers also assert
|
||||||
|
that retarding can enhance the bread's overall flavor profile. Also known as
|
||||||
|
fridge-proofing.
|
||||||
|
|
||||||
|
\item[Rye] A type of grain used in baking. Due to its low gluten content, breads
|
||||||
|
made solely from rye flour tend to be dense. However, rye has a unique flavor and
|
||||||
|
many health benefits, so it's often combined with wheat flour in baking. Pure rye
|
||||||
|
breads are typically made with a sourdough process to help the dough rise.
|
||||||
|
|
||||||
|
\item[Scald] A method where boiling water is poured over flour, grains, or other
|
||||||
|
ingredients and then allowed to cool. In baking, this process can gelatinize the
|
||||||
|
starches in the flour or grains, resulting in a dough that retains moisture better,
|
||||||
|
provides a softer crumb, and potentially extends the bread's shelf life. Additionally,
|
||||||
|
scalding can help inactivate certain enzymes which can be detrimental to the dough's
|
||||||
|
quality. The scalding technique can also enhance the overall flavor and aroma of
|
||||||
|
the bread, bringing out more pronounced grainy notes and reducing bitterness
|
||||||
|
sometimes found in certain whole grains.
|
||||||
|
|
||||||
|
\item[Scoring] Cutting the surface of the bread dough before it's baked. This
|
||||||
|
allows the dough to expand freely in the oven, preventing it from bursting in
|
||||||
|
unpredictable ways. It also provides a controlled aesthetic to the finished loaf.
|
||||||
|
|
||||||
|
\item[Sift] To pass flour or another dry ingredient through a sieve to
|
||||||
|
remove lumps and aerate it.
|
||||||
|
|
||||||
|
\item[Soaker] A mixture of grains or seeds with water that is left to soak overnight (or for a
|
||||||
|
specified amount of time) before being incorporated into bread dough. This helps to
|
||||||
|
soften and hydrate the grains or seeds (sesame, pumpkin, \etc{}), making them
|
||||||
|
easier to integrate into the dough and
|
||||||
|
providing a moister crumb in the finished bread.
|
||||||
|
|
||||||
|
\item[Sponge] A type of preferment, a sponge is a wet mixture of flour, water, and
|
||||||
|
yeast that is allowed to ferment for a certain period before being incorporated into
|
||||||
|
the final dough.
|
||||||
|
|
||||||
|
\item[Starter] A fermented mixture of flour and water containing a colony of
|
||||||
|
microorganisms including wild yeast and lactic acid bacteria. It's used to leaven
|
||||||
|
bread.
|
||||||
|
|
||||||
|
\item[Straight Dough] A bread-making method where all ingredients are mixed
|
||||||
|
together at once, without the use of a preferment.
|
||||||
|
|
||||||
|
\item[Stretch and Fold] S\&F is a technique used during the bulk fermentation phase
|
||||||
|
to strengthen the dough and help align the gluten structure. Instead of traditional
|
||||||
|
kneading, the dough is gently stretched and then folded over itself. This process is
|
||||||
|
typically repeated multiple times throughout bulk fermentation.
|
||||||
|
|
||||||
|
\item[Tangzhong] A Chinese technique for bread-making, similar to the
|
||||||
|
Japanese yudane method. It involves cooking a small portion of the flour
|
||||||
|
with water (or milk) to create a slurry or roux. This process, which can be seen as a
|
||||||
|
variant of scald, gelatinizes the starches in the flour, resulting in breads
|
||||||
|
that are softer, fluffier, and have improved moisture retention. Once cooled, the
|
||||||
|
Tangzhong is mixed with the remaining ingredients to produce the final dough.
|
||||||
|
|
||||||
|
\item[Tight Crumb] Refers to a bread crumb (the soft inner part of the bread) that
|
||||||
|
has small, uniform air holes.
|
||||||
|
|
||||||
|
\item[Wild Yeast] Naturally occurring yeast, present in the environment and on the
|
||||||
|
surface of grains, used in sourdough fermentation as opposed to commercial yeast.
|
||||||
|
There’s wild yeast on almost any surface of plants. The wild yeasts live in symbiosis
|
||||||
|
with the plant providing a shield against pathogens and receiving sugars from the
|
||||||
|
photosynthesis of the plant in return. When the plant becomes weak the wild yeasts
|
||||||
|
can become parasitic and consume the host.
|
||||||
|
|
||||||
|
\item[W-Value] A parameter representing the strength of flour in terms of its
|
||||||
|
baking quality. The W-value, derived from the Chopin Alveograph test,
|
||||||
|
measures the energy required to blow a bubble with the dough until it bursts.
|
||||||
|
It is a direct indicator of the flour's ability to withstand the fermentation
|
||||||
|
and baking processes. A higher W-value typically indicates a stronger
|
||||||
|
flour, suitable for breads with high volume and longer fermentation times.
|
||||||
|
Conversely, a lower W-value suggests a weaker flour, better suited for
|
||||||
|
products requiring less structure, like cakes and pastries.
|
||||||
|
|
||||||
|
\item[Yeast] Microorganisms that ferment the sugars present in the dough, producing
|
||||||
|
carbon alcohol, carbon dioxide and heat; thereby causing the dough to rise.
|
||||||
|
|
||||||
|
\item[Yudane] A Japanese method of bread-making which involves the preparation
|
||||||
|
of a starter by mixing boiling water with bread flour in a specific ratio, typically 1:1
|
||||||
|
by weight. After mixing, the paste is left to cool to room temperature and then
|
||||||
|
refrigerated overnight. The next day, it is combined with the remaining ingredients
|
||||||
|
to make the dough. The Yudane method, essentially a type of scald, helps in
|
||||||
|
improving the texture of the bread, making it softer and fluffier while also enhancing
|
||||||
|
its shelf life.
|
||||||
|
|
||||||
|
\end{description}
|
||||||
@@ -9,17 +9,83 @@
|
|||||||
lessons from the past.
|
lessons from the past.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
Sourdough has been made since ancient times. The exact origins of fermented
|
The story of sourdough bread begins in prehistoric oceans. These oceans were the
|
||||||
|
birthplace of all life on Earth. To better envision the vast history of
|
||||||
|
our planet, lets create a timeline in one~year/365~days. On this scale,
|
||||||
|
January~1 signifies Earth's
|
||||||
|
formation 4.54~billion years ago. Midnight on December~31 is the present.
|
||||||
|
Each day represents roughly 12~million years. This technique simplifies the
|
||||||
|
complexity of time but also renders the extraordinary expanse of our planet's
|
||||||
|
history into a more graspable timeframe. We humans, are in fact a recent
|
||||||
|
addition to our planet, so young that we made our first appearance on
|
||||||
|
the evening of December~31. It seems that humans managed to arrive just
|
||||||
|
in time to join the celebration at the end of the year.
|
||||||
|
|
||||||
|
On March~25, the oceans birthed the first single-celled bacteria. In these
|
||||||
|
waters, another single-celled life form, \emph{archaea}, also thrived. These
|
||||||
|
organisms inhabit extreme environments, from boiling vents to icy waters.
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-life-planet-sourdough-timeline.tex}
|
||||||
|
\caption[Sourdough microbiology timeline]{Timeline of significant events
|
||||||
|
starting from the first day of Earth's existence,
|
||||||
|
divided into months, and extending to the present day,
|
||||||
|
marked at midnight. This visualization shows the pivotal steps
|
||||||
|
of life and sourdough on earth.}%
|
||||||
|
\label{fig:planet-timeline}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Whoever comes first, bacteria or archaea, remains debated. For three
|
||||||
|
months (or approximately 1.1~billion years), these life forms dominated
|
||||||
|
the oceans. Then, on June~25 in a highly unlikely event, an archaeon consumed a bacterium.
|
||||||
|
Instead of digesting it, they formed a symbiotic relationship. This led to the
|
||||||
|
first nucleated organisms, marking an evolutionary milestone. This event lead
|
||||||
|
to the development of plants, fungi and also ultimately humans.
|
||||||
|
|
||||||
|
Life stayed aquatic for another three months.
|
||||||
|
On October~4, bacteria first colonized land. By October~15, the
|
||||||
|
first aquatic fungi appeared. They adapted and, by November~24, had colonized
|
||||||
|
land.
|
||||||
|
|
||||||
|
By December~3, yeasts emerged on land. This laid groundwork for bread-making.
|
||||||
|
Jump 140~million years to December~14, and dinosaurs arose. Just a couple
|
||||||
|
of days after their appearance on December~17 the super continent Pangea
|
||||||
|
started to rift apart, reshaping the continents into their current form.
|
||||||
|
The dinosaurs reigned until December~29 when they faced extinction.
|
||||||
|
Another 25~million years later, or our timeline's 2~days after the dinosaur
|
||||||
|
extinction, humans appeared.
|
||||||
|
|
||||||
|
A few hours later after the arrival of humans, a more subtle culinary
|
||||||
|
revolution was unfolding. By \num{12000}~BC, just 5~seconds before our
|
||||||
|
metaphorical midnight, the first sourdough breads were being baked in ancient
|
||||||
|
Jordan. A blink of an eye later, or 4~seconds in our time compression,
|
||||||
|
Pasteur's groundbreaking work with yeasts set the stage for modern
|
||||||
|
bread-making. From the moment this book began to take shape to your current
|
||||||
|
reading, only milliseconds have ticked by~\cite{Yong+2017}.
|
||||||
|
|
||||||
|
Now delving deeper into the realm of sourdough, it can likely be traced to aforementioned
|
||||||
|
Ancient Jordan~\cite{jordan+bread}. Looking at the earth's timeline sourdough
|
||||||
|
bread can be considered a very recent invention.
|
||||||
|
|
||||||
|
\begin{figure}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-sourdough-history-timeline.tex}
|
||||||
|
\caption[Sourdough history timeline]{Timeline of significant discoveries and
|
||||||
|
events leading to modern sourdough bread.}%
|
||||||
|
\label{fig:sourdough-timeline}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
The exact origins of fermented
|
||||||
bread are, however, unknown. One of the most ancient preserved
|
bread are, however, unknown. One of the most ancient preserved
|
||||||
sourdough breads has been excavated in Switzerland.
|
sourdough breads has been excavated in Switzerland~\cite{switzerland+bread}.
|
||||||
However, based on recent research, some scientists speculate that sourdough
|
|
||||||
bread had already been made in \num{12000}~BC in ancient Jordan~\cite{jordan+bread}.
|
|
||||||
|
|
||||||
\begin{figure}[ht]
|
\begin{figure}[ht]
|
||||||
|
\centering
|
||||||
\includegraphics[width=\textwidth]{einkorn-crumb}
|
\includegraphics[width=\textwidth]{einkorn-crumb}
|
||||||
\caption[Ancient Einkorn flatbread]{An ancient Einkorn flatbread. Note the
|
\caption[Ancient Einkorn flatbread]{An ancient Einkorn flatbread. Note the
|
||||||
dense crumb structure.}%
|
dense crumb structure.}%
|
||||||
\label{einkorn-crumb}
|
\label{fig:einkorn-crumb}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Another popular story is that a lady in Egypt was making
|
Another popular story is that a lady in Egypt was making
|
||||||
@@ -28,16 +94,17 @@ dough and at her return a few days later, she noticed that the dough had
|
|||||||
increased in size and smelled funky. She decided to bake
|
increased in size and smelled funky. She decided to bake
|
||||||
the dough anyway and was rewarded with a much
|
the dough anyway and was rewarded with a much
|
||||||
lighter, softer, better tasting bread dough. From that day
|
lighter, softer, better tasting bread dough. From that day
|
||||||
on she continued to make bread this way.
|
on she continued to make bread this way~\cite{egyptian+bread}.
|
||||||
|
|
||||||
Little did the people back then know that tiny microorganisms
|
Little did the people back then know that tiny microorganisms
|
||||||
were the reason the bread was better. It is not clear when
|
were the reason the bread was better. It is not clear when
|
||||||
they started using a bit of the dough from the previous
|
they started using a bit of the dough from the previous
|
||||||
day for the next batch of dough. But by doing so, sourdough
|
day for the next batch of dough. But by doing so, sourdough
|
||||||
bread making was born: Wild yeast in the flour and in the air
|
bread making---as we know it today---was born: Wild yeast
|
||||||
plus bacteria start to decompose the flour-water mixture, also
|
in the flour and in the air, with bacteria
|
||||||
known as your dough. The yeast makes the dough fluffy, and
|
starting to decompose the flour-water mixture.
|
||||||
the bacteria primarily creates acidity. The different
|
The yeast makes the dough fluffy,
|
||||||
|
and the bacteria primarily creates acidity. The different
|
||||||
microorganisms work in a symbiotic relationship. Humans
|
microorganisms work in a symbiotic relationship. Humans
|
||||||
appreciated the enhanced airy structure and slight acidity
|
appreciated the enhanced airy structure and slight acidity
|
||||||
of the dough. Furthermore, the shelf life of such bread
|
of the dough. Furthermore, the shelf life of such bread
|
||||||
@@ -46,18 +113,18 @@ was extended due to the increased acidity.
|
|||||||
Quickly, similar processes were discovered when brewing beer
|
Quickly, similar processes were discovered when brewing beer
|
||||||
or making wine. A small tiny batch of the previous production
|
or making wine. A small tiny batch of the previous production
|
||||||
would be used for the next production. In this way, humans created
|
would be used for the next production. In this way, humans created
|
||||||
modern bread yeasts, wine yeasts, and beer yeasts. Only in 1680,
|
modern bread yeasts, wine yeasts, and beer yeasts~\cite{egypt+beer}.
|
||||||
the scientist Anton van~Leeuwenhoek first studied yeast microorganisms
|
|
||||||
under a microscope. Over time with each batch, the yeasts and bacteria
|
Over time with each batch, the yeasts and bacteria
|
||||||
would become better at consuming whatever they were thrown at.
|
would become better at consuming whatever they were thrown at.
|
||||||
By feeding your sourdough starter, you are selectively breeding
|
By feeding your sourdough starter, you are selectively breeding
|
||||||
microorganisms that are good at eating your flour. With
|
microorganisms that are good at eating your flour. With
|
||||||
each iteration, your sourdough knows how to better ferment the flour
|
each iteration, your sourdough knows how to better ferment the flour
|
||||||
at hand. This is also the reason why more mature sourdough starters sometimes
|
at hand. This is also the reason\footnote{It is crazy if you think about it.
|
||||||
tend to leaven doughs faster~\cite{review+of+sourdough+starters}. It is crazy if you
|
People have been using this process despite not knowing what was going on for
|
||||||
think about it. People have been using this process despite not
|
thousands of years!} why more mature sourdough starters sometimes tend to
|
||||||
knowing what was actually going on for thousands of years! The
|
leaven doughs faster~\cite{review+of+sourdough+starters}. The sourdough in
|
||||||
sourdough in itself is a symbiotic relationship. But the sourdough
|
itself is a symbiotic relationship, but the sourdough
|
||||||
also adapted to humans and formed a symbiotic relationship with us.
|
also adapted to humans and formed a symbiotic relationship with us.
|
||||||
For food and water, we are rewarded with delicious bread. In exchange,
|
For food and water, we are rewarded with delicious bread. In exchange,
|
||||||
we shelter and protect the sourdough. Spores from the starter
|
we shelter and protect the sourdough. Spores from the starter
|
||||||
@@ -65,39 +132,120 @@ are spread through aerial contamination or insects like fruit flies.
|
|||||||
This allows the sourdough starter to spread its spores even
|
This allows the sourdough starter to spread its spores even
|
||||||
further all around the world.
|
further all around the world.
|
||||||
|
|
||||||
Brewers would start to experiment with utilizing the muddy leftovers
|
Evidence suggests early grain grinding in northern Australia around
|
||||||
of the beer fermentation to start making doughs. They would notice
|
\num{60000}~BC, notably at the Madjedbebe rock shelter in Arnhem
|
||||||
|
Land~\cite{aboriginal+grinding+stones}. However, a more significant
|
||||||
|
advancement occurred later, as documented by the ancient Greek geographer
|
||||||
|
Strabo in \num{71}~BC\@. Strabo's writings described the first water-powered
|
||||||
|
stone mill, known as a \emph{gristmill}. These mills advanced flour production
|
||||||
|
from a few kilograms up to several metric tons per day~\cite{history+mills}.
|
||||||
|
|
||||||
|
These early mills featured horizontal paddle wheels, eventually termed
|
||||||
|
\emph{Norse wheels} due to their prevalence in Scandinavia. The paddle wheels
|
||||||
|
connected to a shaft, which, in turn, linked to the central runner stone for
|
||||||
|
grinding. Water flow propelled the paddle wheels, transferring the grinding
|
||||||
|
force to the stationary \emph{bed}, typically a stone of similar size and
|
||||||
|
shape. This design was straightforward, avoiding the need for gears. However,
|
||||||
|
it had a limitation: the stone's rotation speed relied on water volume and
|
||||||
|
flow rate, making it most suitable for regions with fast-flowing streams,
|
||||||
|
often found in mountainous areas~\cite{mills+scandinavia}.
|
||||||
|
|
||||||
|
In the year \num{1680}, a remarkable scientist by the name of
|
||||||
|
Antonie~van~Leeuwenhoek introduced a groundbreaking innovation that would
|
||||||
|
forever alter our understanding of the microscopic world and ultimately bread
|
||||||
|
making. Van~Leeuwenhoek, a master of lens craftsmanship, possessed an
|
||||||
|
insatiable fascination with realms invisible to the naked eye. His pioneering
|
||||||
|
work birthed the first modern microscope. What set Van~Leeuwenhoek apart was
|
||||||
|
the exceptional quality of his lenses, capable of magnifying tiny
|
||||||
|
microorganisms by an astounding factor of \num{270}. Driven by an unrelenting
|
||||||
|
curiosity to unveil the unseen, he embarked on a journey of exploration. He
|
||||||
|
scrutinized flies, examined lice-infested hair, and ultimately turned his gaze
|
||||||
|
toward the tranquil waters of a small lake near Delft.
|
||||||
|
|
||||||
|
In this serene aquatic habitat, he made astonishing observations, discovering
|
||||||
|
algae and minuscule, dancing creatures hitherto hidden from human perception.
|
||||||
|
Eager to share his revelatory findings with the scientific community,
|
||||||
|
Van~Leeuwenhoek faced skepticism, as it was difficult to fathom that someone
|
||||||
|
had witnessed thousands of diminutive, dancing entities—entities so tiny that
|
||||||
|
they eluded the human eye.
|
||||||
|
|
||||||
|
Undeterred by skepticism, he continued his relentless pursuit of the unseen,
|
||||||
|
directing his lens towards a brewer's beer sludge. In this obscure medium,
|
||||||
|
Van~Leeuwenhoek made history by becoming the first human to lay eyes upon
|
||||||
|
bacteria and yeast, unraveling a previously concealed world that would
|
||||||
|
revolutionize our understanding of microbiology~\cite{Yong+2017+Leeuwen}.
|
||||||
|
|
||||||
|
At the same time brewers would start to experiment with utilizing the muddy
|
||||||
|
leftovers of the beer fermentation to start making doughs. They would notice
|
||||||
that the resulting bread doughs were becoming fluffy and compared
|
that the resulting bread doughs were becoming fluffy and compared
|
||||||
to the sourdough process would lack the acidity in the final product.
|
to the sourdough process would lack the acidity in the final product.
|
||||||
A popular example is shown in a report from 1875. Eben Norton Horsford
|
A popular example is shown in a report from \num{1875}. Eben Norton Horsford
|
||||||
wrote about the famous \emph{Kaiser Semmeln} (Emperor's bread rolls).
|
wrote about the famous \emph{Kaiser Semmeln} (Emperor's bread rolls).
|
||||||
These are essentially bread rolls made with brewer's yeast instead
|
These are essentially bread rolls made with brewer's yeast instead
|
||||||
of the sourdough leavening agent. As the process is more expensive,
|
of the sourdough leavening agent. As the process is more expensive,
|
||||||
bread rolls like these were ultimately consumed by the noble people
|
bread rolls like these were ultimately consumed by the noble people
|
||||||
in Vienna~\cite{vienna+breadrolls}.
|
in Vienna~\cite{vienna+breadrolls}.
|
||||||
|
|
||||||
|
Industrialization of the grist milling process, starting in the late
|
||||||
|
18\textsuperscript{th}~century with Oliver Evans (\num{1785}) and his mill
|
||||||
|
designs for continuous hands-off flour production~\cite{evans+mill}, and
|
||||||
|
evolving to steam-powered mills, made possible significant advancements in
|
||||||
|
bread production.
|
||||||
|
|
||||||
\begin{figure}[ht]
|
\begin{figure}[ht]
|
||||||
|
\centering
|
||||||
\includegraphics[width=\textwidth]{sourdough-stove}
|
\includegraphics[width=\textwidth]{sourdough-stove}
|
||||||
\caption{A bread made over the stove without an oven.}%
|
\caption{A bread made over the stove without an oven.}%
|
||||||
\label{sourdough-stove}
|
\label{fig:sourdough-stove}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Only in 1857, the French microbiologist Louis Pasteur discovered
|
The biggest advancement of industrial bread making happened in \num{1857}.
|
||||||
the process of alcoholic fermentation. He would prove that
|
The French microbiologist Louis Pasteur discovered the process of alcoholic
|
||||||
yeast microorganisms are the reason for alcoholic fermentation
|
fermentation. He would prove that yeast microorganisms are the reason for
|
||||||
and not other chemical catalysts. What would then start is
|
alcoholic fermentation and not other chemical catalysts. He continued with his
|
||||||
what I~describe as the 150 lost years of bread making. In 1879
|
research and was the first person to isolate and grow pure yeast strains.
|
||||||
the first machines and centrifuges were developed to centrifuge
|
Soon later in \num{1868} the Fleischmann brothers Charles and Maximilian were
|
||||||
pure yeast. This yeast would be extracted from batches of sourdough.
|
the first to patent pure yeast strains for bread making. The yeasts offered
|
||||||
The pure yeast would prove to be excellent and turbocharged
|
were isolated from batches of sourdough. By \num{1879} the machinery was built
|
||||||
at leavening bread doughs. What would previously take 10~hours
|
to multiply the yeast in large centrifuges~\cite{fleischmann+history}. The
|
||||||
to leaven a bread dough could now be done within 1~hour.
|
pure yeast would prove to be excellent and turbocharged at leavening bread
|
||||||
The process became much more efficient. During World~War~II
|
doughs. What would previously take 10~hours to leaven a bread dough could now
|
||||||
the first packaged dry yeast was developed. This would ultimately
|
be done within 1~hour. The process became much more efficient. What
|
||||||
allow bakeries and home bakers to make bread much faster.
|
ultimately made making large batches of dough possible, was the invention of
|
||||||
Thanks to pure yeast, building bread making machines was
|
the electrical kneader. Rufus Eastman, an American inventor, is often
|
||||||
possible. Provided you maintain the same temperature,
|
credited with an important advancement in mixer technology. In \num{1885}, he
|
||||||
your yeast would always ferment exactly the same way.
|
received a patent for an electric mixer with a mechanical hand-crank
|
||||||
|
mechanism. This device was not as advanced or as widely adopted as later
|
||||||
|
electric mixers, but it was an early attempt to mechanize mixing and kneading
|
||||||
|
processes in the kitchen using electricity. Eastman's invention represented
|
||||||
|
an important step in the development of electric mixers, but it wasn't as
|
||||||
|
sophisticated or popular as later models like the KitchenAid mixer. The
|
||||||
|
KitchenAid mixer, introduced in \num{1919}, is often recognized as one of the
|
||||||
|
first widely successful electric mixers and played a significant role in
|
||||||
|
revolutionizing kitchen appliances for home
|
||||||
|
cooks~\cite{first+mixer}~\cite{kitchenaid+history}.
|
||||||
|
|
||||||
|
During World~War~II the first packaged dry yeast was developed. This would
|
||||||
|
ultimately allow bakeries and home bakers to make bread much faster and more
|
||||||
|
consistently. Thanks to pure yeast, building industrial bread making machines
|
||||||
|
was now possible. Provided you maintain the same temperature, same flour and
|
||||||
|
yeast strains fermentation became precisely reproducible. This ultimately lead
|
||||||
|
to the development of giga bakeries and flour blenders. The bakeries demanded
|
||||||
|
the same flour from year to year to bake bread in their machines. For this
|
||||||
|
reason, none of the supermarket flour you buy today is single origin. It is
|
||||||
|
always blended to achieve exactly the same product throughout the years.
|
||||||
|
|
||||||
|
Modern wheat, specifically the high-yielding and disease-resistant varieties
|
||||||
|
commonly grown today, began to be developed in the mid-20\textsuperscript{th}
|
||||||
|
century. This period is often referred to as the \emph{Green Revolution.}
|
||||||
|
|
||||||
|
One of the key figures in this development was American scientist Norman
|
||||||
|
Borlaug, who is credited with breeding high-yield wheat varieties,
|
||||||
|
particularly dwarf wheat varieties, that were resistant to diseases and could
|
||||||
|
thrive in various environmental conditions. His work, which started in the
|
||||||
|
1940s and continued through the \num{1960}s, played a crucial role in
|
||||||
|
increasing wheat production worldwide and alleviating food
|
||||||
|
shortages~\cite{green+revolution}.
|
||||||
|
|
||||||
As fermentation
|
As fermentation
|
||||||
times sped up, the taste of the final bread would deteriorate.
|
times sped up, the taste of the final bread would deteriorate.
|
||||||
@@ -111,7 +259,7 @@ of true nerds would continue making bread with sourdough.
|
|||||||
|
|
||||||
Suddenly people started to talk more often about celiac disease
|
Suddenly people started to talk more often about celiac disease
|
||||||
and the role of gluten. The disease isn't new; it has first
|
and the role of gluten. The disease isn't new; it has first
|
||||||
been described in 250 AD~\cite{coeliac+disease}. People
|
been described in \num{250}~AD~\cite{coeliac+disease}. People
|
||||||
would note how modern bread has much more gluten compared
|
would note how modern bread has much more gluten compared
|
||||||
to ancient bread. The bread in ancient times probably was much flatter.
|
to ancient bread. The bread in ancient times probably was much flatter.
|
||||||
The grains over time have been bred more and more towards containing a higher
|
The grains over time have been bred more and more towards containing a higher
|
||||||
@@ -151,8 +299,9 @@ During the California Gold Rush, French bakers brought the sourdough
|
|||||||
culture to Northern America. A popular bread became the
|
culture to Northern America. A popular bread became the
|
||||||
San Francisco sourdough. It's characterized by its unique
|
San Francisco sourdough. It's characterized by its unique
|
||||||
tang (which was previously common for every bread). It
|
tang (which was previously common for every bread). It
|
||||||
however remained more of a niche food. What really expedited
|
however remained more of a niche food while industrial bread
|
||||||
the comeback of sourdough was the 2020 COVID-19 pandemic.
|
was on the rise. What really expedited
|
||||||
|
the comeback of sourdough was the \num{2020} COVID-19 pandemic.
|
||||||
Flour and yeast became scarce in the supermarkets. While
|
Flour and yeast became scarce in the supermarkets. While
|
||||||
flour returned yeast couldn't be found. People started
|
flour returned yeast couldn't be found. People started
|
||||||
to look for alternatives and rediscovered the ancient
|
to look for alternatives and rediscovered the ancient
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 73 KiB |
BIN
book/images/external/hooch.jpg
vendored
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |
BIN
book/images/flat-breads-selection.jpg
Normal file
|
After Width: | Height: | Size: 586 KiB |
|
Before Width: | Height: | Size: 1.2 MiB |
BIN
book/images/infographic-enzymes.jpg
Normal file
|
After Width: | Height: | Size: 564 KiB |
|
Before Width: | Height: | Size: 1.2 MiB |
@@ -1,5 +1,5 @@
|
|||||||
\chapter{Acknowledgements}%
|
\chapter{Acknowledgments}%
|
||||||
\label{ch:Acknowledgements}
|
\label{ch:Acknowledgments}
|
||||||
This book would not have been possible without your help.
|
This book would not have been possible without your help.
|
||||||
With all your donations I~have been able to focus on finishing
|
With all your donations I~have been able to focus on finishing
|
||||||
this book. Your continuous support allows me to focus
|
this book. Your continuous support allows me to focus
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
\chapter{Foreword}%
|
|
||||||
\label{ch:Foreword}
|
|
||||||
Hopefully one day there is going to be an awesome foreword
|
|
||||||
by another bread baker!
|
|
||||||
@@ -46,7 +46,8 @@ seemingly
|
|||||||
healthy bread consisted of so many other things aside from flour and water.
|
healthy bread consisted of so many other things aside from flour and water.
|
||||||
The black color was not coming from the flour, but from caramelized sugar.
|
The black color was not coming from the flour, but from caramelized sugar.
|
||||||
The packaging stated it was a sourdough bread, but then why was there additional yeast?
|
The packaging stated it was a sourdough bread, but then why was there additional yeast?
|
||||||
I~thought that if it was really sourdough, it shouldn't require additional yeast, and I~soon
|
I~thought that if it was really sourdough, it shouldn't require additional
|
||||||
|
yeast. I~soon
|
||||||
realized that something was wrong with the bread I~was buying.
|
realized that something was wrong with the bread I~was buying.
|
||||||
I~proceeded to check the other supermarket breads, only to discover that they, too,
|
I~proceeded to check the other supermarket breads, only to discover that they, too,
|
||||||
contained ingredients I'd never heard of. That was the day I~lost trust
|
contained ingredients I'd never heard of. That was the day I~lost trust
|
||||||
@@ -80,22 +81,24 @@ sometimes you are faced with issues you don't understand. In \qty{99.95}{\percen
|
|||||||
of all software bugs, the developer is the issue. Sometimes, however, the framework has a
|
of all software bugs, the developer is the issue. Sometimes, however, the framework has a
|
||||||
bug. That is when the developer must dig deeper to see the \emph{what} and the
|
bug. That is when the developer must dig deeper to see the \emph{what} and the
|
||||||
\emph{why} behind what
|
\emph{why} behind what
|
||||||
the framework is doing. You will need to read other engineer's source code, and you will be forced
|
the framework is doing. You will need to read other engineers' source code, and you will be forced
|
||||||
to understand \emph{why} things are happening.
|
to understand \emph{why} things are happening.
|
||||||
|
|
||||||
Being unhappy with what I~was baking, my engineering mindset took over, and I~had
|
Being unhappy with what I~was baking, my engineering mindset took over, and
|
||||||
to do my own deep dive to understand what was going on. Much to my surprise, however,
|
I~had to do my own deep dive to understand what was going on. Much to my
|
||||||
none of the recipes I'd encountered would tell me \emph{why} I~should use amount X
|
surprise, however, none of the recipes I'd encountered would tell me
|
||||||
of water and amount Y of flour, or \emph{why} exactly I~should use fresh yeast over dry yeast. Why
|
\emph{why} I~should use amount $X$ of water and amount $Y$ of flour, or
|
||||||
should I~slap my dough while kneading it on the counter? Why is a standmixer
|
\emph{why} exactly I~should use fresh yeast over dry yeast. Why should I~slap
|
||||||
better than kneading by hand? Why should I~let the dough sit for this long?
|
my dough while kneading it on the counter? Why is a stand mixer better than
|
||||||
Why is steaming the dough during baking important? Do I~really need to
|
kneading by hand? Why should I~let the dough sit for this long? Why is
|
||||||
get myself an expensive Dutch oven to bake bread?
|
steaming the dough during baking important? Do I~really need to get myself an
|
||||||
The problem compounded when I~started reading about sourdough. It all sounded like black
|
expensive Dutch oven to bake bread? The problem compounded when I~started
|
||||||
magic. Why were some sourdoughs made from fruits, while others were made from flour?
|
reading about sourdough. It all sounded like black magic. Why were some
|
||||||
Why should one recipe use wheat while another used rye or spelt? How often should the
|
sourdoughs made from fruits, while others were made from flour? Why should
|
||||||
sourdough be fed? The questions I~had then could have filled 20~pages. I~was confused,
|
one recipe use wheat while another used rye or spelt? How often should the
|
||||||
but I~became even more determined to learn how decent bread should be made at home.
|
sourdough be fed? The questions I~had then could have filled 20~pages. I~was
|
||||||
|
confused, but I~became even more determined to learn how decent bread should
|
||||||
|
be made at home.
|
||||||
|
|
||||||
The feedback I~received from friends helped me to improve with each
|
The feedback I~received from friends helped me to improve with each
|
||||||
iteration of homemade bread. Compared to coding, where you sometimes have to wait months
|
iteration of homemade bread. Compared to coding, where you sometimes have to wait months
|
||||||
@@ -162,8 +165,8 @@ and more. It should provide a detailed understanding as to why certain steps are
|
|||||||
and how to adapt them when things go wrong while making bread.
|
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 with
|
||||||
\url{https://ko-fi.com/thebreadcode}. The community's feedback has been amazing so far, and
|
donations. The community's feedback has been amazing so far, and
|
||||||
I've already raised much more money than initially expected. The digital version of this book
|
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.
|
will always remain free. There is also a hardcover version of the book available for purchase.
|
||||||
You can read more details here: \url{https://breadco.de/physical-book}
|
You can read more details here: \url{https://breadco.de/physical-book}
|
||||||
|
|||||||
588
book/makefile
@@ -1,324 +1,424 @@
|
|||||||
# Macros for commands
|
# Macros for commands {{{
|
||||||
LATEX := latexmk -cd -pdflua -lualatex="lualatex -interaction=nonstopmode" -synctex=1 -use-make
|
LATEX := latexmk -cd -pdflua -lualatex="lualatex -interaction=nonstopmode" -synctex=1 -use-make
|
||||||
EBOOK := tex4ebook --lua -d epub -c tex4ebook.cfg
|
EBOOK := tex4ebook --lua -d epub -f epub -c tex4ebook.cfg -B epub_build
|
||||||
WEBSITE := make4ht --lua -c website.cfg -a debug -uf html5+tidy+common_domfilters+dvisvgm_hashes
|
WEBSITE := make4ht --lua -c website.cfg -uf html5+tidy+common_domfilters -B website_build
|
||||||
CLEAN := latexmk -cd -lualatex -c -use-make
|
CLEAN := latexmk -cd -lualatex -c -use-make
|
||||||
EBOOK_CONVERT := kindlegen
|
|
||||||
CHECK_1 := lacheck
|
CHECK_1 := lacheck
|
||||||
CHECK_2 := chktex
|
CHECK_2 := chktex
|
||||||
|
CONVERT_PIC := convert
|
||||||
|
REDUCE_PIC := -resize '800x800>' \
|
||||||
|
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
|
||||||
|
-set colorspace Gray -separate -evaluate-sequence Mean
|
||||||
|
REDUCE_PIC_COLOR := -quality 80\%
|
||||||
|
RSYNC := rsync -au --exclude 'book.epub' --exclude '*.jpg'
|
||||||
|
GIT := git --no-pager
|
||||||
|
SPELL_CHECK := hunspell -t -l -d en_US
|
||||||
|
|
||||||
|
# We want bash as shell
|
||||||
|
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
||||||
|
else if [ -x /bin/bash ]; then echo /bin/bash; \
|
||||||
|
else echo sh; fi; fi)
|
||||||
|
|
||||||
ifdef DEBUG
|
ifdef DEBUG
|
||||||
|
LATEX += -diagnostics
|
||||||
EBOOK += -a debug
|
EBOOK += -a debug
|
||||||
WEBSITE += -a debug
|
WEBSITE += -a debug
|
||||||
endif
|
endif
|
||||||
|
# }}}
|
||||||
|
|
||||||
website_dir := static_website_html
|
# Default target is not all because most of the time we just want a pdf...
|
||||||
|
# and building everything take a long time.
|
||||||
|
.DEFAULT_GOAL := serif
|
||||||
|
|
||||||
# List all files that are dependencies
|
# Dependencies {{{
|
||||||
chapters = baking basics bread-types cover flour-types history intro mix-ins\
|
chapters = baking basics bread-types cover flour-types history intro mix-ins\
|
||||||
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
|
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
|
||||||
wheat-sourdough
|
wheat-sourdough glossary
|
||||||
|
|
||||||
src_tables := $(wildcard tables/table-*.tex)
|
|
||||||
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
|
|
||||||
|
|
||||||
|
# Actual book text and LaTeX code {{{
|
||||||
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
|
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
|
||||||
src_tex += book.tex book_sans_serif.tex references.bib figures/vars.tex
|
src_tex += book.tex book_sans_serif.tex references.bib figures/vars.tex
|
||||||
src_tex += supporters.csv sourdough.sty colors.tex
|
src_tex += supporters.csv sourdough.sty colors.tex abbreviations.tex
|
||||||
|
src_tex += $(src_recipes)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Tables and TikZ flowcharts/plots/drawings... {{{
|
||||||
|
src_tables := $(wildcard tables/table-*.tex)
|
||||||
|
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
|
||||||
|
src_figures += $(wildcard plots/fig-*.tex) abbreviations.tex colors.tex
|
||||||
|
src_recipes := $(wildcard recipes/*.tex)
|
||||||
|
src_plots := $(wildcard plots/*.table)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
|
||||||
|
|
||||||
|
# Photos {{{
|
||||||
images := $(wildcard images/*/*.jpg)
|
images := $(wildcard images/*/*.jpg)
|
||||||
images += $(wildcard images/*.jpg)
|
images += $(wildcard images/*.jpg)
|
||||||
images += $(wildcard images/*.png)
|
images += $(wildcard images/*.png)
|
||||||
images += $(wildcard images/*/*.png)
|
images += $(wildcard images/*/*.png)
|
||||||
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*.jpg))
|
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*.jpg))
|
||||||
|
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*/*.jpg))
|
||||||
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*.png))
|
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*.png))
|
||||||
|
images += $(foreach directory, $(chapters), $(wildcard $(directory)/*/*.png))
|
||||||
|
|
||||||
src_all := $(src_tex) $(src_figures) $(src_tables) tex4ebook.cfg book.mk4 $(images)
|
# Black and White ebook, we will just re-zip directory after converting the
|
||||||
|
# images to lower resolution and greyscale
|
||||||
|
bw_images := $(addprefix bw-book-epub/OEBPS/, $(images))
|
||||||
|
|
||||||
website_src := $(src_all) website.cfg
|
# For lower resolution colour ebook (see below) we will not convert png as it
|
||||||
|
# only get worst we will copy them instead... so remove them as a dependency.
|
||||||
|
low_res_images := $(addprefix low-res-book-epub/OEBPS/, $(images))
|
||||||
|
low_res_images := $(filter-out %.png, $(low_res_images))
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# All together.
|
||||||
|
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
|
||||||
|
|
||||||
|
# Format specific configuration files
|
||||||
|
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
|
||||||
|
|
||||||
|
website_src := $(src_all) website.cfg style.css
|
||||||
|
website_dir := static_website_html
|
||||||
website_assets := $(wildcard ../website/assets/*)
|
website_assets := $(wildcard ../website/assets/*)
|
||||||
ruby_src := ../website/modify_build.rb $(website_assets)
|
ruby_src := ../website/modify_build.rb $(website_assets)
|
||||||
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
|
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
|
||||||
|
# }}}
|
||||||
tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
|
|
||||||
|
|
||||||
# Default rules for pdf and ebooks, getting overwritten when built in a
|
|
||||||
# sub-directory
|
|
||||||
%.pdf: %.tex
|
|
||||||
$(LATEX) $<
|
|
||||||
|
|
||||||
|
# Internal build rules {{{
|
||||||
|
# Flowcharts {{{
|
||||||
# TODO: check if it works on github CI
|
# TODO: check if it works on github CI
|
||||||
%.png: %.tex
|
%.png: %.tex
|
||||||
@echo "\input{./vars.tex}" > $@.in
|
@printf '%s\n' "\input{./vars.tex}" > $@.in
|
||||||
# \b is backspace..
|
@printf '%s\n' "\begin{document}" >> $@.in
|
||||||
@echo "\\\begin{document}" >> $@.in
|
|
||||||
@cat $< >> $@.in
|
@cat $< >> $@.in
|
||||||
@echo "\\\end{document}" >> $@.in
|
@printf '%s\n' "\end{document}" >> $@.in
|
||||||
$(LATEX) $@.in
|
$(LATEX) $@.in
|
||||||
figures/export_figures.sh $@.pdf
|
figures/export_figures.sh $@.pdf
|
||||||
|
|
||||||
%.xbb: %.jpg
|
%.xbb: %.jpg
|
||||||
ebb -x $<
|
ebb -x $<
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Pdf {{{
|
||||||
|
# Default rules for pdf, getting overwritten when built in a sub-directory
|
||||||
|
%.pdf: %.tex
|
||||||
|
$(LATEX) $<
|
||||||
|
|
||||||
book_serif/book.pdf: $(src_all)
|
book_serif/book.pdf: $(src_all)
|
||||||
$(LATEX) -output-directory=book_serif book.tex
|
$(LATEX) -output-directory=book_serif book.tex
|
||||||
|
|
||||||
book_sans_serif/book_sans_serif.pdf: $(src_all)
|
book_sans_serif/book_sans_serif.pdf: $(src_all)
|
||||||
$(LATEX) -output-directory=book_sans_serif book_sans_serif.tex
|
$(LATEX) -output-directory=book_sans_serif book_sans_serif.tex
|
||||||
|
# }}}
|
||||||
|
|
||||||
epub/%.epub: %.tex $(src_all) cover/cover-page.xbb
|
# Ebook {{{
|
||||||
$(EBOOK) -f epub $<
|
###################################
|
||||||
|
.PHONY: copy_ebook_files copy_ebook_files_low_res
|
||||||
|
epub/%.epub: %.tex $(ebook_src) cover/cover-page.xbb
|
||||||
|
$(EBOOK) $<
|
||||||
|
|
||||||
epub/%.mobi: epub/%.epub
|
copy_ebook_files: ebook
|
||||||
$(EBOOK_CONVERT) $< -o $(notdir $@)
|
$(RSYNC) --exclude '*.png' epub_build/book-epub/ bw-book-epub/
|
||||||
|
|
||||||
epub/%.azw3: epub/%.epub
|
# Now that we have built the ebook we will generate 2 more versions
|
||||||
$(EBOOK_CONVERT) $< -o $(notdir $@)
|
#
|
||||||
|
# 1) With kindle app on phone we want a colour version with size < 50 MB
|
||||||
|
# 2) A black-white version for actual eink readers
|
||||||
|
#
|
||||||
|
# In both cases we just convert images and repack the ebpub
|
||||||
|
|
||||||
# Now with the rules
|
# We do not convert SVG to B&W or lower res for now as they are super small
|
||||||
# Expected usual rules first
|
# anyway
|
||||||
.PHONY: default
|
bw-book-epub/OEBPS/%.jpg: %.jpg
|
||||||
default: build_serif_pdf
|
mkdir -p $(dir $@)
|
||||||
|
$(CONVERT_PIC) $< $(REDUCE_PIC) $@
|
||||||
|
|
||||||
.PHONY: all
|
bw-book-epub/OEBPS/%.png: %.png
|
||||||
all: bake
|
mkdir -p $(dir $@)
|
||||||
|
$(CONVERT_PIC) $< $(REDUCE_PIC) $@
|
||||||
|
|
||||||
.PHONY: help
|
epub/bw_book.epub: copy_ebook_files $(bw_images)
|
||||||
help:
|
cd bw-book-epub; zip -q0X ../epub/bw_book.epub mimetype
|
||||||
@echo ""
|
cd bw-book-epub; zip -q9XrD ../epub/bw_book.epub ./
|
||||||
@echo "default: builds the book in pdf format (serif)"
|
|
||||||
@echo ""
|
|
||||||
@echo "all: pdf and ebooks serif and sans-serif accessible version, same as"
|
|
||||||
@echo " build release"
|
|
||||||
@echo "bake: same as build all"
|
|
||||||
@echo ""
|
|
||||||
@echo "check: runs static analysis checker on LaTeX source to spot"
|
|
||||||
@echo " programming or typographic mistakes"
|
|
||||||
@echo ""
|
|
||||||
@echo "clean: delete all intermediate files keep targets (pdf/ebooks/website)"
|
|
||||||
@echo "mrproper: delete all generated files intermediate and pdf/ebooks/website"
|
|
||||||
@echo " clean_figures: delete intermediate TikZ files"
|
|
||||||
@echo " clean_website_build: delete intermediate website files"
|
|
||||||
@echo " clean_ebook_build: delete intermediate ebook files"
|
|
||||||
@echo ""
|
|
||||||
@echo "build_ebook: builds only the ebook serif and accessible version"
|
|
||||||
@echo "build_pdf: builds both serif and accessible pdf"
|
|
||||||
@echo ""
|
|
||||||
@echo "build_sans_serif_ebook: build accessible ebook only"
|
|
||||||
@echo "build_sans_serif_pdf: build accessible pdf only"
|
|
||||||
@echo ""
|
|
||||||
@echo "build_serif_ebook: build serif ebook only"
|
|
||||||
@echo "build_serif_pdf: build serif pdf only"
|
|
||||||
@echo ""
|
|
||||||
@echo "figures: build TikZ figures"
|
|
||||||
@echo ""
|
|
||||||
@echo "release_serif: build serif only version of pdf and ebooks"
|
|
||||||
@echo "release_sans_serif: build sans-serif/accessible version of pdf and ebooks"
|
|
||||||
@echo ""
|
|
||||||
@echo "website: build the static website from LaTeX sources and post-process it"
|
|
||||||
@echo "html: build the static website from LaTeX sources _without_ post-processing"
|
|
||||||
@echo ""
|
|
||||||
@echo "Debug targets:"
|
|
||||||
@echo ""
|
|
||||||
@echo "quick: compiles serif_pdf but runs lulatex only once"
|
|
||||||
@echo ""
|
|
||||||
@echo "quick_ebook: compiles serif_ebook but runs lulatex only once"
|
|
||||||
@echo ""
|
|
||||||
@echo "show_tools_version: Show version of tools used on the build machine"
|
|
||||||
@echo ""
|
|
||||||
@echo "print-X: print makefile variable X"
|
|
||||||
@echo ""
|
|
||||||
@echo "printvars: print all variables in the makefile"
|
|
||||||
@echo ""
|
|
||||||
@echo "set DEBUG i.e make DEBUG=1 build_ebook to add debug flags to commands"
|
|
||||||
|
|
||||||
|
# Now the low res
|
||||||
|
copy_ebook_files_low_res: ebook
|
||||||
|
$(RSYNC) epub_build/book-epub/ low-res-book-epub/
|
||||||
|
|
||||||
# Finally project specif targets
|
low-res-book-epub/OEBPS/%.jpg: %.jpg
|
||||||
.PHONY: build_pdf
|
mkdir -p $(dir $@)
|
||||||
build_pdf: build_serif_pdf build_sans_serif_pdf
|
$(CONVERT_PIC) $< $(REDUCE_PIC_COLOR) $@
|
||||||
|
|
||||||
.PHONY: build_serif_pdf
|
epub/low_res_book.epub: copy_ebook_files_low_res $(low_res_images)
|
||||||
build_serif_pdf: book_serif/book.pdf
|
cd low-res-book-epub; zip -q0X ../epub/low_res_book.epub mimetype
|
||||||
|
cd low-res-book-epub; zip -q9XrD ../epub/low_res_book.epub ./
|
||||||
|
# }}}
|
||||||
|
|
||||||
.PHONY: build_sans_serif_pdf
|
# Website {{{
|
||||||
build_sans_serif_pdf: book_sans_serif/book_sans_serif.pdf
|
###################################
|
||||||
|
.PHONY: html website
|
||||||
.PHONY: build_ebook
|
|
||||||
build_ebook: build_serif_ebook build_sans_serif_ebook
|
|
||||||
|
|
||||||
.PHONY: build_serif_ebook
|
|
||||||
build_serif_ebook: epub/book.epub epub/book.mobi epub/book.azw3 | make_release_dir
|
|
||||||
|
|
||||||
.PHONY: build_sans_serif_ebook
|
|
||||||
build_sans_serif_ebook: epub/book_sans_serif.epub epub/book_sans_serif.mobi \
|
|
||||||
epub/book_sans_serif.azw3 | make_release_dir
|
|
||||||
|
|
||||||
.PHONY: export_figures
|
|
||||||
# Requires that you have docker running on your computer.
|
|
||||||
export_figures: build_pdf $(tgt_figures)
|
|
||||||
cd figures/ && bash export_figures.sh
|
|
||||||
|
|
||||||
# Goal is not really to have 0 warning reported but we should check we don't
|
|
||||||
# add many and if we do, we know they are false positive
|
|
||||||
PHONY: check
|
|
||||||
check: $(SRC_TEX)
|
|
||||||
@echo "Running: " $(CHECK_1)
|
|
||||||
$(CHECK_1) book.tex
|
|
||||||
@echo ""
|
|
||||||
@echo "Running: " $(CHECK_2)
|
|
||||||
$(CHECK_2) book.tex
|
|
||||||
|
|
||||||
.PHONY: clean_figures
|
|
||||||
clean_figures:
|
|
||||||
- $(CLEAN) $(patsubst %.tex, %.png.in, $(src_figures))
|
|
||||||
- rm $(patsubst %.tex, %.png.pdf, $(src_figures))
|
|
||||||
- rm $(patsubst %.tex, %.png.in, $(src_figures))
|
|
||||||
- rm $(wildcard figures/*.png.*)
|
|
||||||
- rm cover/cover-page.xbb
|
|
||||||
|
|
||||||
.PHONY: clean_ebook_build
|
|
||||||
clean_ebook_build:
|
|
||||||
-rm book*.loc
|
|
||||||
-rm book*.aux
|
|
||||||
-rm book*.run.xml
|
|
||||||
-rm book*.bcf
|
|
||||||
-rm book*.blg
|
|
||||||
-rm book*.log
|
|
||||||
-rm book*.4tc
|
|
||||||
-rm book*.4ct
|
|
||||||
-rm book*.dvi
|
|
||||||
-rm book.css
|
|
||||||
-rm book_sans_serif.css
|
|
||||||
-rm book*.idv
|
|
||||||
-rm book*.lg
|
|
||||||
-rm book*.ncx
|
|
||||||
-rm book*.tmp
|
|
||||||
-rm book*.xref
|
|
||||||
-rm book*.html
|
|
||||||
-rm book*.fls
|
|
||||||
-rm book*.fdb_latexmk
|
|
||||||
-rm book*.bbl
|
|
||||||
-rm content.opf
|
|
||||||
-rm book*x.svg
|
|
||||||
|
|
||||||
.PHONY: clean_website_build
|
|
||||||
clean_website_build: clean_ebook_build
|
|
||||||
-rm book-*.svg
|
|
||||||
-rm book.loc
|
|
||||||
-rm book.dlog
|
|
||||||
-rm $(subst $(website_dir)/,, $(wildcard $(website_dir)/*.html))
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
||||||
clean: clean_ebook_build clean_figures clean_website_build
|
|
||||||
$(CLEAN) -output-directory=book_serif book.tex
|
|
||||||
$(CLEAN) -output-directory=book_sans_serif book_sans_serif.tex
|
|
||||||
-rm book*/*.loc
|
|
||||||
-rm book*/*.bbl
|
|
||||||
-rm book*/*.run.xml
|
|
||||||
-rm -rf book*-epub/META-INF
|
|
||||||
-rm -rf book*-epub/OEBPS
|
|
||||||
-rm book*-epub/mimetype
|
|
||||||
|
|
||||||
.PHONY: mrproper
|
|
||||||
mrproper: clean
|
|
||||||
$(CLEAN) -C $(src_figures)
|
|
||||||
$(CLEAN) -C -output-directory=book_serif book.tex
|
|
||||||
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
|
|
||||||
-rm figures/*.png
|
|
||||||
-rm *.html
|
|
||||||
-rm *.svg
|
|
||||||
rm -rf epub/
|
|
||||||
rm -rf release/
|
|
||||||
rm -rf book_serif/
|
|
||||||
rm -rf book_sans_serif/
|
|
||||||
rm -rf book-epub/
|
|
||||||
rm -rf book_sans_serif-epub/
|
|
||||||
rm -rf $(website_dir)
|
|
||||||
|
|
||||||
.PHONY: bake
|
|
||||||
bake: release_serif release_sans_serif
|
|
||||||
|
|
||||||
.PHONY: make_release_dir
|
|
||||||
make_release_dir:
|
|
||||||
mkdir -p release
|
|
||||||
|
|
||||||
.PHONY: release_serif
|
|
||||||
release_serif: build_serif_pdf build_serif_ebook | make_release_dir
|
|
||||||
cp book_serif/book.pdf release/TheBreadCode-The-Sourdough-Framework.pdf
|
|
||||||
cp epub/book.mobi release/TheBreadCode-The-Sourdough-Framework.mobi
|
|
||||||
cp epub/book.epub release/TheBreadCode-The-Sourdough-Framework.epub
|
|
||||||
cp epub/book.azw3 release/TheBreadCode-The-Sourdough-Framework.azw3
|
|
||||||
|
|
||||||
.PHONY: release_sans_serif
|
|
||||||
release_sans_serif: build_sans_serif_pdf build_sans_serif_ebook | make_release_dir
|
|
||||||
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
|
||||||
cp epub/book_sans_serif.mobi release/TheBreadCode-The-Sourdough-Framework-sans-serif.mobi
|
|
||||||
cp epub/book_sans_serif.epub release/TheBreadCode-The-Sourdough-Framework-sans-serif.epub
|
|
||||||
cp epub/book_sans_serif.azw3 release/TheBreadCode-The-Sourdough-Framework-sans-serif.azw3
|
|
||||||
|
|
||||||
# Website stuff
|
|
||||||
$(website_dir)/book.html: $(website_src) cover/cover-page.xbb
|
$(website_dir)/book.html: $(website_src) cover/cover-page.xbb
|
||||||
$(WEBSITE) -d $(website_dir) book.tex
|
$(WEBSITE) -d $(website_dir) book.tex
|
||||||
|
|
||||||
.PHONY: html
|
|
||||||
html: $(website_dir)/book.html
|
html: $(website_dir)/book.html
|
||||||
cp $< $(website_dir)/index.html
|
cp $< $(website_dir)/index.html
|
||||||
|
|
||||||
# Because packages will be installed in hard to predict places use a file as
|
# Because packages will be installed in hard to predict places use a file as
|
||||||
# marker..
|
# marker..
|
||||||
../website/_bundle_install_done: $(ruby_pkg)
|
../website/_bundle_install_done: $(ruby_pkg)
|
||||||
- rm ../website/$@
|
-rm ../website/$@
|
||||||
cd ../website && bundle install
|
cd ../website && bundle install
|
||||||
touch ../website/$@
|
touch ../website/$@
|
||||||
|
|
||||||
# TODO: this will run every single time, but is so fast we don't really care
|
# TODO: this will run every single time, but is so fast we don't really care
|
||||||
.PHONY: website
|
|
||||||
website: html ../website/_bundle_install_done $(ruby_src)
|
website: html ../website/_bundle_install_done $(ruby_src)
|
||||||
cd ../website && ruby modify_build.rb
|
cd ../website && ruby modify_build.rb
|
||||||
|
#}}}
|
||||||
|
|
||||||
# Debug Stuff from now on
|
# Figures only {{{
|
||||||
.PHONY: quick show_tools_version printvars
|
###################################
|
||||||
|
.PHONY: export_figures
|
||||||
|
# Requires that you have docker running on your computer.
|
||||||
|
export_figures: pdf $(tgt_figures)
|
||||||
|
cd figures/ && bash export_figures.sh
|
||||||
|
# }}}
|
||||||
|
# }}}
|
||||||
|
|
||||||
# Those 2 targets allow fast debug cycles but not reolvig refrences etc
|
# User level targets {{{
|
||||||
quick: # run latex only once no biber, no references etc..
|
# Build targets {{{
|
||||||
$(LATEX) -e '$$max_repeat=1' -output-directory=book_serif book.tex
|
.PHONY: all
|
||||||
|
all: bake
|
||||||
|
|
||||||
quick_ebook: # run latex only once no biber, no references etc..
|
# Finally actual project targets (i.e. build pdf and ebooks)
|
||||||
$(EBOOK) --mode draft -f epub book.tex
|
.PHONY: pdf serif sans_serif ebook
|
||||||
|
|
||||||
show_tools_version: # Show version of tools used on the build machine
|
pdf: serif sans_serif
|
||||||
- git log -n 1
|
serif: book_serif/book.pdf
|
||||||
@echo ""
|
sans_serif: book_sans_serif/book_sans_serif.pdf
|
||||||
- latexmk --version
|
|
||||||
@echo ""
|
|
||||||
- lualatex --version
|
|
||||||
@echo ""
|
|
||||||
- tex4ebook --version
|
|
||||||
@echo ""
|
|
||||||
- make4ht --version
|
|
||||||
@echo ""
|
|
||||||
- tidy -version
|
|
||||||
@echo ""
|
|
||||||
- kindlegen --version
|
|
||||||
@echo ""
|
|
||||||
- lacheck --version
|
|
||||||
@echo ""
|
|
||||||
- chktex --version
|
|
||||||
@echo ""
|
|
||||||
- make --version
|
|
||||||
@echo ""
|
|
||||||
- biber -version
|
|
||||||
@echo ""
|
|
||||||
- ruby --version
|
|
||||||
@echo ""
|
|
||||||
|
|
||||||
|
ebook: epub/book.epub
|
||||||
|
bw_ebook: epub/bw_book.epub
|
||||||
|
low_res_ebook: epub/low_res_book.epub
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Old target names are disabled with helpful help message {{{
|
||||||
|
build_pdf:
|
||||||
|
@echo "build_pdf target is not supported anymore, please use make pdf"
|
||||||
|
@exit
|
||||||
|
build_serif_pdf:
|
||||||
|
@echo "build_serif_pdf target is not supported anymore, please use make serif"
|
||||||
|
@exit
|
||||||
|
build_sans_serif_pdf:
|
||||||
|
@echo "build_sans_serif_pdf target is not supported anymore, please use make sans_serif"
|
||||||
|
@exit
|
||||||
|
build_ebook:
|
||||||
|
@echo "build_ebook target is not supported anymore, please use make ebook"
|
||||||
|
@exit
|
||||||
|
build_bw_ebook:
|
||||||
|
@echo "build_bw_ebook target is not supported anymore, please use make bw_ebook"
|
||||||
|
@exit
|
||||||
|
build_low_res_ebook:
|
||||||
|
@echo "build_low_res_ebook target is not supported anymore, please use make low_res_ebook"
|
||||||
|
@exit
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Top level releases rules {{{
|
||||||
|
.PHONY: bake release_serif release_sans_serif
|
||||||
|
bake: release_serif release_sans_serif website
|
||||||
|
|
||||||
|
release:
|
||||||
|
mkdir -p release
|
||||||
|
|
||||||
|
release_serif: serif ebook bw_ebook low_res_ebook | release
|
||||||
|
cp book_serif/book.pdf release/TheBreadCode-The-Sourdough-Framework.pdf
|
||||||
|
cp epub/bw_book.epub release/TheBreadCode-The-Sourdough-Framework-black-and-white.epub
|
||||||
|
cp epub/low_res_book.epub release/TheBreadCode-The-Sourdough-Framework.epub
|
||||||
|
# Kindle does not allow files larger than 50 MB... so let's check
|
||||||
|
@if [ `du -sb epub/low_res_book.epub | cut -f1` -gt 49500000 ]; then \
|
||||||
|
echo "ERROR: epub File too big"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
release_sans_serif: sans_serif | release
|
||||||
|
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Clean up {{{
|
||||||
|
###################################
|
||||||
|
|
||||||
|
# delete generated files
|
||||||
|
.PHONY: clean_figures clean_ebook_build clean_website_build clean mrproper
|
||||||
|
clean_figures:
|
||||||
|
-$(CLEAN) $(patsubst %.tex, %.png.in, $(src_figures))
|
||||||
|
-rm $(patsubst %.tex, %.png.pdf, $(src_figures))
|
||||||
|
-rm $(patsubst %.tex, %.png.in, $(src_figures))
|
||||||
|
-rm $(wildcard figures/*.png.*)
|
||||||
|
-rm cover/cover-page.xbb
|
||||||
|
|
||||||
|
clean_ebook_build:
|
||||||
|
-rm epub_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
|
||||||
|
-rm epub_build/book*.{idv,lg,loc,log,ncx,run.xml,tmp,xref}
|
||||||
|
-rm epub_build/{book.css,content.opf} epub_build/book-epub/mimetype
|
||||||
|
-rm epub_build/book*x.svg
|
||||||
|
-rm -rf epub_build/book-epub/META-INF epub_build/book-epub/OEBPS
|
||||||
|
|
||||||
|
clean_website_build:
|
||||||
|
-rm website_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
|
||||||
|
-rm website_build/book*.{idv,lg,loc,log,ncx,run.xml,tmp,xref}
|
||||||
|
-rm website_build/book.{loc,dlog}
|
||||||
|
|
||||||
|
clean: clean_ebook_build clean_figures clean_website_build
|
||||||
|
$(CLEAN) -output-directory=book_serif book.tex
|
||||||
|
$(CLEAN) -output-directory=book_sans_serif book_sans_serif.tex
|
||||||
|
-rm book*/*.{bbl,loc,run.xml}
|
||||||
|
|
||||||
|
mrproper: clean
|
||||||
|
$(CLEAN) -C $(src_figures)
|
||||||
|
$(CLEAN) -C -output-directory=book_serif book.tex
|
||||||
|
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
|
||||||
|
-rm figures/*.png
|
||||||
|
-rm -rf release/
|
||||||
|
-rm -rf book_serif/ book_sans_serif/
|
||||||
|
-rm -rf epub/ epub_build/ bw-book-epub/ low-res-book-epub/
|
||||||
|
-rm -rf website_build/ $(website_dir)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Help {{{
|
||||||
|
###################################
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
@echo ""
|
||||||
|
@echo "default: builds the book in pdf format (serif)"
|
||||||
|
@echo ""
|
||||||
|
@echo "Releases:"
|
||||||
|
@echo " all: pdf serif and sans-serif accessible version, ebooks in colours"
|
||||||
|
@echo " and black&white versions as well as the website"
|
||||||
|
@echo ""
|
||||||
|
@echo " bake: same as build all"
|
||||||
|
@echo ""
|
||||||
|
@echo " release_serif: build serif only version of pdf and ebook"
|
||||||
|
@echo " release_sans_serif: build sans-serif/accessible version of pdf"
|
||||||
|
@echo ""
|
||||||
|
@echo "Portable Document Format (pdf):"
|
||||||
|
@echo " sans_serif: build accessible pdf only (same as release_sans_serif)"
|
||||||
|
@echo " serif: build serif pdf only"
|
||||||
|
@echo " pdf: builds both serif and accessible pdf"
|
||||||
|
@echo ""
|
||||||
|
@echo "Ebooks (epub):"
|
||||||
|
@echo " ebook: builds only the colour ebook"
|
||||||
|
@echo " low_res_ebook: builds the colour ebook in lower resolution"
|
||||||
|
@echo " bw_ebook: builds the low res black & white ebook"
|
||||||
|
@echo ""
|
||||||
|
@echo "Website:"
|
||||||
|
@echo " website: build the static website from LaTeX sources and post-process it"
|
||||||
|
@echo " html: build the static website from LaTeX sources _without_ post-processing"
|
||||||
|
@echo ""
|
||||||
|
@echo "Cleanup:"
|
||||||
|
@echo " mrproper: delete all generated files intermediate and pdf/ebooks/website"
|
||||||
|
@echo " clean: delete all intermediate files keep targets (pdf/ebooks/website)"
|
||||||
|
@echo " clean_figures: delete intermediate TikZ files"
|
||||||
|
@echo " clean_website_build: delete intermediate website files"
|
||||||
|
@echo " clean_ebook_build: delete intermediate ebook files"
|
||||||
|
@echo ""
|
||||||
|
@echo "Debug targets:"
|
||||||
|
@echo ""
|
||||||
|
@echo "figures: build TikZ figures only"
|
||||||
|
@echo ""
|
||||||
|
@echo "Quick builds:"
|
||||||
|
@echo " quick: compiles serif_pdf but runs lulatex only once"
|
||||||
|
@echo " quick_ebook: compiles ebook but runs lulatex only once"
|
||||||
|
@echo ""
|
||||||
|
@echo "Checks:"
|
||||||
|
@echo " tex-check: runs static analysis checker on LaTeX source to spot"
|
||||||
|
@echo " programming or typographic mistakes"
|
||||||
|
@echo " spell-check: runs a spell checker"
|
||||||
|
@echo " check: runs both checkers"
|
||||||
|
@echo ""
|
||||||
|
@echo "Dump informations:"
|
||||||
|
@echo " show_tools_version: Show version of tools used on the build machine"
|
||||||
|
@echo " printvars: print all variables in the makefile"
|
||||||
|
@echo " print-X: print makefile variable X"
|
||||||
|
@echo ""
|
||||||
|
@echo "set DEBUG i.e make DEBUG=1 ebook to add debug flags to commands"
|
||||||
|
# }}}
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Debug Stuff {{{
|
||||||
|
###################################
|
||||||
|
|
||||||
|
# Verify your spelling and TeX warnings {{{
|
||||||
|
.PHONY: check tex-check spell-check
|
||||||
|
# Goal is not really to have 0 warning reported but we should check we don't
|
||||||
|
# add many and if we do, we know they are false positive
|
||||||
|
check: spell-check tex-check
|
||||||
|
|
||||||
|
tex-check: $(src_tex)
|
||||||
|
@echo "Running: " $(CHECK_1)
|
||||||
|
$(CHECK_1) book.tex
|
||||||
|
@echo ""
|
||||||
|
@echo "Running: " $(CHECK_2)
|
||||||
|
$(CHECK_2) book.tex
|
||||||
|
|
||||||
|
# Should be 0 if not and you are really sure update the exception file
|
||||||
|
spell-check: $(src_tex) spelling_exceptions.txt
|
||||||
|
# Generate exceptions this way to avoid false positives
|
||||||
|
# hunspell -t -l -d en_US **/*.tex *.csv *.sty *.sty | cut -f 2 -d ':' | sort -u > spelling_exceptions.txt
|
||||||
|
$(SPELL_CHECK) -p spelling_exceptions.txt $(src_tex)
|
||||||
|
#}}}
|
||||||
|
|
||||||
|
.PHONY: quick quick_ebook show_tools_version printvars
|
||||||
|
# Those 2 targets allow fast debug cycles but not resolving references etc
|
||||||
|
# They also ignore dependencies and run each time you call them.
|
||||||
|
quick: # run latex only once no biber, no references etc...
|
||||||
|
$(LATEX) -e '$$max_repeat=1' -halt-on-error -output-directory=book_serif book.tex
|
||||||
|
|
||||||
|
quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc...
|
||||||
|
$(EBOOK) --mode draft book.tex
|
||||||
|
|
||||||
|
show_tools_version: # Show version of tools used on the build machine {{{
|
||||||
|
-$(GIT) log -5 --pretty="%h: %s by %an on %as"
|
||||||
|
@echo ""
|
||||||
|
-uname -a
|
||||||
|
@echo ""
|
||||||
|
-$(SHELL) --version
|
||||||
|
@echo ""
|
||||||
|
-@echo "PATH:"
|
||||||
|
-@echo $(PATH) | tr ':' '\n'
|
||||||
|
@echo ""
|
||||||
|
-latexmk --version
|
||||||
|
@echo ""
|
||||||
|
-lualatex --version
|
||||||
|
@echo ""
|
||||||
|
-tex4ebook --version
|
||||||
|
@echo ""
|
||||||
|
-make4ht --version
|
||||||
|
@echo ""
|
||||||
|
-tidy -version
|
||||||
|
@echo ""
|
||||||
|
-dvisvgm --version
|
||||||
|
@echo ""
|
||||||
|
-lacheck | head -5 | tail -1
|
||||||
|
@echo ""
|
||||||
|
-chktex --version
|
||||||
|
@echo ""
|
||||||
|
-make --version
|
||||||
|
@echo ""
|
||||||
|
-biber -version
|
||||||
|
@echo ""
|
||||||
|
-ruby --version
|
||||||
|
@echo ""
|
||||||
|
-$(CONVERT_PIC) --version
|
||||||
|
@echo ""
|
||||||
|
-rsync --version
|
||||||
|
# }}}
|
||||||
|
|
||||||
# You can find the value of variable X with the following command:
|
# You can find the value of variable X with the following command:
|
||||||
# make print-X
|
# make print-X
|
||||||
print-%: ; @echo $* = $($*) # Print a makefile variable
|
print-%: ; @echo $* = $($*) # Print a makefile variable
|
||||||
|
|
||||||
printvars: # Print all variables in the makefile
|
printvars: # Print all variables in the makefile
|
||||||
@$(foreach V,$(sort $(.VARIABLES)), \
|
@$(foreach V,$(sort $(.VARIABLES)), \
|
||||||
$(if $(filter-out environ% default automatic, \
|
$(if $(filter-out environ% default automatic, \
|
||||||
$(origin $V)),$(info $V=$($V) ($(value $V)))))
|
$(origin $V)),$(info $V=$($V) ($(value $V)))))
|
||||||
|
# }}}
|
||||||
|
|||||||
BIN
book/mix-ins/apple-swirl.jpg
Normal file
|
After Width: | Height: | Size: 687 KiB |
BIN
book/mix-ins/beer-bread.jpg
Normal file
|
After Width: | Height: | Size: 384 KiB |
BIN
book/mix-ins/broa.jpg
Normal file
|
After Width: | Height: | Size: 860 KiB |
@@ -1,183 +1,352 @@
|
|||||||
\chapter{Mix-ins}%
|
\chapter{Mix-ins}%
|
||||||
\label{ch:mix-ins}
|
\label{ch:mix-ins}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
This work-in-progress chapter will describes altering and additions you
|
In this chapter, you will learn about the fascinating world of sourdough
|
||||||
could make to your dough to create beautiful or different tasting loafs.
|
mix-ins. Discover how these additions can elevate your bread, enhancing
|
||||||
|
flavor, adding vibrant colors, and creating delightful textures that make
|
||||||
|
each loaf a culinary masterpiece.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{pumpkin-sourdough}
|
||||||
|
\caption[Pumpkin sourdough softbuns]{These soft pull-apart sourdough
|
||||||
|
buns have been made with the addition of pumpkin purée. The mashed pumpkin
|
||||||
|
adds flavor and hydration to the dough.}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
A loaf of wheat sourdough has a very pure aesthetic. Good craftsmanship and
|
A loaf of wheat sourdough has a very pure aesthetic. Good craftsmanship and
|
||||||
precision transforms the ingredients into simple, but delicious food. With
|
precision transform the ingredients into simple, but delicious food. With
|
||||||
mix-ins, the basic recipe can become the starting point for a whole world of
|
mix-ins, the basic recipe can become the starting point for a whole world of
|
||||||
modifications to try and combine. Think of the loaf of bread as a blank canvas
|
modifications to try and combine. Think of the loaf of bread as a blank canvas
|
||||||
to express yourself.
|
to express yourself.
|
||||||
|
|
||||||
One approach to sort through the options is to categorize mix-ins by shape
|
\section{Categories}
|
||||||
(the transition between these categories is somewhat fuzzy):
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{pumpkin-on-flour}
|
||||||
|
\caption[Pumpkin purée]{A popular method is to substitute part of the
|
||||||
|
dough's water with another liquid, such as puréed pumpkin. When
|
||||||
|
incorporating the purée, add any extra water gradually, as the purée
|
||||||
|
will release its own liquid into the dough over time.}%
|
||||||
|
\label{fig:pumpkin-on-flour}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
One approach to categorizing the mixins is to look at their respective shape.
|
||||||
|
However, the transition between these categories is somewhat fuzzy:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Liquids: Integrate homogeneously into the dough, may replace some of
|
\item Liquids: Integrate homogeneously into the dough, may replace some of
|
||||||
the water. Examples: Milk, oil, spinach juice.
|
or all of the water. Examples: Milk, butter, oil, spinach juice, tomato
|
||||||
|
juice, eggs
|
||||||
\item Powders: Integrate homogeneously into the dough, may replace some of
|
\item Powders: Integrate homogeneously into the dough, may replace some of
|
||||||
the flour. Examples: Rye flour, semolina, cocoa, ground spices.
|
the flour. Examples: Milk powder, semolina, cocoa, spices
|
||||||
\item Small bits: Individually visible in the final loaf, small enough to
|
\item Small bits: Individually visible in the final loaf, small enough to
|
||||||
distribute somewhat evenly throughout the dough. Examples: Seeds (poppy
|
distribute somewhat evenly throughout the dough. Examples: Seeds (wheat
|
||||||
seeds, sesame, pumpkin seeds), whole spices (coriander).
|
berries, rye berries, poppy seeds, sesame, pumpkin seeds,
|
||||||
|
flax seeds), whole spices (coriander)
|
||||||
\item Chunks: Larger pieces that will only be present in the occasional bite
|
\item Chunks: Larger pieces that will only be present in the occasional bite
|
||||||
when eating a slice of your bread. Examples: dried tomatoes, chunks of
|
when eating a slice of your bread. Examples: dried tomatoes, chunks of
|
||||||
cheese,
|
cheese, chunks of chocolate
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Another categorization approach looks at the changes to the bread. Most
|
Another categorization approach looks at the changes to the bread:
|
||||||
mix-ins actually impact multiple aspects.
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Flavor: Significantly changes the taste of the bread. Examples: rye
|
\item Flavor: Significantly changes the taste of the bread. Examples: rye
|
||||||
flour, spices.
|
flour, corn flour, spices, sugar.
|
||||||
\item Color: Significantly changes the look of the bread. Examples: cocoa,
|
\item Color: Significantly changes the look of the bread. Examples: cocoa,
|
||||||
squid ink, beetroot juice.
|
squid ink, beetroot juice, tomato juice.
|
||||||
\item Texture: Significantly changes the feeling in the mouth when eaten.
|
\item Texture: Significantly changes the feeling in the mouth when eaten.
|
||||||
Examples: Cheese (gummy), seeds (crunchy), olives (squishy chunks).
|
Examples: Cheese (gummy), seeds (crunchy), olives (squishy chunks).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
Many of the above-listed mix-ins can't be pinpointed to a single category. They
|
||||||
|
change multiple aspects of the final bread at the same time.
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{seeded-sourdough}
|
||||||
|
\caption[Seeded sourdough]{In this case a combination of flax, sunflower and
|
||||||
|
sesame was added to the dough. The seeds will slightly dehydrate the dough
|
||||||
|
during fermentation and thus adding a bit more water
|
||||||
|
(\qtyrange{1}{2}{\percent}) is advised.}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Mix-ins affect the structure of the dough. One aspect is the impact on
|
Mix-ins affect the structure of the dough. One aspect is the impact on
|
||||||
hydration. Some mix-ins absorb a lot of water when added to the dough, so you
|
hydration. Some mix-ins absorb a lot of water when added to the dough, so you
|
||||||
have to increase the amount of water to achieve the same dough consistency.
|
have to increase the amount of water to achieve the same dough consistency.
|
||||||
The other impact is on the gluten network. Bits and chunks disrupt the gluten
|
The other impact is on the gluten network. Bits and chunks disrupt the gluten
|
||||||
network, and may reduce the rise. All of this depends on the amount of mix-ins
|
network and may reduce oven spring during baking. All of this depends on the amount of mix-ins
|
||||||
used. A good rule of thumb is to add \qtyrange{10}{20}{\percent} of the amount
|
used. A good rule of thumb is to add \qtyrange{10}{20}{\percent} of the amount
|
||||||
of flour in most mix-ins, reduced to around \qtyrange{1}{5}{\percent} of the
|
of flour in most mix-ins, reduced to around \qtyrange{1}{5}{\percent} of the
|
||||||
amount of flour for spices.
|
amount of flour for spices.
|
||||||
|
|
||||||
An important factor is also the mix-in's behavior during baking. Particularly
|
An important factor is also the mix-in's behavior during baking. Particularly
|
||||||
chunks may bake differently than dough, and either melt (cheese) leaving holes
|
chunks may bake differently than dough, and either melt (cheese) leaving holes
|
||||||
inside, or char when peeking through the crust (\eg, vegetables). These
|
inside, or char when peeking through the crust (\eg~vegetables). These
|
||||||
problems can be mitigated to some degree with the right preparation (\eg,
|
problems can be mitigated to some degree with the right preparation (\eg~chopping
|
||||||
chopping into smaller pieces, soaking dry ingredients in water or oil first,
|
into smaller pieces, soaking dry ingredients in water or oil first,
|
||||||
or squeezing out excess moisture).
|
or squeezing out excess moisture).
|
||||||
% potential reference to link: https://food52.com/blog/25521-additions-to-sourdough-bread-ideas
|
|
||||||
|
|
||||||
\section{Examples}
|
\section{Examples}
|
||||||
|
|
||||||
The following is a list of common mix-ins and their peculiarities:
|
The following is a list of common mix-ins and their peculiarities. They can be
|
||||||
|
combined depending on your preference.
|
||||||
|
|
||||||
\subsection{Flours}
|
\subsection{Flours}
|
||||||
These are powders. Usually you want to just replace some fraction of the
|
These are powders. Usually, you want to just replace some fraction of the
|
||||||
regular bread flour. Different flours change the taste of the bread and
|
regular bread flour. Different flours change the taste of the bread and
|
||||||
usually moderately affect the color.
|
usually moderately affect the color.
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{broa}
|
||||||
|
\caption[Broa de milho]{Broa de milho is a traditional Portuguese bread
|
||||||
|
made out of half rye and half corn flour.}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Whole wheat flour (substitute any amount, makes the bread taste more
|
\item Whole wheat flour (substitute any amount, makes the bread taste more
|
||||||
complex, nutty)
|
complex, nutty)
|
||||||
\item Rye flour (very hearty, nutty, malty taste)
|
\item Rye flour (very hearty, nutty, malty taste)
|
||||||
\item Semolina (supports mediterranean flavors)
|
\item Enzymatic malt (malty taste, improves enzymatic activity). The malt is
|
||||||
|
a great addition when making quicker yeast-based doughs.
|
||||||
|
\item Semolina (supports Mediterranean flavors)
|
||||||
\item Cocoa (replace \qty{10}{\percent} of the flour for a black loaf, goes
|
\item Cocoa (replace \qty{10}{\percent} of the flour for a black loaf, goes
|
||||||
great with sweet toppings)
|
great with sweet toppings)
|
||||||
|
\item Other non-wheat flours such as: Chickpea, corn, hemp, potato\dots{}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Liquids}
|
\subsection{Liquids}
|
||||||
Substitute some of the water with a different liquid, affecting taste and
|
|
||||||
texture.
|
Instead of using water, you can substitute it with a different liquid,
|
||||||
|
affecting taste and texture.
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{beer-bread}
|
||||||
|
\caption[Stout beer bread]{Dark hearty stouts work excellently as a water
|
||||||
|
replacement when making sourdough bread. The resulting loaf features a
|
||||||
|
hearty malty taste}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Coffee
|
|
||||||
\item Beer
|
\item Beer
|
||||||
\item Olive oil (mediterranean)
|
\item Butter
|
||||||
\item Milk (for sweet, soft breads)
|
|
||||||
\item Buttermilk
|
\item Buttermilk
|
||||||
|
\item Cereal milk (the leftover milk from eating cereals)
|
||||||
|
\item Coffee
|
||||||
|
\item Eggs
|
||||||
|
\item Fruit/vegetable juices (also see Section~\ref{sec:colors})
|
||||||
|
\item Milk (for sweet, soft breads)
|
||||||
|
\item Milk alternatives such as: Almond, oat, soy\dots{}
|
||||||
|
\item Mashed potatoes
|
||||||
|
\item Mashed sweet potatoes. Bolo do caco is a typical bread from Madeira,
|
||||||
|
made from \qty{50}{\percent} wheat flour and \qty{50}{\percent} mashed potatoes.
|
||||||
|
\item Olive oil (Mediterranean)
|
||||||
|
\item Other mashed vegetables such as: Beets, pumpkin\dots{}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Colors}
|
\subsection{Colors}%
|
||||||
These drastically change the color of the bread.
|
\label{sec:colors}
|
||||||
|
Some mix-ins will change the color and flavor of your bread. Common colorings
|
||||||
|
include:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
\item Activated charcoal powder (black)
|
||||||
\item Beetroot juice (red)
|
\item Beetroot juice (red)
|
||||||
|
\item Blueberry juice (blue)
|
||||||
|
\item Blue butterfly pea flower powder (blue)
|
||||||
\item Carrot juice (orange)
|
\item Carrot juice (orange)
|
||||||
|
\item Pear juice (pink)
|
||||||
\item Spinach juice (green)
|
\item Spinach juice (green)
|
||||||
\item Squid ink (black)
|
\item Squid ink (black)
|
||||||
|
\item Strawberry juice (red)
|
||||||
|
\item Tomato juice (red)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Seeds and nuts}
|
\subsection{Seeds and nuts}
|
||||||
These are small bits, with some almost crossing into the chunk category. Most
|
These are small bits, with some almost crossing into the chunk category. Some
|
||||||
seeds benefit from being baked for about 10~minutes before adding them to the
|
seeds benefit from being boiled for about 10~minutes before adding them to the
|
||||||
dough.
|
dough.
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{stollen-close-up}
|
||||||
|
\caption[Stollen closeup]{The Stollen is a traditional German sweet Christmas
|
||||||
|
bread featuring a variety of mix-ins. The dough typically contains candied
|
||||||
|
lemon, candied orange, and raisins. The mix-ins are soaked in rum before
|
||||||
|
being added to the dough. While the stollen matures after baking (up to
|
||||||
|
\num{6} months) the candied ingredients release their aroma to the baked
|
||||||
|
product.}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Pumpkin seed
|
\item Cacao nibs
|
||||||
\item Chia seed
|
\item Chia seed
|
||||||
\item Flaxseed (soak these in water first)
|
\item Chopped or whole nuts such as: Almonds, hazelnuts and walnuts
|
||||||
\item Hemp seed (very crunchy, a personal favorite)
|
\item Flaxseeds
|
||||||
|
\item Hemp seed
|
||||||
|
\item Poppy seed
|
||||||
|
\item Pumpkin seed
|
||||||
\item Sesame
|
\item Sesame
|
||||||
\item Sunflower seed
|
\item Sunflower seed
|
||||||
\item Poppy seed
|
\item Whole rye berries (boil 10 minutes)
|
||||||
\item Cacao nibs
|
\item Whole wheat berries (boil 10 minutes)
|
||||||
\item Chopped or whole walnuts
|
|
||||||
\item Chopped or whole hazelnuts
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{seeds-bread}
|
||||||
|
\caption[Whole-rye with rye berries]{A sourdough bread made with half
|
||||||
|
whole-rye flour and half rye berries. The berries are typically boiled
|
||||||
|
for 10~minutes to allow them to soften a bit. When baking a loaf it is
|
||||||
|
advised to use a thermometer to measure whether it is done baking. The
|
||||||
|
final bread features a hearty tangy flavor and has a moist crumb.}%
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\subsection{Spices and flavor mix-ins}
|
\subsection{Spices and flavor mix-ins}
|
||||||
These are mostly powders or small bits.
|
These are mostly powders or small bits.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Mediterranean herbs (oregano, thyme, rosemary, marjoram)
|
\item Blueberry skins (press through a sieve to remove juice), raw
|
||||||
\item Bread spice (coriander, cumin, fennel, anise)
|
blueberries
|
||||||
\item Grated hard cheese: Gruyère, parmesan
|
|
||||||
\item Blueberry skins (press through sieve to remove juice, raw blueberries
|
|
||||||
would add too much water)
|
|
||||||
\item Lemon zest (alternatively orange or lime)
|
|
||||||
\item Browned onions
|
\item Browned onions
|
||||||
\item Molasses
|
\item Candied fruits such as: Lemon, orange, pineapple\dots{}
|
||||||
|
\item Cinnamon
|
||||||
|
\item Grated hard cheese such as: Gruyère, parmesan\dots{}
|
||||||
|
\item Mediterranean herbs such as: Marjoram, oregano, rosemary, thyme\dots{}
|
||||||
\item Miso
|
\item Miso
|
||||||
|
\item Molasses
|
||||||
|
\item Sugar
|
||||||
|
\item Spices such as: Anise, fennel, cinnamon, coriander, cumin\dots{}
|
||||||
|
\item Zests such as: Lime, Lemon, orange\dots{}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Highlights}
|
\subsection{Highlights}
|
||||||
Mostly chunks, that add a big contrast and flavorful highlight to the basic
|
Mostly chunks, that add a big contrast and flavorful highlight to the basic
|
||||||
bread. Usually you want to use only one (or maximum two) of these. Often can
|
bread. Usually, you want to use only one (or a maximum of two) of these. The suggestions
|
||||||
be complemented well by some flavor mix-in or flour.
|
can often be complemented by some flavor or flour mix-in.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Olives
|
|
||||||
\item Sundried tomatoes (squeeze out the oil if using pickled ones, or soak
|
|
||||||
dried ones in water)
|
|
||||||
\item Pickled pepperoni
|
|
||||||
\item Cornflakes
|
|
||||||
\item Dried fruit (\eg, cranberries, raisins)
|
|
||||||
\item Chunks of cheese (\eg, cheddar, feta)
|
|
||||||
\item Chunks of black garlic
|
|
||||||
\item Chocolate chunks or drops
|
\item Chocolate chunks or drops
|
||||||
|
\item Chunks of black garlic
|
||||||
|
\item Chunks of cheese such as: Cheddar, feta\dots{}
|
||||||
|
\item Cornflakes
|
||||||
|
\item Dried fruits such as: Cranberries, dates, raisins\dots{}
|
||||||
|
\item Olives
|
||||||
|
\item Pickled pepperoni
|
||||||
|
\item Sun-dried tomatoes (squeeze out the oil if using pickled ones, or soak
|
||||||
|
dried ones in water)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Combinations}
|
\subsection{Combinations}
|
||||||
A few combinations where multiple mix-ins complement each other:
|
A few combinations where multiple mix-ins complement each other:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Semolina, mediterranen herbs, olives, sundried tomatoes.
|
\item Butter and milk. Then add cinnamon and brown sugar before shaping
|
||||||
\item Cranberry and walnuts.
|
\item Cheddar and pepperoni
|
||||||
\item Cheddar and pepperoni.
|
\item Cheddar and jalapeño
|
||||||
\item Cocoa, cacao nibs, whole hazelnuts.
|
\item Cocoa, cacao nibs, whole hazelnuts
|
||||||
|
\item Cranberry and walnuts
|
||||||
|
\item Semolina, Mediterranean herbs, olives, sun-dried tomatoes
|
||||||
|
\item Tomato juice instead of water with \qty{20}{\percent} rye flour
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Techniques}
|
\section{Techniques}
|
||||||
Adding mix-ins into the dough is just the simplest approach. There are other,
|
|
||||||
more advanced ways to include them into a loaf.
|
|
||||||
|
|
||||||
\subsection{Covering the crust}
|
Adding mix-ins to the dough is just the simplest approach. Add the mix-ins
|
||||||
This works best for either powders or small bits. Spread the mix-in in a flat
|
directly when you knead the dough. After the first kneading wait for 30
|
||||||
container, wet the surface of the loaf, and dip it into the mix-in right
|
minutes to see if the dough has enough or too much water. In the case of
|
||||||
before baking.
|
whole-soaked berries (\eg~rye or wheat) chances are that the berries will
|
||||||
|
release some water and make the dough wetter. In this case, you will want to
|
||||||
|
add a bit more flour to the dough to compensate for the high hydration.
|
||||||
|
|
||||||
This does not work for all mix-ins, as some can't handle the high temperatures
|
\subsection[Incorporating seeds into the dough]{What is the best stage to
|
||||||
during baking and char. Most commonly done with seeds (\eg, sesame).
|
incorporate inclusions (seeds) into the dough?}%
|
||||||
|
\label{subec:incorporate-seeds}
|
||||||
|
|
||||||
|
You can include seeds directly at the start when mixing the dough. If you use
|
||||||
|
whole seeds such as wheat or rye kernels, soak them in water overnight and
|
||||||
|
then rinse them before adding them to the dough. This makes sure that they are
|
||||||
|
not crunchy and are soft enough when eating the bread. If you forgot to soak
|
||||||
|
them you can cook the seeds for 10~minutes in hot water. Rinse them with cold
|
||||||
|
water before adding them to your dough.
|
||||||
|
|
||||||
|
If you want to sweeten the dough, your best option is to add sugar during the
|
||||||
|
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 mixture over a flattened-out dough. You can then roll the
|
||||||
|
dough together, incorporating layers of sugar.
|
||||||
|
|
||||||
|
\subsection{Adding before shaping}
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{apple-swirl}
|
||||||
|
\caption[Apple swirl buns]{A great technique is to add some of your mix-ins
|
||||||
|
directly before shaping. In this case, a mixture of apples, cinnamon and
|
||||||
|
brown sugar was applied. Proceed and roll the dough together. Afterward
|
||||||
|
cut the roll into smaller pieces using a sharp knife, dough scraper or
|
||||||
|
dental floss. Place each piece of dough next to each other in a greased
|
||||||
|
bowl to allow them to be proofed. Proceed and bake as you would
|
||||||
|
normally do. The benefit of this technique is that the mix-ins will not
|
||||||
|
be fermented. This is typically required in the case of sugar since you
|
||||||
|
want the final baked goods to feature sweetness. If included upon
|
||||||
|
initial mixing most of the sugar would be fermented and the bread would
|
||||||
|
not taste sweet.}%
|
||||||
|
\label{fig:apple-swirl}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Another approach is to lay the dough out flat after the bulk fermentation.
|
||||||
|
Then using a spatula spread your ingredient over the flat dough. Continue with
|
||||||
|
your regular shaping and/or roll up the dough. When creating a roll you can
|
||||||
|
use a sharp knife to cut the dough, dental floss works great too. Afterward,
|
||||||
|
place the tiny swirls in a container to let them proof and become fluffier.
|
||||||
|
This is an excellent way to add sweet mix-ins as the microbes will not ferment
|
||||||
|
them. When adding sugar to the initial dough it will be fermented and the
|
||||||
|
resulting dough will not taste sweet (depending on the fermentation duration).
|
||||||
|
This approach is excellent for garlic/cheese rolls, garlic/herb rolls, and
|
||||||
|
cinnamon rolls
|
||||||
|
|
||||||
|
\subsection{Covering the surface}
|
||||||
|
|
||||||
|
\begin{figure}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{surface-seeds}
|
||||||
|
\caption[Surface seeds]{These are chop buns which are created by chopping
|
||||||
|
up a retarded dough into smaller pieces before baking. Then each piece of
|
||||||
|
dough is quickly dumped in water and then rolled in a bowl of seeds.
|
||||||
|
Afterward, the dough is directly baked in the preheated oven. These
|
||||||
|
coverings add superb additional flavor and can be adjusted depending on
|
||||||
|
your preference. I love adding a mixture of sunflower, flax, and
|
||||||
|
sesame seeds.}%
|
||||||
|
\label{fig:surface-seeds}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
This works best for either powders or small bits. After shaping wrap your
|
||||||
|
coverings on the dough's surface. This works great too when covering your
|
||||||
|
banneton or loaf pan with seeds or oats. When using a loaf pan or banneton
|
||||||
|
these coverings also help to make the container stick less.
|
||||||
|
|
||||||
|
Another approach commonly used with buns is to wet the surface or dump the
|
||||||
|
dough in water. Afterward, dip the wet piece of dough into your bowl of
|
||||||
|
mix-ins. This does not work for all mix-ins, as some can't handle the high
|
||||||
|
temperatures during baking and char. Most commonly done with seeds
|
||||||
|
(\eg~sesame, oats, flax-seed).
|
||||||
|
|
||||||
\subsection{Swirled colors}
|
\subsection{Swirled colors}
|
||||||
Mix-ins that change the color of the dough bring the opportunity for even more
|
Mix-ins that change the color of the dough bring the opportunity for even more
|
||||||
creativity.
|
creativity by merging the dough before shaping.
|
||||||
|
|
||||||
Separate the dough before adding a colorful ingredient. Combine the two (or
|
Proceed and separate your base dough before adding a colorful ingredient. Bulk
|
||||||
|
ferment the dough in separate containers. Then Combine the two (or
|
||||||
more) differently colored doughs by laminating and stacking the colored sheets
|
more) differently colored doughs by laminating and stacking the colored sheets
|
||||||
of dough before the last folding, just before shaping and bulk rise.
|
of dough before the last folding, just before shaping. This way the colored
|
||||||
|
layers won't mix and the resulting dough will have differently colored and
|
||||||
These can really become works of art.
|
tasting layers\footnote{I once made an experimental dough by merging a wheat,
|
||||||
|
rye, spelt and einkorn dough into a single dough. The resulting dough was
|
||||||
% https://www.reddit.com/r/Sourdough/comments/onynqm/sourdough_with_dried_raspberries_recipe_in/
|
layered featuring different colors, textures, and flavors.}.
|
||||||
% https://natashasbaking.com/blueberry-sourdough/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/mot8vq/chocolate_sourdough_loaf/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/13sdex9/fairy_bread_for_my_daughters_class_party_with/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/keyx88/roasted_onion_and_garlic_loaf_this_loaf_didnt/
|
|
||||||
% https://myloveofbaking.com/rye-molasses-and-orange-sourdough/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/qd3y4k/pick_your_player_miso_sesame_or_cranberry_walnut/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/lziedg/10_spelt_flour_80_hydration_50_buttermilk_50/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/lbrc4a/squid_ink_sourdough_with_sharp_cheddar_and/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/na0zed/was_hoping_for_a_more_pronounced_purple_but_i/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/10rzgif/sesame_and_poppyseed_64_hydration/
|
|
||||||
% https://www.reddit.com/r/Sourdough/comments/11lcgvr/sesame_seed_crusted_loaf_w_everything_bagel/
|
|
||||||
|
|||||||
BIN
book/mix-ins/pumpkin-on-flour.jpg
Normal file
|
After Width: | Height: | Size: 741 KiB |
BIN
book/mix-ins/pumpkin-sourdough.jpg
Normal file
|
After Width: | Height: | Size: 529 KiB |
BIN
book/mix-ins/seeded-sourdough.jpg
Normal file
|
After Width: | Height: | Size: 385 KiB |
BIN
book/mix-ins/seeds-bread.jpg
Normal file
|
After Width: | Height: | Size: 805 KiB |
BIN
book/mix-ins/stollen-close-up.jpg
Normal file
|
After Width: | Height: | Size: 463 KiB |
BIN
book/mix-ins/surface-seeds.jpg
Normal file
|
After Width: | Height: | Size: 192 KiB |
238
book/nameref.4ht
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
% nameref.4ht (2024-06-15-13:36), generated from tex4ht-4ht.tex
|
||||||
|
% Copyright 2005-2009 Eitan M. Gurari
|
||||||
|
% Copyright 2009-2024 TeX Users Group
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License, either
|
||||||
|
% version 1.3c of this license or (at your option) any
|
||||||
|
% later version. The latest version of this license is in
|
||||||
|
% http://www.latex-project.org/lppl.txt
|
||||||
|
% and version 1.3c or later is part of all distributions
|
||||||
|
% of LaTeX version 2005/12/01 or later.
|
||||||
|
%
|
||||||
|
% This work has the LPPL maintenance status "maintained".
|
||||||
|
%
|
||||||
|
% The Current Maintainer of this work
|
||||||
|
% is the TeX4ht Project <http://tug.org/tex4ht>.
|
||||||
|
%
|
||||||
|
% If you modify this program, changing the
|
||||||
|
% version identification would be appreciated.
|
||||||
|
\immediate\write-1{version 2024-06-15-13:36}
|
||||||
|
|
||||||
|
\let\NR:Type\relax
|
||||||
|
\let\ltx@label\label
|
||||||
|
\def\prf:label{{\ifx \NR:Title\:UnDef \a:newlabel{\@currentlabelname}\else \NR:Title\fi}%
|
||||||
|
{\ifx \NR:Type\relax \else \NR:Type .1\fi}{}}%
|
||||||
|
|
||||||
|
\append:defI\label{\let\NR:Title\undefined}
|
||||||
|
|
||||||
|
\let\NR:StartSec\:StartSec
|
||||||
|
\let\NR:no@sect\no@sect
|
||||||
|
\def\no@sect#1#2#3#4#5#6[#7]#8{\gdef\NR:Title{\a:newlabel{#7}}%
|
||||||
|
\gdef\NR:Type{#1}%
|
||||||
|
\NR:no@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}}
|
||||||
|
\def\:StartSec#1#2#3{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#3}}%
|
||||||
|
\gdef\NR:Type{#1}%
|
||||||
|
\NR:StartSec{#1}{#2}{#3}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\:tempc#1#2#3#4#5#6[#7]#8{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#7}}%
|
||||||
|
\gdef\NR:Type{#1}%
|
||||||
|
\o:NR@sect:{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}}
|
||||||
|
\HLet\NR@sect\:tempc
|
||||||
|
|
||||||
|
\def\:tempc#1#2#3#4#5{%
|
||||||
|
\gdef\NR:Title{\a:newlabel\ssect:ttl}%
|
||||||
|
\gdef\NR:Type{#1}%
|
||||||
|
\o:NR@ssect:{#1}{#2}{#3}{#4}{#5}%
|
||||||
|
}
|
||||||
|
\HLet\NR@ssect\:tempc
|
||||||
|
|
||||||
|
\def\:tempc[#1]#2{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1}}%
|
||||||
|
\gdef\NR:Type{part}%
|
||||||
|
\o:no@part:[{#1}]{#2}}
|
||||||
|
|
||||||
|
% this definition clashes with asmart and amsproc classes, so we
|
||||||
|
% need to skip if these are active
|
||||||
|
\@ifundefined{opt@amsart.cls}{%
|
||||||
|
\@ifundefined{opt@amsproc.cls}{%
|
||||||
|
\HLet\no@part\:tempc
|
||||||
|
}{}}{}
|
||||||
|
|
||||||
|
|
||||||
|
\def\:tempc#1{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1}}%
|
||||||
|
\gdef\NR:Type{part}%
|
||||||
|
\o:no@spart:{#1}}
|
||||||
|
\HLet\no@spart\:tempc
|
||||||
|
|
||||||
|
\def\:tempc[#1]#2{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1}}%
|
||||||
|
\gdef\NR:Type{chapter}%
|
||||||
|
\o:NR@chapter:[{#1}]{#2}}
|
||||||
|
\HLet\NR@chapter\:tempc
|
||||||
|
|
||||||
|
\def\:tempc#1{%
|
||||||
|
\gdef\NR:Title{\a:newlabel\sch:ttl}%
|
||||||
|
\o:NR@schapter:{#1}%
|
||||||
|
\gdef\NR:Type{chapter}%
|
||||||
|
}
|
||||||
|
\HLet\NR@schapter\:tempc
|
||||||
|
|
||||||
|
\let\o:NR@@caption\@caption
|
||||||
|
|
||||||
|
\ifdefined\scr@makechapterhead
|
||||||
|
% fixes for Komascript
|
||||||
|
\def\:tempa[#1]#2{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1}}%
|
||||||
|
\gdef\NR:Type{chapter}%
|
||||||
|
\o:@chapter:[#1]{#2}%
|
||||||
|
}
|
||||||
|
\HLet\@chapter\:tempa
|
||||||
|
|
||||||
|
\def\:tempa#1{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1}}%
|
||||||
|
\gdef\NR:Type{chapter}%
|
||||||
|
\o:@schapter:{#1}%
|
||||||
|
}
|
||||||
|
\HLet\@schapter\:tempa
|
||||||
|
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Keith Andrews <kandrews@iicm.edu> reported that \@captype as
|
||||||
|
% \NR:Type threw an undefined control sequence error. I think
|
||||||
|
% \@currenvir is safe, there is nothing special about \@captype.
|
||||||
|
%
|
||||||
|
% use of \index and \label inside caption results in a fatal error
|
||||||
|
% we need to disable them in \NR:Title
|
||||||
|
|
||||||
|
% there can be more problematic commands, so we provide a configuration
|
||||||
|
% that can be used multiple times - the default value fixes known commands
|
||||||
|
% but a user can add more of them
|
||||||
|
|
||||||
|
\def\a:captioncommandsfix{}
|
||||||
|
\NewConfigure{CaptionCommandsFix}[1]{\concat:config\a:captioncommandsfix{#1}}
|
||||||
|
\Configure{CaptionCommandsFix}{
|
||||||
|
\let\index\:gobble%
|
||||||
|
\let\label\:gobble%
|
||||||
|
\let\\\relax% causes issues when \centering is active
|
||||||
|
}
|
||||||
|
|
||||||
|
\long\def\@caption#1[#2]{%
|
||||||
|
\gdef\NR:Type{\@currenvir}%
|
||||||
|
\begingroup%
|
||||||
|
\a:captioncommandsfix
|
||||||
|
\protected@xdef\NR:Title{\a:newlabel{#2}}%
|
||||||
|
\endgroup%
|
||||||
|
\o:NR@@caption{#1}[{#2}]%
|
||||||
|
}
|
||||||
|
|
||||||
|
\let\o:NRorg@opargbegintheorem\@opargbegintheorem
|
||||||
|
\def\@opargbegintheorem#1#2#3{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#3}}%
|
||||||
|
\gdef\NR:Type{\@currenvir}%
|
||||||
|
\NR@gettitle{#3}%
|
||||||
|
\defineautorefname{\@currenvir}{#1}%
|
||||||
|
\o:NRorg@opargbegintheorem{#1}{#2}{#3}%
|
||||||
|
}%
|
||||||
|
|
||||||
|
\let\o:NRorg@begintheorem\@begintheorem
|
||||||
|
\def\@begintheorem#1#2{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{#1 #2}}%
|
||||||
|
\gdef\NR:Type{\@currenvir}%
|
||||||
|
\defineautorefname{\@currenvir}{#1}%
|
||||||
|
\NR@gettitle{}%
|
||||||
|
\o:NRorg@begintheorem{#1}{#2}%
|
||||||
|
}%
|
||||||
|
|
||||||
|
% I don't know if this was useful for anything
|
||||||
|
% but we cannot use it anymore
|
||||||
|
% \AtBeginDocument{%
|
||||||
|
\@ifpackageloaded{listings}{%
|
||||||
|
\def\:tempc#1{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{listing}}%
|
||||||
|
\gdef\NR:Type{lstlisting}%
|
||||||
|
\o:NROrg@lst@MakeCaption:{#1}%
|
||||||
|
\gdef\@currentlabelname{listing}}
|
||||||
|
\HLet\NROrg@lst@MakeCaption\:tempc
|
||||||
|
}{}%
|
||||||
|
% bug [348]
|
||||||
|
\def\:tempams{%
|
||||||
|
\gdef\NR:Title{\a:newlabel{equation}}%
|
||||||
|
\gdef\NR:Type{equation}%
|
||||||
|
\gdef\@currentlabelname{equation}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% https://tex.stackexchange.com/a/581856/2891
|
||||||
|
\@ifpackageloaded{caption}{
|
||||||
|
\pend:defIII\caption@beginex{%
|
||||||
|
\gdef\NR:Type{\@currenvir}%
|
||||||
|
% handle \label and \index in Caption's package
|
||||||
|
% version of \caption
|
||||||
|
\begingroup%
|
||||||
|
\a:captioncommandsfix
|
||||||
|
\protected@xdef\NR:Title{\a:newlabel{##2}}%
|
||||||
|
\endgroup%
|
||||||
|
}
|
||||||
|
}{}
|
||||||
|
|
||||||
|
|
||||||
|
\@ifpackageloaded{amsmath}{%
|
||||||
|
\Configure{@begin}{align}{\:tempams}
|
||||||
|
\Configure{@begin}{multline}{\:tempams}
|
||||||
|
\Configure{@begin}{equation}{\:tempams}
|
||||||
|
\Configure{@begin}{boxed}{\:tempams}
|
||||||
|
\Configure{@begin}{equations}{\:tempams}
|
||||||
|
\Configure{@begin}{equation}{\:tempams}
|
||||||
|
\Configure{@begin}{gather*}{\:tempams}
|
||||||
|
\Configure{@begin}{gather}{\:tempams}
|
||||||
|
\Configure{@begin}{genfrac}{\:tempams}
|
||||||
|
\Configure{@begin}{measure@}{\:tempams}
|
||||||
|
\Configure{@begin}{multline*}{\:tempams}
|
||||||
|
\Configure{@begin}{multline}{\:tempams}
|
||||||
|
\Configure{@begin}{overset}{\:tempams}
|
||||||
|
\Configure{@begin}{smallmatrix}{\:tempams}
|
||||||
|
\Configure{@begin}{split}{\:tempams}
|
||||||
|
\Configure{@begin}{subarray}{\:tempams}
|
||||||
|
\Configure{@begin}{substack}{\:tempams}
|
||||||
|
\Configure{@begin}{underset}{\:tempams}
|
||||||
|
\Configure{@begin}{xleftarrow}{\:tempams}
|
||||||
|
\Configure{@begin}{xrightarrow}{\:tempams}
|
||||||
|
}{
|
||||||
|
\Configure{@begin}{equation}{\:tempams}
|
||||||
|
}
|
||||||
|
|
||||||
|
\let\T:ref=\::ref
|
||||||
|
\def\::ref{\@ifstar{\protect\T@ref}{\protect\T@ref}}
|
||||||
|
\def\T@ref#1{%
|
||||||
|
\@safe@activestrue%
|
||||||
|
\let\::ref\T:ref%
|
||||||
|
\expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
|
||||||
|
\def\::ref{\@ifstar{\protect\T@ref}{\protect\T@ref}}%
|
||||||
|
\@safe@activesfalse%
|
||||||
|
}
|
||||||
|
|
||||||
|
\gdef\defineautorefname#1#2{%
|
||||||
|
\expandafter\gdef\csname #1autorefname\endcsname{#2}}
|
||||||
|
\defineautorefname{theorem}{Theorem}
|
||||||
|
|
||||||
|
\Configure{newlabel}
|
||||||
|
{\csname cur:th\endcsname \csname :currentlabel\endcsname}
|
||||||
|
{\string\csname\space :autoref\string\endcsname
|
||||||
|
{\NR:Type}#1}
|
||||||
|
|
||||||
|
\ifx \@currentlabelname\:UnDef
|
||||||
|
\let\@currentlabelname\empty
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\pend:defIII\@setref{\edef\RefArg{##3}}
|
||||||
|
\append:defIII\@setref{\let\:autoref\:gobble}
|
||||||
|
\let\:autoref\:gobble
|
||||||
|
|
||||||
|
|
||||||
|
\Hinput{nameref}
|
||||||
|
\endinput
|
||||||
@@ -1,13 +1,37 @@
|
|||||||
|
\chapter{Non wheat sourdough}%
|
||||||
|
\label{ch:non-wheat-sourdough}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter you will learn how to make a basic sourdough bread
|
In this chapter you will learn how to make a basic sourdough bread
|
||||||
using non-wheat flour. This includes all flour except spelt.
|
using non-wheat flour, basically all flour except spelt.
|
||||||
The key difference between wheat and non-wheat flour is
|
The key difference between wheat and non-wheat flour is
|
||||||
the quantity of gluten. Wheat and spelt feature a high amount
|
the quantity of gluten, the former feature a high amount
|
||||||
of gluten. The non-wheat flours do not. In the case of rye flour,
|
of gluten, while the non-wheat flours do not.
|
||||||
sugars called pentosans prevent gluten bonds from properly
|
|
||||||
forming~\cite{rye+pentosans}.
|
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
|
The whole process (see Flowchart~\ref{flc:non-wheat-sourdough}) is a lot
|
||||||
|
easier: you mix the ingredients and wait for a certain period until the dough
|
||||||
|
has reached the level of acidity that you like. Afterward, you shape the
|
||||||
|
dough or pour it into a loaf pan. After a short proofing period, the bread can
|
||||||
|
be baked. Due to the lack of gluten development, the final bread will feature
|
||||||
|
a denser crumb compared to wheat, as you can see in
|
||||||
|
Picture~\ref{fig:rye-crumb}.
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-non-wheat-process.tex}
|
||||||
|
\caption[Process for non-wheat sourdough bread]{A visualization of the
|
||||||
|
process to make non-wheat sourdough bread. The process is much simpler
|
||||||
|
than making wheat sourdough bread. There is no gluten development. The
|
||||||
|
ingredients are simply mixed together.}%
|
||||||
|
\label{flc:non-wheat-sourdough}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
For non-wheat flours---including rye, emmer, and einkorn---no gluten
|
||||||
|
development has to be done, meaning there is no kneading, no
|
||||||
|
over-fermentation, and no issues with making flat bread. In the case of rye
|
||||||
|
flour, sugars called pentosans prevent gluten bonds from properly
|
||||||
|
forming~\cite{rye+pentosans}.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{final-bread}
|
\includegraphics[width=\textwidth]{final-bread}
|
||||||
\caption[Sourdough rye bread]{A sourdough rye bread made using a loaf pan.
|
\caption[Sourdough rye bread]{A sourdough rye bread made using a loaf pan.
|
||||||
@@ -16,49 +40,28 @@ forming~\cite{rye+pentosans}.
|
|||||||
\label{fig:non-wheat-final-bread}
|
\label{fig:non-wheat-final-bread}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
For these flours including rye, emmer, and einkorn, no gluten
|
|
||||||
development has to be done. This means there is no kneading,
|
|
||||||
no over-fermentation, and no issues with making flat bread.
|
|
||||||
The whole process
|
|
||||||
is a lot easier. You mix the ingredients and
|
|
||||||
wait for a certain period until the dough has
|
|
||||||
reached the level of acidity that you like. Afterward, you
|
|
||||||
shape the dough or pour it into a loaf pan. After a short proofing
|
|
||||||
period, the bread can be baked. Due to the lack
|
|
||||||
of gluten development, the final bread will feature a denser
|
|
||||||
crumb compared to wheat.
|
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
|
||||||
\begin{center}
|
|
||||||
\input{figures/fig-non-wheat-process.tex}
|
|
||||||
\caption[Process for non-wheat sourdough bread]{A visualization of the
|
|
||||||
process to make non-wheat sourdough bread. The process is much simpler
|
|
||||||
than making wheat sourdough bread. There is no gluten development. The
|
|
||||||
ingredients are simply mixed together.}%
|
|
||||||
\label{fig:non-wheat-sourdough}
|
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
|
||||||
|
|
||||||
This chapter will focus on making rye bread. The flour could
|
This chapter will focus on making rye bread. The flour could
|
||||||
be replaced with einkorn or emmer based on your preference.
|
be replaced with einkorn or emmer based on your preference.
|
||||||
|
|
||||||
The following recipe will make you 2 loaves:
|
The following recipe will make you 2 loaves:
|
||||||
\begin{itemize}
|
|
||||||
\item \qty{1000}{\gram} of whole rye flour
|
\begin{tabular}{r@{}rl@{}}
|
||||||
\item \qty{800}{\gram} of room temperature water (\qty{80}{\percent})
|
\qty{1000}{\gram} &~(\qty{100}{\percent}) & Whole rye flour\\
|
||||||
\item \qty{200}{\gram} of sourdough starter (\qty{20}{\percent})
|
\qty{800}{\gram} & (\qty{80}{\percent}) & Water at room temperature\\
|
||||||
\item \qty{20}{\gram} of salt (\qty{2}{\percent})
|
\qty{200}{\gram} & (\qty{20}{\percent}) & Sourdough starter\\
|
||||||
\end{itemize}
|
\qty{20}{\gram} & (\qty{2}{\percent}) & Salt\\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
The sourdough starter can be in an active or inactive state. If it has been
|
The sourdough starter can be in an active or inactive state. If it has been
|
||||||
at room temperature for a week with no feedings then it will be okay, or
|
at room temperature for a week with no feedings then it will be okay, same
|
||||||
if it has come right out of the fridge then still it will be no problem.
|
if it has come right out of the fridge then still it will be no problem.
|
||||||
The dough is very forgiving.
|
The dough is very forgiving.
|
||||||
|
|
||||||
If you follow the suggested dough from the recipe you are making a relatively
|
If you follow the suggested quantities from the recipe you are making a
|
||||||
wet rye dough. It's so wet that it can only be made using a loaf pan. If
|
relatively wet rye dough. It's so wet that it can only be made using a loaf
|
||||||
you want to make a freestanding rye bread, consider reducing the hydration
|
pan. If you want to make a freestanding rye bread, consider reducing the
|
||||||
to around \qty{60}{\percent}.
|
hydration to around~\qty{60}{\percent}.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{ingredients}
|
\includegraphics[width=\textwidth]{ingredients}
|
||||||
@@ -68,12 +71,11 @@ to around \qty{60}{\percent}.
|
|||||||
\label{fig:non-wheat-ingredients}
|
\label{fig:non-wheat-ingredients}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Mix together all the ingredients with your hands. You can also
|
Mix together all the ingredients with your hands, or opt for a spatula to
|
||||||
opt for a spatula to simplify things. Rye flour itself is very
|
simplify things. Rye flour itself is very sticky and unpleasant to mix by
|
||||||
sticky and unpleasant to mix by hand. The dough will stick
|
hand, the dough will stick a lot to your hands. If you use a stiff starter, it
|
||||||
a lot to your hands. If you use a stiff starter, it can be
|
could be easier to first dissolve it in the dough's water, then add the other
|
||||||
easier to dissolve it in the dough's water. Once dissolved,
|
ingredients.
|
||||||
add the other ingredients.
|
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sticky-hands}
|
\includegraphics[width=\textwidth]{sticky-hands}
|
||||||
@@ -84,7 +86,7 @@ add the other ingredients.
|
|||||||
\label{fig:non-wheat-sticky-hands}
|
\label{fig:non-wheat-sticky-hands}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The goal of the mixing process is to homogenize the dough. There
|
The goal of the mixing process is simply to homogenize the dough, there
|
||||||
is no need to develop any dough strength. Once you see that
|
is no need to develop any dough strength. Once you see that
|
||||||
your sourdough starter has been properly incorporated, your
|
your sourdough starter has been properly incorporated, your
|
||||||
dough is ready to begin bulk fermentation.
|
dough is ready to begin bulk fermentation.
|
||||||
@@ -97,21 +99,11 @@ most of the nutrients have been eaten by your microorganisms.
|
|||||||
You could let your dough sit for longer, but it wouldn't alter the
|
You could let your dough sit for longer, but it wouldn't alter the
|
||||||
final flavor profile by much.
|
final flavor profile by much.
|
||||||
|
|
||||||
I~recommend waiting until the dough has roughly increased by~\qty{50}{\percent}
|
I~recommend waiting until the dough has roughly increased
|
||||||
in size. If you are daring, you can taste the dough
|
by~\qty{50}{\percent} in size. If you are daring, you can taste the dough to
|
||||||
to get an idea of the acidity profile. The dough will likely
|
get an idea of the acidity profile, it will likely taste very sour. However, a
|
||||||
taste very sour. However, a lot of the acid will evaporate
|
lot of the acid will evaporate during the baking process, therefore the final
|
||||||
during the baking process. So the final loaf will not be
|
loaf will not be as sour as the dough you are tasting.
|
||||||
as sour as the dough you are tasting.
|
|
||||||
|
|
||||||
Once you are happy with the acidity level, proceed to dividing
|
|
||||||
and shaping your dough. Shaping might not be possible if you opt
|
|
||||||
for the wetter dough. If you made a drier dough, use as much
|
|
||||||
flour as needed to dry the dough a little bit and form a dough ball.
|
|
||||||
There is no folding the dough. All you do is tuck it together
|
|
||||||
as much as is needed to apply the shape of your banneton.
|
|
||||||
For the wetter dough, use a spatula and pour as much dough as
|
|
||||||
needed into your greased loaf pan.
|
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{crumb}
|
\includegraphics[width=\textwidth]{crumb}
|
||||||
@@ -124,40 +116,45 @@ needed into your greased loaf pan.
|
|||||||
\label{fig:rye-crumb}
|
\label{fig:rye-crumb}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Carefully spread the dough with a spatula in your loaf pan. You
|
Once you are happy with the acidity level, proceed to dividing
|
||||||
can wet the spatula to make this process easier. Spread it
|
and shaping your dough. If you made a drier dough, use as much
|
||||||
until the surface looks smooth and shiny.
|
flour as needed to dry the dough a little bit and form a dough ball.
|
||||||
|
There is no folding the dough. All you do is tuck it together
|
||||||
|
as much as is needed to apply the shape of your banneton.
|
||||||
|
|
||||||
|
Shaping might not be possible if you opt for the wetter dough. Carefully spread
|
||||||
|
the dough with a spatula in your greased loaf pan, wetting the spatula to make
|
||||||
|
this process easier. Spread it until the surface looks smooth and shiny.
|
||||||
|
|
||||||
For proofing, I~recommend waiting around 60~minutes. An extended
|
For proofing, I~recommend waiting around 60~minutes. An extended
|
||||||
proofing period does not make sense unless you want to further
|
proofing period does not make sense unless you want to further
|
||||||
increase the dough's acidity. The dough will not become fluffier
|
increase the dough's acidity. The dough will not become fluffier
|
||||||
the longer you proof. With the short proofing period, however,
|
the longer you proof. With the short proofing period, however,
|
||||||
the dough will become a bit more homogenous. This way the final
|
the dough will become a bit more homogeneous. This way the final
|
||||||
bread looks more uniform. The proofing period also allows the
|
bread looks more uniform. The proofing period also allows the
|
||||||
dough to fully extend and fill the edges of the loaf pan. I~also
|
dough to fully extend and fill the edges of the loaf pan. I~also
|
||||||
like to move the dough to the fridge for proofing. The dough stays
|
like to move the dough to the fridge for proofing. The dough stays
|
||||||
good in the fridge for weeks. You can proceed and bake it at a
|
good in the fridge for weeks. You can proceed and bake it at a
|
||||||
convenient time for you.
|
convenient time for you.
|
||||||
|
|
||||||
Once you are happy with the proofing stage, proceed and bake your dough
|
Once you are happy with the proofing stage, proceed and bake your dough
|
||||||
just like you'd normally do. For more details please refer to
|
just like you'd normally do, more details can be found in
|
||||||
Chapter~\ref{chapter:baking}. One challenging aspect
|
Chapter~\ref{ch:baking}. One challenging aspect
|
||||||
of using a loaf pan is to make sure that the center part of your
|
of using a loaf pan is to make sure that the center part of your
|
||||||
dough is properly cooked. For this reason, it is best to use a thermometer
|
dough is properly cooked. For this reason, it is best to use a thermometer
|
||||||
and measure the internal temperature. The bread is
|
and measure the internal temperature. The bread is ready once the internal
|
||||||
ready once the internal temperature reaches \qty{92}{\degreeCelsius} (\qty{197}{\degF}). I~recommend
|
temperature reaches \qty{92}{\degreeCelsius} (\qty{197}{\degF}). I~recommend
|
||||||
removing the bread from the loaf pan once it reaches the desired
|
removing the bread from the loaf pan once it reaches the desired temperature,
|
||||||
temperature. Then you can continue baking the loaf without the pan and
|
then continue baking the loaf without the pan and steam. This way you achieve
|
||||||
steam. This way you achieve a great crust all around your
|
a great crust all around your loaf, and can bake as long as you like until you
|
||||||
loaf. You can bake as long as you like until you have achieved
|
have achieved your crust color of choice. The darker, the more crunchy
|
||||||
your crust color of choice. The darker, the more crunchy
|
the crust and the more flavor it offers. If you feel your dough might have
|
||||||
the crust and the more flavor it offers. If you feel your
|
been overly acidic you can extend the baking time, as the longer you bake, the
|
||||||
dough might have been overly acidic, you can extend the baking time.
|
more acidity will evaporate.
|
||||||
The longer you bake, the more acidity will evaporate.
|
|
||||||
|
|
||||||
This is one of my favorite breads to bake which I~eat on an
|
This is one of my favorite breads to bake which I~eat on an
|
||||||
almost daily basis. The effort required to make bread like
|
almost daily basis. The effort required to make bread like
|
||||||
this is much lower compared to a wheat-based dough. In some
|
this is much lower compared to a wheat-based dough. In some
|
||||||
cases, I~extend the recipe and add additional sourdough discard
|
cases, I~extend the recipe and add additional sourdough discard
|
||||||
to the dough. You can add as much discard as you like. The resulting
|
to the dough. You can add as much discard as you like. The resulting
|
||||||
bread has a very complex but delicious flavor profile.
|
bread will have a very complex but delicious flavor profile.
|
||||||
|
|||||||
75
book/pgfsys-dvisvgm4ht.def
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
% Copyright 2021-2024 by Michal Hoftich
|
||||||
|
% Copyright 2006 by Till Tantau
|
||||||
|
%
|
||||||
|
% This file may be distributed and/or modified
|
||||||
|
%
|
||||||
|
% 1. under the LaTeX Project Public License and/or
|
||||||
|
% 2. under the GNU Public License.
|
||||||
|
%
|
||||||
|
% See the file doc/generic/pgf/licenses/LICENSE for more details.
|
||||||
|
|
||||||
|
\ProvidesFileRCS{pgfsys-dvisvgm4ht.def}
|
||||||
|
|
||||||
|
% Driver commands for tex4ht
|
||||||
|
|
||||||
|
%
|
||||||
|
% Load common pdf commands:
|
||||||
|
%
|
||||||
|
|
||||||
|
% we switched to dvisvgm driver by default. it supports patterns and other features
|
||||||
|
% dvips driver is available through the tikz+ option. It doesn't support everything,
|
||||||
|
% but it worked better with nested pictures in the past.
|
||||||
|
\ifdefined\ifOption
|
||||||
|
\ifOption{tikz+}{\input pgfsys-dvips.def}{\input pgfsys-dvisvgm.def}
|
||||||
|
\else
|
||||||
|
% load the dvips driver by default
|
||||||
|
\input pgfsys-dvisvgm.def
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
\catcode`\:=11%
|
||||||
|
|
||||||
|
% we must call most of these redefinitions in \AtBeginDocument, because \HLet is available
|
||||||
|
% only at that moment
|
||||||
|
\AtBeginDocument{%
|
||||||
|
% configure the output picture format to svg, as it will require dvisvgm
|
||||||
|
% post processing.
|
||||||
|
\Configure{Picture}{.svg}%
|
||||||
|
|
||||||
|
% insert picture hooks to pgfsys commands
|
||||||
|
% these redefinitions are usually called only with the \tikz command,
|
||||||
|
% they are ignored in tikzpicture environment
|
||||||
|
\def\:tempa#1{%
|
||||||
|
\texfourht@tikz@begin%
|
||||||
|
\csname o:pgfsys@typesetpicturebox:\endcsname{#1}
|
||||||
|
\texfourht@tikz@end%
|
||||||
|
}
|
||||||
|
\HLet\pgfsys@typesetpicturebox\:tempa
|
||||||
|
|
||||||
|
% we must remove Picture-alt in \pgfsys@beginpicture, because it can result in alt text included in the image
|
||||||
|
\def\:tempa{\Configure{Picture-alt}{}\texfourht@tikz@begin\o:pgfsys@beginpicture:}
|
||||||
|
\HLet\pgfsys@beginpicture\:tempa
|
||||||
|
\let\o:pgfsys@endpicture:\pgfsys@endpicture
|
||||||
|
\def\:tempa{\o:pgfsys@endpicture:}
|
||||||
|
\HLet\pgfsys@endpicture\:tempa
|
||||||
|
|
||||||
|
% start picture around TikZ and PGF environments
|
||||||
|
\ConfigureEnv{tikzpicture}{\begingroup\texfourht@tikz@begin}{\texfourht@tikz@end\endgroup}{}{}%
|
||||||
|
\ConfigureEnv{pgfpicture}{\begingroup\texfourht@tikz@begin}{\texfourht@tikz@end\endgroup}{}{}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\texfourht@tikz@begin{
|
||||||
|
\protect\csname nested:math\endcsname% support display math
|
||||||
|
\Picture*[\csname a:Picture-alt\endcsname]{}%
|
||||||
|
}
|
||||||
|
\def\texfourht@tikz@end{\EndPicture}
|
||||||
|
|
||||||
|
\catcode`\:=12%
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%%% Local Variables:
|
||||||
|
%%% mode: latex
|
||||||
|
%%% End:
|
||||||
30
book/plots/fig-temperature-ambient.tex
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{every node}+=[font=\normalsize\rmfamily]
|
||||||
|
\begin{axis}[
|
||||||
|
title=Ambient temperature,
|
||||||
|
grid=both,
|
||||||
|
major grid style={line width=.2pt,draw=gray!30},
|
||||||
|
axis x line=middle,
|
||||||
|
axis y line=middle,
|
||||||
|
axis line style={-Latex},
|
||||||
|
width=\textwidth,
|
||||||
|
height=0.5\textwidth,
|
||||||
|
xmax=35, xmin=-0.1,
|
||||||
|
ymax=205, ymin=-0.1,
|
||||||
|
every axis y label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},rotate=90,anchor=near ticklabel},
|
||||||
|
every axis x label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},anchor=near ticklabel},
|
||||||
|
legend pos = south east,
|
||||||
|
legend style={draw=none},
|
||||||
|
legend cell align={left},
|
||||||
|
xlabel=Duration (minutes), ylabel=Temperature (\SI{}{\degree} C)
|
||||||
|
]
|
||||||
|
\addplot [color=redpic,smooth,ultra thick] table {plots/icecube_ambient.table};
|
||||||
|
\addplot [color=codeblack,smooth,ultra thick] table {plots/preheated_ambient.table};
|
||||||
|
\addplot [color=codeblue,smooth,ultra thick] table {plots/non-preheated_ambient.table};
|
||||||
|
\addplot [color=yellowpic,smooth,ultra thick] table {plots/preheated_bottom_ambient.table};
|
||||||
|
\addplot [color=pinkpic,smooth,ultra thick] table {plots/spritzing_ambient.table};
|
||||||
|
\legend{Ice cube, Preheated, Non-preheated, Preheated bottom, Spritzing};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
30
book/plots/fig-temperature-surface.tex
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{every node}+=[font=\normalsize\rmfamily]
|
||||||
|
\begin{axis}[
|
||||||
|
title=Surface temperature,
|
||||||
|
grid=both,
|
||||||
|
major grid style={line width=.2pt,draw=gray!30},
|
||||||
|
axis x line=middle,
|
||||||
|
axis y line=middle,
|
||||||
|
axis line style={-Latex},
|
||||||
|
width=\textwidth,
|
||||||
|
height=0.5\textwidth,
|
||||||
|
xmax=35, xmin=-0.1,
|
||||||
|
ymax=108, ymin=-0.1,
|
||||||
|
every axis y label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},rotate=90,anchor=near ticklabel},
|
||||||
|
every axis x label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},anchor=near ticklabel},
|
||||||
|
legend pos = south east,
|
||||||
|
legend style={draw=none},
|
||||||
|
legend cell align={left},
|
||||||
|
xlabel=Duration (minutes), ylabel=Temperature (\SI{}{\degree} C)
|
||||||
|
]
|
||||||
|
\addplot [color=redpic,smooth,ultra thick] table {plots/icecube_surface.table};
|
||||||
|
\addplot [color=codeblack,smooth,ultra thick] table {plots/preheated_surface.table};
|
||||||
|
\addplot [color=codeblue,smooth,ultra thick] table {plots/non-preheated_surface.table};
|
||||||
|
\addplot [color=yellowpic,smooth,ultra thick] table {plots/preheated_bottom_surface.table};
|
||||||
|
\addplot [color=pinkpic,smooth,ultra thick] table {plots/spritzing_surface.table};
|
||||||
|
\legend{Ice cube, Preheated, Non-preheated, Preheated bottom, Spritzing};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
43
book/plots/fig-yeast-sourdough-strength.tex
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{every node}+=[font=\normalsize\rmfamily]
|
||||||
|
\begin{axis}[
|
||||||
|
title style={align=center},
|
||||||
|
title={Gluten development of a sourdough and yeast based dough\\
|
||||||
|
\qty{22}{\degreeCelsius} (\qty{72}{\degF}) and
|
||||||
|
\qty{60}{\percent}~hydration},
|
||||||
|
axis x line=middle,
|
||||||
|
axis y line=middle,
|
||||||
|
axis line style={-Latex},
|
||||||
|
width=\textwidth,
|
||||||
|
height=0.5\textwidth,
|
||||||
|
xmax=44, xmin=-0.1,
|
||||||
|
ymax=12, ymin=-0.1,
|
||||||
|
every axis y label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},rotate=90,anchor=near ticklabel},
|
||||||
|
every axis x label/.style={%
|
||||||
|
at={(ticklabel cs:0.5)},anchor=near ticklabel},
|
||||||
|
xtick distance=6,
|
||||||
|
ytick style={draw=none},
|
||||||
|
yticklabels={empty},
|
||||||
|
legend style={draw=none},
|
||||||
|
legend cell align={left},
|
||||||
|
xlabel=Duration (hours), ylabel=Dough strength
|
||||||
|
]
|
||||||
|
\addplot [color=redpic,smooth,ultra thick] table {plots/yeast.table};
|
||||||
|
\addplot [color=codeblue,smooth,ultra thick] table {plots/sourdough.table};
|
||||||
|
|
||||||
|
\node at (axis cs:18,7) [anchor=south west] {%
|
||||||
|
\begin{tabular}{@{}lll@{}} \textbf{Dough type}&
|
||||||
|
\textbf{Kneading} & \textbf{Stretch \& Fold}\\
|
||||||
|
\midrule
|
||||||
|
\textcolor{redpic}{Yeast} & \textcolor{redpic}{None}&
|
||||||
|
\textcolor{redpic}{None} \\ \textcolor{codeblue}{Sourdough}&
|
||||||
|
\textcolor{codeblue}{None} & \textcolor{codeblue}{None} \\
|
||||||
|
\end{tabular}
|
||||||
|
};
|
||||||
|
\node at (axis cs:8,8.3) [anchor=south] {Peak stage};
|
||||||
|
\node at (axis cs:1,1) [anchor=west] {Development stage};
|
||||||
|
\node at (axis cs:9.5,5) [anchor=west] {Extensibility stage};
|
||||||
|
\node at (axis cs:25.8,4) [anchor=west] {Decay stage};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
24
book/plots/icecube_ambient.table
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#Ice Cube
|
||||||
|
#Time Ambient
|
||||||
|
1 95
|
||||||
|
2 148
|
||||||
|
3 165
|
||||||
|
4 172
|
||||||
|
5 175
|
||||||
|
6 179
|
||||||
|
7 179
|
||||||
|
8 180
|
||||||
|
9 181
|
||||||
|
10 182
|
||||||
|
11 182
|
||||||
|
12 182
|
||||||
|
13 182
|
||||||
|
14 181
|
||||||
|
15 182
|
||||||
|
16 182
|
||||||
|
17 181
|
||||||
|
18 182
|
||||||
|
19 182
|
||||||
|
20 181
|
||||||
|
21 182
|
||||||
|
22 182
|
||||||
24
book/plots/icecube_surface.table
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#Ice Cube
|
||||||
|
#Time Surface
|
||||||
|
1 13
|
||||||
|
2 50
|
||||||
|
3 66
|
||||||
|
4 71
|
||||||
|
5 72
|
||||||
|
6 74
|
||||||
|
7 78
|
||||||
|
8 81
|
||||||
|
9 84
|
||||||
|
10 86
|
||||||
|
11 89
|
||||||
|
12 91
|
||||||
|
13 92
|
||||||
|
14 94
|
||||||
|
15 95
|
||||||
|
16 96
|
||||||
|
17 97
|
||||||
|
18 98
|
||||||
|
19 98
|
||||||
|
20 99
|
||||||
|
21 99
|
||||||
|
22 99
|
||||||
28
book/plots/non-preheated_ambient.table
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#Non preheated
|
||||||
|
#Time Ambient
|
||||||
|
1 22
|
||||||
|
2 25
|
||||||
|
3 31
|
||||||
|
4 36
|
||||||
|
5 43
|
||||||
|
6 49
|
||||||
|
7 56
|
||||||
|
8 63
|
||||||
|
9 70
|
||||||
|
10 77
|
||||||
|
11 85
|
||||||
|
12 91
|
||||||
|
13 96
|
||||||
|
14 102
|
||||||
|
15 107
|
||||||
|
16 113
|
||||||
|
17 119
|
||||||
|
18 124
|
||||||
|
19 128
|
||||||
|
20 132
|
||||||
|
21 137
|
||||||
|
22 141
|
||||||
|
23 144
|
||||||
|
24 147
|
||||||
|
25 151
|
||||||
|
26 151
|
||||||
28
book/plots/non-preheated_surface.table
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#Non preheated
|
||||||
|
#Time Surface
|
||||||
|
1 13
|
||||||
|
2 14
|
||||||
|
3 15
|
||||||
|
4 15
|
||||||
|
5 17
|
||||||
|
6 18
|
||||||
|
7 19
|
||||||
|
8 21
|
||||||
|
9 23
|
||||||
|
10 26
|
||||||
|
11 28
|
||||||
|
12 31
|
||||||
|
13 34
|
||||||
|
14 37
|
||||||
|
15 40
|
||||||
|
16 43
|
||||||
|
17 47
|
||||||
|
18 50
|
||||||
|
19 53
|
||||||
|
20 57
|
||||||
|
21 61
|
||||||
|
22 65
|
||||||
|
23 68
|
||||||
|
24 71
|
||||||
|
25 74
|
||||||
|
26 75
|
||||||
18
book/plots/preheated_ambient.table
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#Pre-heated
|
||||||
|
#Time Ambient
|
||||||
|
1 110
|
||||||
|
2 163
|
||||||
|
3 181
|
||||||
|
4 186
|
||||||
|
5 189
|
||||||
|
6 190
|
||||||
|
7 190
|
||||||
|
8 189
|
||||||
|
9 189
|
||||||
|
10 188
|
||||||
|
11 188
|
||||||
|
12 188
|
||||||
|
13 189
|
||||||
|
14 189
|
||||||
|
15 190
|
||||||
|
|
||||||
37
book/plots/preheated_bottom_ambient.table
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#Preheated Bottom
|
||||||
|
#Time Ambient
|
||||||
|
1 31
|
||||||
|
2 105
|
||||||
|
3 133
|
||||||
|
4 143
|
||||||
|
5 149
|
||||||
|
6 151
|
||||||
|
7 152
|
||||||
|
8 152
|
||||||
|
9 153
|
||||||
|
10 154
|
||||||
|
11 157
|
||||||
|
12 159
|
||||||
|
13 161
|
||||||
|
14 162
|
||||||
|
15 164
|
||||||
|
16 167
|
||||||
|
17 169
|
||||||
|
18 171
|
||||||
|
19 172
|
||||||
|
20 173
|
||||||
|
21 174
|
||||||
|
22 176
|
||||||
|
23 176
|
||||||
|
24 176
|
||||||
|
25 176
|
||||||
|
26 176
|
||||||
|
27 176
|
||||||
|
28 176
|
||||||
|
29 176
|
||||||
|
30 176
|
||||||
|
31 176
|
||||||
|
32 176
|
||||||
|
33 176
|
||||||
|
34 176
|
||||||
|
35 176
|
||||||
36
book/plots/preheated_bottom_surface.table
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#Preheated bottom
|
||||||
|
#Time Surface
|
||||||
|
#1 0
|
||||||
|
2 7
|
||||||
|
3 13
|
||||||
|
4 18
|
||||||
|
5 23
|
||||||
|
6 29
|
||||||
|
7 33
|
||||||
|
8 38
|
||||||
|
9 42
|
||||||
|
10 47
|
||||||
|
11 51
|
||||||
|
12 55
|
||||||
|
13 60
|
||||||
|
14 64
|
||||||
|
15 68
|
||||||
|
16 71
|
||||||
|
17 74
|
||||||
|
18 78
|
||||||
|
19 83
|
||||||
|
20 90
|
||||||
|
21 95
|
||||||
|
22 97
|
||||||
|
23 99
|
||||||
|
24 99
|
||||||
|
25 99
|
||||||
|
26 100
|
||||||
|
27 100
|
||||||
|
28 100
|
||||||
|
29 100
|
||||||
|
30 100
|
||||||
|
31 100
|
||||||
|
32 100
|
||||||
|
33 100
|
||||||
|
34 101
|
||||||
17
book/plots/preheated_surface.table
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#Ice Cube
|
||||||
|
#Time Surface
|
||||||
|
1 7
|
||||||
|
2 16
|
||||||
|
3 25
|
||||||
|
4 35
|
||||||
|
5 43
|
||||||
|
6 51
|
||||||
|
7 58
|
||||||
|
8 65
|
||||||
|
9 70
|
||||||
|
10 74
|
||||||
|
11 78
|
||||||
|
12 82
|
||||||
|
13 85
|
||||||
|
14 85
|
||||||
|
15 85
|
||||||
100
book/plots/sourdough.table
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
0.000000000000000000e+00 0.000000000000000000e+00
|
||||||
|
2.424242424242424310e-01 4.240754653977794608e-01
|
||||||
|
4.848484848484848619e-01 8.471491777276901614e-01
|
||||||
|
7.272727272727272929e-01 1.268219383921863175e+00
|
||||||
|
9.696969696969697239e-01 1.686284330912430240e+00
|
||||||
|
1.212121212121212155e+00 2.100342265631521599e+00
|
||||||
|
1.454545454545454586e+00 2.509391435011269600e+00
|
||||||
|
1.696969696969697017e+00 2.912430085983805039e+00
|
||||||
|
1.939393939393939448e+00 3.308456465481258935e+00
|
||||||
|
2.181818181818181657e+00 3.696468820435762304e+00
|
||||||
|
2.424242424242424310e+00 4.075465397779447052e+00
|
||||||
|
2.666666666666666963e+00 4.444444444444444642e+00
|
||||||
|
2.909090909090909172e+00 4.802404207362885202e+00
|
||||||
|
3.151515151515151381e+00 5.148342933466899751e+00
|
||||||
|
3.393939393939394034e+00 5.481258869688621971e+00
|
||||||
|
3.636363636363636687e+00 5.800150262960180214e+00
|
||||||
|
3.878787878787878896e+00 6.104015360213707275e+00
|
||||||
|
4.121212121212121104e+00 6.391852408381334172e+00
|
||||||
|
4.363636363636363313e+00 6.662659654395191033e+00
|
||||||
|
4.606060606060606410e+00 6.915435345187411542e+00
|
||||||
|
4.848484848484848619e+00 7.149177727690124051e+00
|
||||||
|
5.090909090909090828e+00 7.362885048835461355e+00
|
||||||
|
5.333333333333333925e+00 7.555555555555555358e+00
|
||||||
|
5.575757575757576134e+00 7.726187494782536191e+00
|
||||||
|
5.818181818181818343e+00 7.873779113448534872e+00
|
||||||
|
6.060606060606060552e+00 7.997328658485683306e+00
|
||||||
|
6.303030303030302761e+00 8.095834376826111622e+00
|
||||||
|
6.545454545454545858e+00 8.168294515401953504e+00
|
||||||
|
6.787878787878788067e+00 8.213707321145337303e+00
|
||||||
|
7.030303030303030276e+00 8.231071040988396703e+00
|
||||||
|
7.272727272727273373e+00 8.219383921863260056e+00
|
||||||
|
7.515151515151515582e+00 8.177644210702062821e+00
|
||||||
|
7.757575757575757791e+00 8.104850154436931575e+00
|
||||||
|
8.000000000000000000e+00 8.000000000000000000e+00
|
||||||
|
8.242424242424242209e+00 7.878787878787878896e+00
|
||||||
|
8.484848484848484418e+00 7.757575757575757791e+00
|
||||||
|
8.727272727272726627e+00 7.636363636363636687e+00
|
||||||
|
8.969696969696970612e+00 7.515151515151514694e+00
|
||||||
|
9.212121212121212821e+00 7.393939393939393590e+00
|
||||||
|
9.454545454545455030e+00 7.272727272727272485e+00
|
||||||
|
9.696969696969697239e+00 7.151515151515151381e+00
|
||||||
|
9.939393939393939448e+00 7.030303030303030276e+00
|
||||||
|
1.018181818181818166e+01 6.909090909090909172e+00
|
||||||
|
1.042424242424242387e+01 6.787878787878788067e+00
|
||||||
|
1.066666666666666785e+01 6.666666666666666075e+00
|
||||||
|
1.090909090909091006e+01 6.545454545454544970e+00
|
||||||
|
1.115151515151515227e+01 6.424242424242423866e+00
|
||||||
|
1.139393939393939448e+01 6.303030303030302761e+00
|
||||||
|
1.163636363636363669e+01 6.181818181818181657e+00
|
||||||
|
1.187878787878787890e+01 6.060606060606060552e+00
|
||||||
|
1.212121212121212110e+01 5.939393939393939448e+00
|
||||||
|
1.236363636363636331e+01 5.818181818181818343e+00
|
||||||
|
1.260606060606060552e+01 5.696969696969697239e+00
|
||||||
|
1.284848484848484951e+01 5.575757575757575246e+00
|
||||||
|
1.309090909090909172e+01 5.454545454545454142e+00
|
||||||
|
1.333333333333333393e+01 5.333333333333333037e+00
|
||||||
|
1.357575757575757613e+01 5.212121212121211933e+00
|
||||||
|
1.381818181818181834e+01 5.090909090909090828e+00
|
||||||
|
1.406060606060606055e+01 4.969696969696969724e+00
|
||||||
|
1.430303030303030276e+01 4.848484848484848619e+00
|
||||||
|
1.454545454545454675e+01 4.727272727272726627e+00
|
||||||
|
1.478787878787878896e+01 4.606060606060605522e+00
|
||||||
|
1.503030303030303116e+01 4.484848484848484418e+00
|
||||||
|
1.527272727272727337e+01 4.363636363636363313e+00
|
||||||
|
1.551515151515151558e+01 4.242424242424242209e+00
|
||||||
|
1.575757575757575779e+01 4.121212121212121104e+00
|
||||||
|
1.600000000000000000e+01 4.000000000000000000e+00
|
||||||
|
1.624242424242424221e+01 3.878787878787878896e+00
|
||||||
|
1.648484848484848442e+01 3.757575757575757791e+00
|
||||||
|
1.672727272727272663e+01 3.636363636363636687e+00
|
||||||
|
1.696969696969696884e+01 3.515151515151515582e+00
|
||||||
|
1.721212121212121104e+01 3.393939393939394478e+00
|
||||||
|
1.745454545454545325e+01 3.272727272727273373e+00
|
||||||
|
1.769696969696969902e+01 3.151515151515150492e+00
|
||||||
|
1.793939393939394122e+01 3.030303030303029388e+00
|
||||||
|
1.818181818181818343e+01 2.909090909090908283e+00
|
||||||
|
1.842424242424242564e+01 2.787878787878787179e+00
|
||||||
|
1.866666666666666785e+01 2.666666666666666075e+00
|
||||||
|
1.890909090909091006e+01 2.545454545454544970e+00
|
||||||
|
1.915151515151515227e+01 2.424242424242423866e+00
|
||||||
|
1.939393939393939448e+01 2.303030303030302761e+00
|
||||||
|
1.963636363636363669e+01 2.181818181818181657e+00
|
||||||
|
1.987878787878787890e+01 2.060606060606060552e+00
|
||||||
|
2.012121212121212110e+01 1.939393939393939448e+00
|
||||||
|
2.036363636363636331e+01 1.818181818181818343e+00
|
||||||
|
2.060606060606060552e+01 1.696969696969697239e+00
|
||||||
|
2.084848484848484773e+01 1.575757575757576134e+00
|
||||||
|
2.109090909090908994e+01 1.454545454545455030e+00
|
||||||
|
2.133333333333333570e+01 1.333333333333332149e+00
|
||||||
|
2.157575757575757791e+01 1.212121212121211045e+00
|
||||||
|
2.181818181818182012e+01 1.090909090909089940e+00
|
||||||
|
2.206060606060606233e+01 9.696969696969688357e-01
|
||||||
|
2.230303030303030454e+01 8.484848484848477312e-01
|
||||||
|
2.254545454545454675e+01 7.272727272727266268e-01
|
||||||
|
2.278787878787878896e+01 6.060606060606055223e-01
|
||||||
|
2.303030303030303116e+01 4.848484848484844179e-01
|
||||||
|
2.327272727272727337e+01 3.636363636363633134e-01
|
||||||
|
2.351515151515151558e+01 2.424242424242422089e-01
|
||||||
|
2.375757575757575779e+01 1.212121212121211045e-01
|
||||||
|
2.400000000000000000e+01 0.000000000000000000e+00
|
||||||
37
book/plots/spritzing_ambient.table
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#Spritzing
|
||||||
|
#Time Ambient
|
||||||
|
1 31
|
||||||
|
2 135
|
||||||
|
3 168
|
||||||
|
4 182
|
||||||
|
5 189
|
||||||
|
6 190
|
||||||
|
7 190
|
||||||
|
8 190
|
||||||
|
9 190
|
||||||
|
10 189
|
||||||
|
11 190
|
||||||
|
12 190
|
||||||
|
13 189
|
||||||
|
14 190
|
||||||
|
15 190
|
||||||
|
16 190
|
||||||
|
17 189
|
||||||
|
18 190
|
||||||
|
19 190
|
||||||
|
20 190
|
||||||
|
21 190
|
||||||
|
22 190
|
||||||
|
23 189
|
||||||
|
24 190
|
||||||
|
25 190
|
||||||
|
26 190
|
||||||
|
27 190
|
||||||
|
28 190
|
||||||
|
29 190
|
||||||
|
30 189
|
||||||
|
31 190
|
||||||
|
32 190
|
||||||
|
33 190
|
||||||
|
34 190
|
||||||
|
35 190
|
||||||
38
book/plots/spritzing_surface.table
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#Spritzing
|
||||||
|
#Time Surface
|
||||||
|
1 6
|
||||||
|
2 13
|
||||||
|
3 29
|
||||||
|
4 40
|
||||||
|
5 47
|
||||||
|
6 54
|
||||||
|
7 60
|
||||||
|
8 65
|
||||||
|
9 70
|
||||||
|
10 74
|
||||||
|
11 78
|
||||||
|
12 82
|
||||||
|
13 85
|
||||||
|
14 88
|
||||||
|
15 91
|
||||||
|
16 94
|
||||||
|
17 96
|
||||||
|
18 97
|
||||||
|
19 98
|
||||||
|
20 99
|
||||||
|
21 99
|
||||||
|
22 99
|
||||||
|
23 99
|
||||||
|
24 99
|
||||||
|
25 99
|
||||||
|
26 99
|
||||||
|
27 99
|
||||||
|
28 100
|
||||||
|
29 100
|
||||||
|
30 101
|
||||||
|
31 101
|
||||||
|
32 101
|
||||||
|
33 102
|
||||||
|
34 103
|
||||||
|
35 103
|
||||||
|
|
||||||
100
book/plots/yeast.table
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
0.000000000000000000e+00 0.000000000000000000e+00
|
||||||
|
4.242424242424242542e-01 7.169229458362316176e-01
|
||||||
|
8.484848484848485084e-01 1.428572670524745458e+00
|
||||||
|
1.272727272727272707e+00 2.130208499298593239e+00
|
||||||
|
1.696969696969697017e+00 2.817089757390826232e+00
|
||||||
|
2.121212121212121104e+00 3.484475770034495934e+00
|
||||||
|
2.545454545454545414e+00 4.127625862462654283e+00
|
||||||
|
2.969696969696969724e+00 4.741799359908352329e+00
|
||||||
|
3.393939393939394034e+00 5.322255587604640681e+00
|
||||||
|
3.818181818181818343e+00 5.864253870784571276e+00
|
||||||
|
4.242424242424242209e+00 6.363053534681196055e+00
|
||||||
|
4.666666666666666963e+00 6.813913904527567844e+00
|
||||||
|
5.090909090909090828e+00 7.212094305556735030e+00
|
||||||
|
5.515151515151515582e+00 7.552854063001753104e+00
|
||||||
|
5.939393939393939448e+00 7.831452502095669566e+00
|
||||||
|
6.363636363636364202e+00 8.043148948071538129e+00
|
||||||
|
6.787878787878788067e+00 8.183202726162404517e+00
|
||||||
|
7.212121212121211933e+00 8.246873161601330438e+00
|
||||||
|
7.636363636363636687e+00 8.229419579621360725e+00
|
||||||
|
8.060606060606060552e+00 8.142734264051528115e+00
|
||||||
|
8.484848484848484418e+00 8.049102099819306133e+00
|
||||||
|
8.909090909090910060e+00 7.954963367078545566e+00
|
||||||
|
9.333333333333333925e+00 7.860318065829249967e+00
|
||||||
|
9.757575757575757791e+00 7.765166196071416671e+00
|
||||||
|
1.018181818181818166e+01 7.669507757805047454e+00
|
||||||
|
1.060606060606060552e+01 7.573342751030141429e+00
|
||||||
|
1.103030303030303116e+01 7.476671175746698594e+00
|
||||||
|
1.145454545454545503e+01 7.379493031954719839e+00
|
||||||
|
1.187878787878787890e+01 7.281808319654204276e+00
|
||||||
|
1.230303030303030276e+01 7.183617038845151903e+00
|
||||||
|
1.272727272727272840e+01 7.084919189527563610e+00
|
||||||
|
1.315151515151515227e+01 6.985714771701438508e+00
|
||||||
|
1.357575757575757613e+01 6.886003785366776597e+00
|
||||||
|
1.400000000000000000e+01 6.785786230523578766e+00
|
||||||
|
1.442424242424242387e+01 6.685062107171844126e+00
|
||||||
|
1.484848484848484951e+01 6.583831415311573565e+00
|
||||||
|
1.527272727272727337e+01 6.482094154942766195e+00
|
||||||
|
1.569696969696969724e+01 6.379850326065422905e+00
|
||||||
|
1.612121212121212110e+01 6.277123761538812907e+00
|
||||||
|
1.654545454545454675e+01 6.174324510640207819e+00
|
||||||
|
1.696969696969696884e+01 6.071597983435813362e+00
|
||||||
|
1.739393939393939448e+01 5.968940305132156787e+00
|
||||||
|
1.781818181818182012e+01 5.866347600935763573e+00
|
||||||
|
1.824242424242424221e+01 5.763815996053158308e+00
|
||||||
|
1.866666666666666785e+01 5.661341615690869133e+00
|
||||||
|
1.909090909090908994e+01 5.558920585055421526e+00
|
||||||
|
1.951515151515151558e+01 5.456549029353340075e+00
|
||||||
|
1.993939393939394122e+01 5.354223073791151144e+00
|
||||||
|
2.036363636363636331e+01 5.251938843575382876e+00
|
||||||
|
2.078787878787878896e+01 5.149692463912558082e+00
|
||||||
|
2.121212121212121104e+01 5.047480060009204905e+00
|
||||||
|
2.163636363636363669e+01 4.945297757071848821e+00
|
||||||
|
2.206060606060606233e+01 4.843141680307013530e+00
|
||||||
|
2.248484848484848442e+01 4.741007954921228951e+00
|
||||||
|
2.290909090909091006e+01 4.638892706121018783e+00
|
||||||
|
2.333333333333333570e+01 4.536792059112909392e+00
|
||||||
|
2.375757575757575779e+01 4.434702139103427143e+00
|
||||||
|
2.418181818181818343e+01 4.332619071299096625e+00
|
||||||
|
2.460606060606060552e+01 4.230538980906445978e+00
|
||||||
|
2.503030303030303116e+01 4.128457993131998016e+00
|
||||||
|
2.545454545454545681e+01 4.026372233182281768e+00
|
||||||
|
2.587878787878787890e+01 3.924277826263822710e+00
|
||||||
|
2.630303030303030454e+01 3.822170897583144988e+00
|
||||||
|
2.672727272727272663e+01 3.720047572346776743e+00
|
||||||
|
2.715151515151515227e+01 3.617903975761242119e+00
|
||||||
|
2.757575757575757791e+01 3.515736233033067482e+00
|
||||||
|
2.800000000000000000e+01 3.413540469368780528e+00
|
||||||
|
2.842424242424242564e+01 3.311312809974904514e+00
|
||||||
|
2.884848484848484773e+01 3.209049380057968470e+00
|
||||||
|
2.927272727272727337e+01 3.106746304824495208e+00
|
||||||
|
2.969696969696969902e+01 3.004399709481012870e+00
|
||||||
|
3.012121212121212110e+01 2.902005719234047376e+00
|
||||||
|
3.054545454545454675e+01 2.799560459290122427e+00
|
||||||
|
3.096969696969696884e+01 2.697060054855767497e+00
|
||||||
|
3.139393939393939448e+01 2.594500631137504953e+00
|
||||||
|
3.181818181818182012e+01 2.491878313341862938e+00
|
||||||
|
3.224242424242424221e+01 2.389189226675367816e+00
|
||||||
|
3.266666666666666430e+01 2.286429496344544621e+00
|
||||||
|
3.309090909090909349e+01 2.183595247555917496e+00
|
||||||
|
3.351515151515151558e+01 2.080682605516016359e+00
|
||||||
|
3.393939393939393767e+01 1.977687695431364912e+00
|
||||||
|
3.436363636363636687e+01 1.874606642508488630e+00
|
||||||
|
3.478787878787878896e+01 1.771435571953915211e+00
|
||||||
|
3.521212121212121104e+01 1.668170608974169244e+00
|
||||||
|
3.563636363636364024e+01 1.564807878775775540e+00
|
||||||
|
3.606060606060606233e+01 1.461343506565263128e+00
|
||||||
|
3.648484848484848442e+01 1.357773617549156597e+00
|
||||||
|
3.690909090909091361e+01 1.254094336933980092e+00
|
||||||
|
3.733333333333333570e+01 1.150301789926262863e+00
|
||||||
|
3.775757575757575779e+01 1.046392101732529056e+00
|
||||||
|
3.818181818181817988e+01 9.423613975593052583e-01
|
||||||
|
3.860606060606060908e+01 8.382058026131148365e-01
|
||||||
|
3.903030303030303116e+01 7.339214421004879307e-01
|
||||||
|
3.945454545454545325e+01 6.295044412279485746e-01
|
||||||
|
3.987878787878788245e+01 5.249509252020206906e-01
|
||||||
|
4.030303030303030454e+01 4.202570192292340301e-01
|
||||||
|
4.072727272727272663e+01 3.154188485161137923e-01
|
||||||
|
4.115151515151515582e+01 2.104325382691821789e-01
|
||||||
|
4.157575757575757791e+01 1.052942136949696628e-01
|
||||||
|
4.200000000000000000e+01 4.440892098500626162e-16
|
||||||
53
book/recipes/flat-bread.tex
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
\subsubsection*{Ingredients}
|
||||||
|
\begin{tabular}{r@{}rl@{}}
|
||||||
|
\qty{400}{\gram} &~(\qty{100}{\percent}) & Flour (wheat, rye, corn, whatever
|
||||||
|
you have at hand)\\
|
||||||
|
\qty{320}{\gram} & (\qty{80}{\percent}) & Water, preferably at room
|
||||||
|
temperature\\
|
||||||
|
\qty{80}{\gram} & (\qty{20}{\percent}) & Active sourdough starter\\
|
||||||
|
\qty{8}{\gram} & (\qty{2}{\percent}) & Salt\\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
|
\subsubsection*{Instructions}
|
||||||
|
\begin{description}
|
||||||
|
\item[Prepare the dough] In a large mixing bowl, combine the flour and water.
|
||||||
|
Mix until you have a shaggy dough with no dry spots.
|
||||||
|
|
||||||
|
Add the sourdough starter and salt to the mixture. Incorporate them
|
||||||
|
thoroughly until you achieve a smooth and homogenized dough.
|
||||||
|
|
||||||
|
\item[Fermentation:] Cover the bowl with a lid or plastic wrap. Allow the dough
|
||||||
|
to rest and ferment until it has increased by at least \qty{50}{\percent}
|
||||||
|
in size. Depending on the temperature and activity of your starter, this
|
||||||
|
can take anywhere from 4 to 24~hours.
|
||||||
|
|
||||||
|
\item[Cooking preparation:] Once the dough has risen, heat a pan over medium
|
||||||
|
heat. Lightly oil the pan, ensuring to wipe away any excess oil with a
|
||||||
|
paper towel.
|
||||||
|
|
||||||
|
\item[Shaping and cooking:] With a ladle or your hands, scoop out a portion of
|
||||||
|
the dough and place it onto the hot pan, spreading it gently like a
|
||||||
|
pancake.
|
||||||
|
|
||||||
|
Cover the pan with a lid. This traps the steam and ensures even cooking
|
||||||
|
from the top, allowing for easier flipping later.
|
||||||
|
|
||||||
|
After about 5~minutes, or when the bottom of the flatbread has a
|
||||||
|
golden-brown crust, carefully flip it using a spatula.
|
||||||
|
|
||||||
|
\emph{Adjusting cook time.} If the flatbread appears too dark, remember to
|
||||||
|
reduce the cooking time slightly for the next one. Conversely, if it's
|
||||||
|
too pale, allow it to cook a bit longer before flipping.
|
||||||
|
|
||||||
|
Cook the flipped side for an additional 5~minutes or until it's also
|
||||||
|
golden brown.
|
||||||
|
|
||||||
|
\item[Storing:] Once cooked, remove the flatbread from the pan and place it on
|
||||||
|
a kitchen towel. Wrapping the breads in the towel will help retain their
|
||||||
|
softness and prevent them from becoming overly crisp. Repeat the cooking
|
||||||
|
process for the remaining dough.
|
||||||
|
|
||||||
|
\item[Serving suggestion:] Enjoy your sourdough flatbreads warm, paired with
|
||||||
|
your favorite dips, spreads, or as a side to any meal.
|
||||||
|
|
||||||
|
\end{description}
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
@article{raffaella+di+cagno,
|
@article{raffaella+di+cagno,
|
||||||
author = {Di Cagno, Raffaella et al.},
|
author = {Di Cagno, Raffaella et al.},
|
||||||
title = {Proteolysis by sourdough lactic acid bacteria:
|
title = {Proteolysis by sourdough lactic acid bacteria:
|
||||||
effects on wheat flour protein fractions and
|
effects on wheat flour protein fractions and
|
||||||
gliadin peptides involved in human cereal intolerance},
|
gliadin peptides involved in human cereal intolerance},
|
||||||
journal = {Applied and environmental microbiology},
|
journal = {Applied and environmental microbiology},
|
||||||
publisher = {Dover},
|
publisher = {Dover},
|
||||||
volume = {68,2}
|
volume = {68,2}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{too+hot+baking,
|
@misc{too+hot+baking,
|
||||||
@@ -16,17 +16,17 @@
|
|||||||
note = {Accessed: 2022-03-24}
|
note = {Accessed: 2022-03-24}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{rye-defects,
|
@misc{rye-defects,
|
||||||
author = {Marie Oest et al.},
|
author = {Marie Oest et al.},
|
||||||
title = {Rye Bread Defects: Analysis of Composition and
|
title = {Rye Bread Defects: Analysis of Composition and
|
||||||
Further Influence Factors as Determinants
|
Further Influence Factors as Determinants
|
||||||
of Dry-Baking},
|
of Dry-Baking},
|
||||||
journal = {Applied and environmental microbiology},
|
journal = {Applied and environmental microbiology},
|
||||||
publisher = {Foods},
|
publisher = {Foods},
|
||||||
howpublished = {\url{https://www.mdpi.com/2304-8158/9/12/1900/pdf}}
|
howpublished = {\url{https://www.mdpi.com/2304-8158/9/12/1900/pdf}}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{stiff+starter,
|
@misc{stiff+starter,
|
||||||
title = {Stiff sourdough starter},
|
title = {Stiff sourdough starter},
|
||||||
author = {Hendrik Kleinwächter},
|
author = {Hendrik Kleinwächter},
|
||||||
howpublished = {\url{https://www.youtube.com/watch?v=MqH3GVfjfBc}},
|
howpublished = {\url{https://www.youtube.com/watch?v=MqH3GVfjfBc}},
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
note = {Accessed: 2022-04-26}
|
note = {Accessed: 2022-04-26}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{baking+twice,
|
@misc{baking+twice,
|
||||||
title = {Baking your dough twice to make a sourer bread},
|
title = {Baking your dough twice to make a sourer bread},
|
||||||
author = {Hendrik Kleinwächter},
|
author = {Hendrik Kleinwächter},
|
||||||
howpublished = {\url{https://youtu.be/0v1QhtyUic4}},
|
howpublished = {\url{https://youtu.be/0v1QhtyUic4}},
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
note = {Accessed: 2022-04-28}
|
note = {Accessed: 2022-04-28}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{more+active+starter,
|
@misc{more+active+starter,
|
||||||
title = {4 tips to make a more active starter},
|
title = {4 tips to make a more active starter},
|
||||||
author = {Hendrik Kleinwächter},
|
author = {Hendrik Kleinwächter},
|
||||||
howpublished = {\url{https://www.youtube.com/watch?v=yYkTrGHNW2w}},
|
howpublished = {\url{https://www.youtube.com/watch?v=yYkTrGHNW2w}},
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
note = {Accessed: 2022-04-29}
|
note = {Accessed: 2022-04-29}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{baking+powder+reduce-acidity,
|
@misc{baking+powder+reduce-acidity,
|
||||||
title = {Use baking powder to reduce dough acidity},
|
title = {Use baking powder to reduce dough acidity},
|
||||||
author = {Hendrik Kleinwächter},
|
author = {Hendrik Kleinwächter},
|
||||||
howpublished = {\url{https://www.youtube.com/watch?v=c8GId0ByASo}},
|
howpublished = {\url{https://www.youtube.com/watch?v=c8GId0ByASo}},
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
note = {Accessed: 2022-04-29}
|
note = {Accessed: 2022-04-29}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{food+safe+ph,
|
@misc{food+safe+ph,
|
||||||
title = {Acidified Foods: Food Safety Considerations for Food Processors},
|
title = {Acidified Foods: Food Safety Considerations for Food Processors},
|
||||||
author = {Felix H. Barron and Angela M. Fraser},
|
author = {Felix H. Barron and Angela M. Fraser},
|
||||||
howpublished = {\url{https://www.intechopen.com/chapters/41654}},
|
howpublished = {\url{https://www.intechopen.com/chapters/41654}},
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
year = {2022}
|
year = {2022}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{liquid+on+starter,
|
@misc{liquid+on+starter,
|
||||||
title = {Acidified Foods: Food Safety Considerations for Food Processors},
|
title = {Acidified Foods: Food Safety Considerations for Food Processors},
|
||||||
author = {Sourdoughhome},
|
author = {Sourdoughhome},
|
||||||
howpublished = {\url{https://www.sourdoughhome.com/what-is-hooch/}},
|
howpublished = {\url{https://www.sourdoughhome.com/what-is-hooch/}},
|
||||||
@@ -83,41 +83,149 @@
|
|||||||
note = {Accessed: 2022-04-29}
|
note = {Accessed: 2022-04-29}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{acetic+acid+production,
|
@misc{acetic+acid+production,
|
||||||
title = {Acetic Acid (or Ethanoic acid). The main constituent of vinegar.},
|
title = {Acetic Acid (or Ethanoic acid). The main constituent of vinegar.},
|
||||||
author = {chm.bris.ac.uk},
|
author = {chm.bris.ac.uk},
|
||||||
howpublished = {\url{http://www.chm.bris.ac.uk/motm/acetic-acid/acetic-acidjs.htm}},
|
howpublished = {\url{http://www.chm.bris.ac.uk/motm/acetic-acid/acetic-acidjs.htm}},
|
||||||
note = {Accessed: 2022-04-29}
|
note = {Accessed: 2022-04-29}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{jordan+bread,
|
@misc{jordan+bread,
|
||||||
author = {Amaia Arranz-Otaegui et al.},
|
author = {Amaia Arranz-Otaegui et al.},
|
||||||
title = {Archaeobotanical evidence reveals the origins of bread 14,400 years ago in northeastern Jordan},
|
title = {Archaeobotanical evidence reveals the origins of
|
||||||
journal = {Proc Natl Acad Sci USA},
|
bread 14,400 years ago in northeastern Jordan},
|
||||||
year = {2018},
|
journal = {Proc Natl Acad Sci USA},
|
||||||
|
year = {2018},
|
||||||
howpublished = {\url{https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6077754/}}
|
howpublished = {\url{https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6077754/}}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{vienna+breadrolls,
|
@misc{fleischmann+history,
|
||||||
author = {Eben Norton Horsford},
|
author = {Fleischmann History},
|
||||||
title = {Report on Vienna bread},
|
title = {History of Fleischmann's},
|
||||||
year = {1875},
|
howpublished = {\url{https://www.fleischmannsyeast.com/our-history/}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{evans+mill,
|
||||||
|
author = {Jeremy Norman},
|
||||||
|
title = {Oliver Evans Builds the First Automated Flour Mill: Origins
|
||||||
|
of the Integrated and Automated Factory},
|
||||||
|
howpublished = {\url{https://www.historyofinformation.com/detail.php?entryid=3567}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{first+mixer,
|
||||||
|
author = {United States Patent office},
|
||||||
|
title = {Eastman Mixer for cream, eggs and liquors},
|
||||||
|
howpublished = {\url{https://patents.google.com/patent/US330829}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{egypt+beer,
|
||||||
|
author = {Smithsonian Magazine},
|
||||||
|
title = {World’s Oldest Industrial-Scale Brewery Found in Egypt},
|
||||||
|
howpublished = {\url{https://www.smithsonianmag.com/smart-news/worlds-oldest-industrial-scale-brewery-found-egypt-180977026/}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{kitchenaid+history,
|
||||||
|
author = {KitchenAid},
|
||||||
|
title = {KitchenAid Brand History},
|
||||||
|
howpublished = {\url{https://www.kitchenaid.com/100year/history.html}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{aboriginal+grinding+stones,
|
||||||
|
author = {First Peoples - State Relations},
|
||||||
|
title = {Fact sheet: Aboriginal grinding stones},
|
||||||
|
howpublished = {\url{https://www.firstpeoplesrelations.vic.gov.au/fact-sheet-aboriginal-grinding-stones}},
|
||||||
|
note = {Accessed: 2023-12-04}
|
||||||
|
}
|
||||||
|
|
||||||
|
@book{history+mills,
|
||||||
|
title = {Archaeological Evidence for Early Water-Mills. An Interim Report},
|
||||||
|
journal = {History of Technology},
|
||||||
|
number = {10},
|
||||||
|
author = {Wikander, Örjan},
|
||||||
|
year = {1985},
|
||||||
|
pages = {151--179}
|
||||||
|
}
|
||||||
|
|
||||||
|
@book{mills+scandinavia,
|
||||||
|
title = {Waterwheels and Windmills: Five machines that changed the world},
|
||||||
|
author = {Mark, Denny},
|
||||||
|
year = {2007},
|
||||||
|
pages = {36}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{green+revolution,
|
||||||
|
author = {Borlaug, Norman},
|
||||||
|
title = {Contributions of conventional plant breeding to food production},
|
||||||
|
journal = {Science},
|
||||||
|
volume = {219},
|
||||||
|
number = {4585},
|
||||||
|
pages = {689-693},
|
||||||
|
year = {1983},
|
||||||
|
doi = {10.1126/science.219.4585.689}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{switzerland+bread,
|
||||||
|
author = {Pasquale Catzeddu},
|
||||||
|
title = {Flour and Breads and their Fortification in Health and Disease Prevention},
|
||||||
|
pages = {37--46},
|
||||||
|
year = {2011}
|
||||||
|
}
|
||||||
|
|
||||||
|
@book{Yong+2017,
|
||||||
|
place = {London},
|
||||||
|
title = {I contain multitudes: The microbes within US and a grander view of life},
|
||||||
|
publisher = {Vintage},
|
||||||
|
author = {Yong, Ed},
|
||||||
|
year = {2017},
|
||||||
|
pages = {5--9}
|
||||||
|
}
|
||||||
|
|
||||||
|
@book{Yong+2017+Leeuwen,
|
||||||
|
place = {London},
|
||||||
|
title = {I contain multitudes: The microbes within US and a grander view of life},
|
||||||
|
publisher = {Vintage},
|
||||||
|
author = {Yong, Ed},
|
||||||
|
year = {2017},
|
||||||
|
pages = {39}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{egyptian+bread,
|
||||||
|
title = {Investigation of ancient Egyptian baking
|
||||||
|
and brewing methods by correlative microscopy},
|
||||||
|
volume = {273},
|
||||||
|
doi = {10.1126/science.273.5274.488},
|
||||||
|
number = {5274},
|
||||||
|
journal = {Science},
|
||||||
|
author = {Samuel, Delwen},
|
||||||
|
year = {1996},
|
||||||
|
pages = {488–490}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{vienna+breadrolls,
|
||||||
|
author = {Eben Norton Horsford},
|
||||||
|
title = {Report on Vienna bread},
|
||||||
|
year = {1875},
|
||||||
howpublished = {\url{https://archive.org/details/bub_gb_6jRDAAAAIAAJ/page/n100/mode/2up}},
|
howpublished = {\url{https://archive.org/details/bub_gb_6jRDAAAAIAAJ/page/n100/mode/2up}},
|
||||||
note = {Accessed: 2022-05-02}
|
note = {Accessed: 2022-05-02}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{coeliac+disease,
|
@misc{coeliac+disease,
|
||||||
author = {Giovanni Battista Gasbarrini et al.},
|
author = {Giovanni Battista Gasbarrini et al.},
|
||||||
title = {Coeliac disease: an old or a new disease? History of a pathology},
|
title = {Coeliac disease: an old or a new disease? History of a pathology},
|
||||||
year = {2014},
|
year = {2014},
|
||||||
journal = {Intern Emerg Med.},
|
journal = {Intern Emerg Med.},
|
||||||
howpublished = {\url{https://pubmed.ncbi.nlm.nih.gov/24435555/}}
|
howpublished = {\url{https://pubmed.ncbi.nlm.nih.gov/24435555/}}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{interview+karl+de+smedt,
|
@misc{interview+karl+de+smedt,
|
||||||
author = {Hendrik Kleinwächter},
|
author = {Hendrik Kleinwächter},
|
||||||
title = {Interview with Karl de Smedt},
|
title = {Interview with Karl de Smedt},
|
||||||
year = {2021},
|
year = {2021},
|
||||||
howpublished = {\url{https://www.youtube.com/watch?v=vfDIfkqBCuk}},
|
howpublished = {\url{https://www.youtube.com/watch?v=vfDIfkqBCuk}},
|
||||||
note = {Accessed: 2022-05-06}
|
note = {Accessed: 2022-05-06}
|
||||||
}
|
}
|
||||||
@@ -146,7 +254,8 @@
|
|||||||
|
|
||||||
@article{effects+oxygen+yeast+growth,
|
@article{effects+oxygen+yeast+growth,
|
||||||
author = {Hiroshi Kuriyama et al.},
|
author = {Hiroshi Kuriyama et al.},
|
||||||
title = {Effects of oxygen supply on yeast growth and metabolism in continuous fermentation},
|
title = {Effects of oxygen supply on yeast growth
|
||||||
|
and metabolism in continuous fermentation},
|
||||||
year = {1993},
|
year = {1993},
|
||||||
journal = {Journal of Fermentation and Bioengineering},
|
journal = {Journal of Fermentation and Bioengineering},
|
||||||
publisher = {Elsevier},
|
publisher = {Elsevier},
|
||||||
@@ -165,7 +274,8 @@
|
|||||||
|
|
||||||
@article{leaf+surface+sugars+epiphytes,
|
@article{leaf+surface+sugars+epiphytes,
|
||||||
author = {Julien Mercier},
|
author = {Julien Mercier},
|
||||||
title = {Role of Leaf Surface Sugars in Colonization of Plants by Bacterial Epiphytes},
|
title = {Role of Leaf Surface Sugars in Colonization of
|
||||||
|
Plants by Bacterial Epiphytes},
|
||||||
year = {2000},
|
year = {2000},
|
||||||
journal = {Applied and Environmental Microbiology},
|
journal = {Applied and Environmental Microbiology},
|
||||||
volume = {66,1}
|
volume = {66,1}
|
||||||
@@ -173,7 +283,8 @@
|
|||||||
|
|
||||||
@article{yeasts+biocontrol+agent,
|
@article{yeasts+biocontrol+agent,
|
||||||
author = {Gianluca Bleve et al.},
|
author = {Gianluca Bleve et al.},
|
||||||
title = {Isolation of epiphytic yeasts with potential for biocontrol of Aspergillus carbonarius and A. niger on grape},
|
title = {Isolation of epiphytic yeasts with potential for
|
||||||
|
biocontrol of Aspergillus carbonarius and A. niger on grape},
|
||||||
year = {2006},
|
year = {2006},
|
||||||
journal = {International Journal of Food Microbiology},
|
journal = {International Journal of Food Microbiology},
|
||||||
volume = {108,2}
|
volume = {108,2}
|
||||||
@@ -181,13 +292,14 @@
|
|||||||
|
|
||||||
@article{saccharomyces+cerevisiae+pathogen,
|
@article{saccharomyces+cerevisiae+pathogen,
|
||||||
author = {Sabine Gognies et al.},
|
author = {Sabine Gognies et al.},
|
||||||
title = {Saccharomyces cerevisiae, a potential pathogen towards grapevine, Vitis vinifera},
|
title = {Saccharomyces cerevisiae, a potential pathogen
|
||||||
|
towards grapevine, Vitis vinifera},
|
||||||
year = {2001},
|
year = {2001},
|
||||||
journal = {FEMS Microbiology Ecology},
|
journal = {FEMS Microbiology Ecology},
|
||||||
volume = {37,2}
|
volume = {37,2}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{pickled+foods+expiration,
|
@misc{pickled+foods+expiration,
|
||||||
title = {Hardcore hibernation},
|
title = {Hardcore hibernation},
|
||||||
author = {David Adam},
|
author = {David Adam},
|
||||||
howpublished = {\url{https://www.nature.com/articles/news001019-9}},
|
howpublished = {\url{https://www.nature.com/articles/news001019-9}},
|
||||||
@@ -195,7 +307,7 @@
|
|||||||
note = {Accessed: 2022-06-23}
|
note = {Accessed: 2022-06-23}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{old+spores,
|
@misc{old+spores,
|
||||||
title = {Do Pickles Go Bad?},
|
title = {Do Pickles Go Bad?},
|
||||||
author = {thrillist.com},
|
author = {thrillist.com},
|
||||||
howpublished = {\url{https://www.thrillist.com/eat/nation/do-pickles-go-bad-refrigerator-pickles-shelf-life}},
|
howpublished = {\url{https://www.thrillist.com/eat/nation/do-pickles-go-bad-refrigerator-pickles-shelf-life}},
|
||||||
@@ -203,7 +315,7 @@
|
|||||||
note = {Accessed: 2022-06-23}
|
note = {Accessed: 2022-06-23}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{mold+anaerobic,
|
@misc{mold+anaerobic,
|
||||||
title = {Differences between Yeasts and Molds},
|
title = {Differences between Yeasts and Molds},
|
||||||
author = {Sagar Aryal},
|
author = {Sagar Aryal},
|
||||||
howpublished = {\url{https://microbenotes.com/differences-between-yeasts-and-molds/}},
|
howpublished = {\url{https://microbenotes.com/differences-between-yeasts-and-molds/}},
|
||||||
@@ -212,7 +324,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{effects+temperature+flavor+wine,
|
@article{effects+temperature+flavor+wine,
|
||||||
title = {Effects of Fermentation Temperature on Key Aroma Compounds and Sensory Properties of Apple Wine},
|
title = {Effects of Fermentation Temperature on Key Aroma
|
||||||
|
Compounds and Sensory Properties of Apple Wine},
|
||||||
author = {Bangzhu Peng et al.},
|
author = {Bangzhu Peng et al.},
|
||||||
year = {2015},
|
year = {2015},
|
||||||
journal = {Food science},
|
journal = {Food science},
|
||||||
@@ -220,7 +333,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{effects+temperature+flavor,
|
@article{effects+temperature+flavor,
|
||||||
title = {Analysis of domestic refrigerator temperatures and home storage time distributions for shelf-life studies and food safety risk assessment},
|
title = {Analysis of domestic refrigerator temperatures and home
|
||||||
|
storage time distributions for shelf-life
|
||||||
|
studies and food safety risk assessment},
|
||||||
author = {Anna Roccato et al.},
|
author = {Anna Roccato et al.},
|
||||||
year = {2017},
|
year = {2017},
|
||||||
journal = {Food Research},
|
journal = {Food Research},
|
||||||
@@ -228,7 +343,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{lactobacillus+sanfrancisco,
|
@article{lactobacillus+sanfrancisco,
|
||||||
title = {Lactobacillus sanfrancisco a key sourdough lactic acid bacterium: a review},
|
title = {Lactobacillus sanfrancisco a key sourdough
|
||||||
|
lactic acid bacterium: a review},
|
||||||
author = {M. Gobbetti et al.},
|
author = {M. Gobbetti et al.},
|
||||||
year = {1997},
|
year = {1997},
|
||||||
journal = {Food Microbiology},
|
journal = {Food Microbiology},
|
||||||
@@ -244,7 +360,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{shelflife+acidity,
|
@article{shelflife+acidity,
|
||||||
title = {The effect of pH on shelf-life of pork during aging and simulated retail display},
|
title = {The effect of pH on shelf-life of pork during
|
||||||
|
aging and simulated retail display},
|
||||||
author = {S F Holmer et al.},
|
author = {S F Holmer et al.},
|
||||||
year = {2009},
|
year = {2009},
|
||||||
journal = {Meat Science},
|
journal = {Meat Science},
|
||||||
@@ -252,7 +369,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{temperature+bacteria+corn,
|
@article{temperature+bacteria+corn,
|
||||||
title = {Effect of temperature (5-25°C) on epiphytic lactic acid bacteria populations and fermentation of whole-plant corn silage},
|
title = {Effect of temperature (5-25°C) on epiphytic lactic acid
|
||||||
|
bacteria populations and fermentation of whole-plant corn silage},
|
||||||
author = {Y Zhou et al.},
|
author = {Y Zhou et al.},
|
||||||
year = {2016},
|
year = {2016},
|
||||||
journal = {Applied Microbiology and Biotechnology},
|
journal = {Applied Microbiology and Biotechnology},
|
||||||
@@ -260,7 +378,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{acetic+acid+oxygen,
|
@article{acetic+acid+oxygen,
|
||||||
title = {Effects of Oxygen Availability on Acetic Acid Tolerance and Intracellular pH in Dekkera bruxellensis},
|
title = {Effects of Oxygen Availability on Acetic Acid Tolerance
|
||||||
|
and Intracellular pH in Dekkera bruxellensis},
|
||||||
author = {Claudia Capusoni et al.},
|
author = {Claudia Capusoni et al.},
|
||||||
year = {2016},
|
year = {2016},
|
||||||
journal = {Applied Microbiology and Biotechnology},
|
journal = {Applied Microbiology and Biotechnology},
|
||||||
@@ -268,14 +387,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{starch+damage+flour,
|
@article{starch+damage+flour,
|
||||||
title = {A review of milling damaged starch: Generation, measurement, functionality and its effect on starch-based food systems},
|
title = {A review of milling damaged starch: Generation, measurement,
|
||||||
|
functionality and its effect on starch-based food systems},
|
||||||
author = {Qingfa Wang et al.},
|
author = {Qingfa Wang et al.},
|
||||||
year = {2020},
|
year = {2020},
|
||||||
journal = {Food chemistry},
|
journal = {Food chemistry},
|
||||||
volume = {15,31}
|
volume = {15,31}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{how+does+gluten+work,
|
@misc{how+does+gluten+work,
|
||||||
title = {Gluten: How Does It Work?},
|
title = {Gluten: How Does It Work?},
|
||||||
author = {Modernist Cuisine},
|
author = {Modernist Cuisine},
|
||||||
howpublished = {\url{https://modernistcuisine.com/mc/gluten-how-does-it-work/}},
|
howpublished = {\url{https://modernistcuisine.com/mc/gluten-how-does-it-work/}},
|
||||||
@@ -284,87 +404,105 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@article{bassinage+technique,
|
@misc{bassinage+technique,
|
||||||
title = {The Bassinage Method},
|
title = {The Bassinage Method},
|
||||||
author = {The Sourdough School},
|
author = {The Sourdough School},
|
||||||
howpublished = {\url{https://www.sourdough.co.uk/glossary/bassinage/}},
|
howpublished = {\url{https://www.sourdough.co.uk/glossary/bassinage/}},
|
||||||
year = {2022},
|
year = {2022},
|
||||||
note = {Accessed: 2022-12-22}
|
note = {Accessed: 2022-12-22}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{oxidization+dough,
|
@misc{oxidization+dough,
|
||||||
title = {Enzymes and pH matter, troubleshoot my loaf},
|
title = {Enzymes and pH matter, troubleshoot my loaf},
|
||||||
author = {Bread Blog},
|
author = {Bread Blog},
|
||||||
howpublished = {\url{https://bread.blog/enzymes-and-ph-matter-troubleshoot-my-loaf/}},
|
howpublished = {\url{https://bread.blog/enzymes-and-ph-matter-troubleshoot-my-loaf/}},
|
||||||
year = {2022},
|
year = {2022},
|
||||||
note = {Accessed: 2022-12-28}
|
note = {Accessed: 2022-12-28}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{stretch+and+fold+technique,
|
@misc{stretch+and+fold+technique,
|
||||||
title = {How And When To Stretch And Fold Your Sourdough},
|
title = {How And When To Stretch And Fold Your Sourdough},
|
||||||
author = {The Bread Code YouTube},
|
author = {The Bread Code YouTube},
|
||||||
howpublished = {\url{https://www.youtube.com/watch?v=gMbZeUIVzZY}},
|
howpublished = {\url{https://www.youtube.com/watch?v=gMbZeUIVzZY}},
|
||||||
year = {2022},
|
year = {2022},
|
||||||
note = {Accessed: 2023-01-06}
|
note = {Accessed: 2023-01-06}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{rye+pentosans,
|
@article{rye+pentosans,
|
||||||
author = {Krzysztof Buksa and Anna Nowotna and Werner Praznik and Halina Gambu{\'s} and Rafa{\l} Ziobro and Jan Krawontka},
|
author = {Krzysztof Buksa and Anna Nowotna and Werner Praznik
|
||||||
journal = {Food Research International},
|
and Halina Gambu{\'s} and Rafa{\l} Ziobro and Jan Krawontka},
|
||||||
keywords = {Rye bread, Wholemeal, Pentosans, Starch},
|
journal = {Food Research International},
|
||||||
number = {8},
|
keywords = {Rye bread, Wholemeal, Pentosans, Starch},
|
||||||
pages = {2045-2051},
|
number = {8},
|
||||||
title = {The role of pentosans and starch in baking of wholemeal rye bread},
|
pages = {2045-2051},
|
||||||
url = {https://www.sciencedirect.com/science/article/pii/S0963996910002127},
|
title = {The role of pentosans and starch in baking of wholemeal rye bread},
|
||||||
volume = {43},
|
url = {https://www.sciencedirect.com/science/article/pii/S0963996910002127},
|
||||||
year = {2010}
|
volume = {43},
|
||||||
|
year = {2010}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{storing+bread,
|
@article{storing+bread,
|
||||||
author = {King Author},
|
author = {King Author},
|
||||||
title = {Storing yeast based bread},
|
title = {Storing yeast based bread},
|
||||||
url = {https://www.kingarthurbaking.com/blog/2020/07/08/the-best-way-to-store-yeast-bread},
|
url = {https://www.kingarthurbaking.com/blog/2020/07/08/the-best-way-to-store-yeast-bread},
|
||||||
note = {Accessed: 2023-02-03}
|
note = {Accessed: 2023-02-03}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{wheat+kernel,
|
@misc{wheat+kernel,
|
||||||
author = {W. Berghoff},
|
author = {W. Berghoff},
|
||||||
title = {A wheat kernel and its nutritional value.},
|
title = {A wheat kernel and its nutritional value.},
|
||||||
url = {https://en.wikipedia.org/wiki/Whole_grain#/media/File:Wheat-kernel_nutrition.svg},
|
url = {https://en.wikipedia.org/wiki/Whole_grain#/media/File:Wheat-kernel_nutrition.svg},
|
||||||
note = {Accessed: 2023-03-30}
|
note = {Accessed: 2023-03-30}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{enzymatic+activity+whole+wheat,
|
@article{enzymatic+activity+whole+wheat,
|
||||||
author = {Rachana Poudel},
|
author = {Rachana Poudel},
|
||||||
title = {Enzymatic Activities and Compostional Properties of Whole Wheat Flour},
|
title = {Enzymatic Activities and Compostional Properties of Whole Wheat Flour},
|
||||||
year = {2018},
|
year = {2018},
|
||||||
page = {67},
|
page = {67}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{review+of+sourdough+starters,
|
@article{review+of+sourdough+starters,
|
||||||
author = {Calvert MD, Madden AA et al.},
|
author = {Calvert MD, Madden AA et al.},
|
||||||
title = {A review of sourdough starters: ecology, practices, and sensory quality with applications for baking and recommendations for future research},
|
title = {A review of sourdough starters: ecology, practices, and
|
||||||
year = {2021},
|
sensory quality with applications for baking
|
||||||
page = {3},
|
and recommendations for future research},
|
||||||
url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8117929/#ref-36},
|
year = {2021},
|
||||||
note = {Accessed: 2023-03-30}
|
page = {3},
|
||||||
|
url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8117929/#ref-36},
|
||||||
|
note = {Accessed: 2023-03-30}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{gluten+development+temperatures,
|
@article{gluten+development+temperatures,
|
||||||
author = {Koga S., Böcker U. et al.},
|
author = {Koga S., Böcker U. et al.},
|
||||||
title = {Influence of temperature during grain filling on gluten viscoelastic properties and gluten protein composition.},
|
title = {Influence of temperature during grain filling on gluten
|
||||||
year = {2015},
|
viscoelastic properties and gluten protein composition.},
|
||||||
|
year = {2015},
|
||||||
journal = {Journal of the Science of Food and Agriculture},
|
journal = {Journal of the Science of Food and Agriculture},
|
||||||
number = {96},
|
number = {96},
|
||||||
pages = {122-130}
|
pages = {122-130}
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{milling+commercial+home+mill+comparison,
|
@article{milling+commercial+home+mill+comparison,
|
||||||
author = {Ross, Andrew S. and Kongraksawech, Teepakorn},
|
author = {Ross, Andrew S. and Kongraksawech, Teepakorn},
|
||||||
journal = {Cereal Chemistry},
|
journal = {Cereal Chemistry},
|
||||||
number = {2},
|
number = {2},
|
||||||
pages = {239-252},
|
pages = {239-252},
|
||||||
title = {Characterizing whole-wheat flours produced using a commercial stone mill, laboratory mills, and household single-stream flour mills},
|
title = {Characterizing whole-wheat flours produced using a
|
||||||
volume = {95},
|
commercial stone mill, laboratory mills, and household
|
||||||
year = {2018}
|
single-stream flour mills},
|
||||||
|
volume = {95},
|
||||||
|
year = {2018}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{freezing+toasting+bread,
|
||||||
|
title = {The impact of freezing and toasting on the
|
||||||
|
glycaemic response of White Bread},
|
||||||
|
volume = {62},
|
||||||
|
doi = {10.1038/sj.ejcn.1602746},
|
||||||
|
number = {5},
|
||||||
|
journal = {European Journal of Clinical Nutrition},
|
||||||
|
author = {Burton, P and Lightowler, H J},
|
||||||
|
year = {2007},
|
||||||
|
pages = {594–599}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
book/sourdough-starter/sourdough-starter-activity-indicators.png
Normal file
|
After Width: | Height: | Size: 284 KiB |
BIN
book/sourdough-starter/sourdough-starter-hooch.jpg
Normal file
|
After Width: | Height: | Size: 335 KiB |
|
Before Width: | Height: | Size: 494 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 724 KiB After Width: | Height: | Size: 1.3 MiB |
@@ -1,19 +1,15 @@
|
|||||||
|
\chapter{Sourdough starter types}%
|
||||||
|
\label{ch:starter-types}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter of the book we will have a closer look
|
In this chapter of the book we will have a closer look
|
||||||
at different sourdough starter types and their respective
|
at different sourdough starter types, and their respective
|
||||||
traits.
|
traits and usage. They are mostly characterized by their hydration
|
||||||
|
level, and this will provide a trade-off between acidity, volume increase and
|
||||||
|
the gluten level of your flour.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
\begin{table}[htp!]
|
\section{Introduction}%
|
||||||
\begin{center}
|
\label{sec:starter-types-intro}
|
||||||
\input{tables/table-starter-types.tex}
|
|
||||||
\caption[Different types of sourdough]{A comparison of different
|
|
||||||
sourdough starter types and their respective properties. The only
|
|
||||||
difference is the level of water (hydration) that is used when
|
|
||||||
feeding the starter.}%
|
|
||||||
\label{tab:starter-types-comparison}
|
|
||||||
\end{center}
|
|
||||||
\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
|
||||||
bacterial activity you have more gluten consumption of your microbes. So if
|
bacterial activity you have more gluten consumption of your microbes. So if
|
||||||
@@ -27,7 +23,26 @@ very strong wheat flour then you can try to play with a liquid sourdough
|
|||||||
starter. The key difference between all of the starters is how much water
|
starter. The key difference between all of the starters is how much water
|
||||||
is used in the starter. The regular starter has a 1:1 relationship of flour
|
is used in the starter. The regular starter has a 1:1 relationship of flour
|
||||||
to water. The liquid starter has a 5:1 water-to-flour ratio, and the stiff
|
to water. The liquid starter has a 5:1 water-to-flour ratio, and the stiff
|
||||||
starter has half the water as flour.
|
starter has half as much water as flour, as summarized in
|
||||||
|
Table~\ref{tab:starter-types-comparison}.
|
||||||
|
|
||||||
|
\begin{table}[htp!]
|
||||||
|
\centering
|
||||||
|
\input{tables/table-starter-types.tex}
|
||||||
|
\caption[Different types of sourdough]{A comparison of different
|
||||||
|
sourdough starter types and their respective properties. The only
|
||||||
|
difference is the amount of water (hydration) that is used when
|
||||||
|
feeding the starter.}%
|
||||||
|
\label{tab:starter-types-comparison}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
You can change your starter type by just adjusting the feeding ratio of how
|
||||||
|
much flour and water you use. I~frequently change my starter type from
|
||||||
|
regular to liquid and then back to a stiff starter. After changing the
|
||||||
|
environment of your microbes, apply feedings at the same ratio over a couple of
|
||||||
|
days so that they can adapt to the new environment. I~typically see
|
||||||
|
changes after a single feeding, but I~recommend 2 to 3 feedings, one feeding per
|
||||||
|
day, to see a stronger effect.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-starter-types}
|
\includegraphics[width=\textwidth]{sourdough-starter-types}
|
||||||
@@ -39,28 +54,23 @@ starter has half the water as flour.
|
|||||||
\label{fig:starter-types}
|
\label{fig:starter-types}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
You can change your starter type by just adjusting the feeding ratio of how
|
|
||||||
much flour and water you use. I~frequently change my starter type from
|
|
||||||
regular to liquid and then back to a stiff starter. After changing the
|
|
||||||
environment of your microbes, apply feedings at the same ratio over a couple of
|
|
||||||
days so that they can adapt to the new environment. I~typically see
|
|
||||||
changes after a single feeding, but I~recommend 2 to 3 feedings, one feeding per
|
|
||||||
day, to see a stronger effect.
|
|
||||||
|
|
||||||
Your dough is generally just a big sourdough starter. So your starter is going
|
Your dough is generally just a big sourdough starter. So your starter is going
|
||||||
to adapt and regrow inside of your main dough. But you can influence the
|
to adapt and regrow inside of your main dough. But you can influence the
|
||||||
properties that your starter carries over to your main dough. If you have more
|
properties that your starter carries over to your main dough. If you have more
|
||||||
bacterial fermentation, then your dough will also have slightly more bacterial
|
bacterial fermentation, then your dough will also have slightly more bacterial
|
||||||
fermentation. If you have more yeast fermentation, then your main dough will
|
fermentation. If you have more yeast fermentation, then your main dough will
|
||||||
have slightly more yeast fermentation. This is important to know when you are
|
have slightly more yeast fermentation. This is important to know when you are
|
||||||
working with a more mature unfed starter. Let's say your starter had last been
|
working with a more mature unfed starter.
|
||||||
fed 48~hours ago. Chances are that your bacteria is very active while the
|
|
||||||
|
Let's say your starter had last been
|
||||||
|
fed 48~hours ago. Chances are that your bacteria are very active while the
|
||||||
yeast could be dormant. In such a case you can skip feeding your starter
|
yeast could be dormant. In such a case you can skip feeding your starter
|
||||||
before making another dough. Just use a very tiny amount of starter. For \qty{1000}{\gram}
|
before making another dough. Just use a very tiny amount of starter. For
|
||||||
of flour I~would take around \qty{10}{\gram} of starter (\qty{1}{\percent} in terms of baker's
|
\qty{1}{\kg} of flour I~would take around \qty{10}{\gram} of starter
|
||||||
|
(\qty{1}{\percent} in terms of baker's
|
||||||
math). If my starter is very young and had just been fed 6 to 8~hours ago I~might
|
math). If my starter is very young and had just been fed 6 to 8~hours ago I~might
|
||||||
end up going up to \qty{20}{\percent} of starter. Remember that your dough is nothing
|
end up going up to \qty{20}{\percent} of starter. As mentioned earlier,
|
||||||
|
remember that your dough is nothing
|
||||||
else other than a big starter. It will tremendously help you to figure out
|
else other than a big starter. It will tremendously help you to figure out
|
||||||
your best next steps.
|
your best next steps.
|
||||||
|
|
||||||
@@ -74,7 +84,8 @@ out during baking and no longer have the typical characteristics (fluffy crumb
|
|||||||
structure). A stronger flour with more gluten is thus advised. It allows for
|
structure). A stronger flour with more gluten is thus advised. It allows for
|
||||||
a longer fermentation before most gluten is broken down.
|
a longer fermentation before most gluten is broken down.
|
||||||
|
|
||||||
\section{Regular starter}
|
\section{Regular starter}%
|
||||||
|
\label{sec:regular-starter}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-starter.jpg}
|
\includegraphics[width=\textwidth]{sourdough-starter.jpg}
|
||||||
@@ -86,8 +97,8 @@ a longer fermentation before most gluten is broken down.
|
|||||||
The regular sourdough starter is made at a hydration of around \qty{100}{\percent}.
|
The regular sourdough starter is made at a hydration of around \qty{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 most 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 of the dough
|
||||||
increases. After it reaches a certain peak, it will start to collapse again.
|
greatly increases. After it reaches a certain peak, it will start to collapse again.
|
||||||
|
|
||||||
The best way to judge whether the starter is ready is to look at signs such as
|
The best way to judge whether the starter is ready is to look at signs such as
|
||||||
air pockets on the edges of your container. Also use the nose to evaluate the
|
air pockets on the edges of your container. Also use the nose to evaluate the
|
||||||
@@ -100,7 +111,7 @@ A regular starter is a perfect choice to use when utilizing stronger wheat or sp
|
|||||||
It also nicely works with rye, emmer or einkorn. If you only have a weak flour
|
It also nicely works with rye, emmer or einkorn. If you only have a weak flour
|
||||||
at hand with less gluten, this starter might cause issues. As you tend to have
|
at hand with less gluten, this starter might cause issues. As you tend to have
|
||||||
quite some bacterial activity, gluten is going to be broken down fast. When
|
quite some bacterial activity, gluten is going to be broken down fast. When
|
||||||
using the starter, use around 1 to \qty{20}{\percent} starter based on the flour of your
|
using the starter, use around \qtyrange{1}{20}{\percent} starter based on the flour of your
|
||||||
dough.
|
dough.
|
||||||
|
|
||||||
Depending on the bacteria cultivated, a regular starter either has a lactic (dairy),
|
Depending on the bacteria cultivated, a regular starter either has a lactic (dairy),
|
||||||
@@ -108,34 +119,35 @@ a vinegary (acetic) or mix of both flavor profiles. You can adjust your
|
|||||||
starter's flavor by changing the type to a liquid starter.
|
starter's flavor by changing the type to a liquid starter.
|
||||||
|
|
||||||
\section{Liquid starter}%
|
\section{Liquid starter}%
|
||||||
\label{section:liquid-starter}
|
\label{sec:liquid-starter}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\includegraphics[width=0.5\textwidth]{sourdough-starter-liquid.jpg}
|
\includegraphics[width=0.5\textwidth]{sourdough-starter-liquid.jpg}
|
||||||
\caption[Liquid starter]{A liquid sourdough starter features a high level of
|
\caption[Liquid starter]{A liquid sourdough starter features a high level of
|
||||||
water. The high water amount boosts lactic acid producing bacteria.
|
water. The high water amount boosts lactic acid producing bacteria.
|
||||||
After a while the liquid and flour start to separate. Bubbles on the
|
After a while the liquid and flour start to separate. Bubbles on the
|
||||||
side of the flour indicate that the starter is ready to be used.}%
|
side of the flour indicate that the starter is ready to be used.}%
|
||||||
\label{fig:liquid-sourdough-starter}
|
\label{fig:liquid-sourdough-starter}
|
||||||
\end{center}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-liquid-starter-conversion.tex}
|
\input{figures/fig-liquid-starter-conversion.tex}
|
||||||
\caption[Converting to a liquid starter]{The process to convert your regular
|
\caption[Converting to a liquid starter]{The process to convert your regular
|
||||||
or stiff starter into a liquid starter. The whole process takes around 3
|
or stiff starter into a liquid starter. The whole process takes around
|
||||||
days. The longer you maintain your starter at the suggested hydration
|
3~days. The longer you maintain your starter at the suggested hydration
|
||||||
level, the more adapted your microorganisms become. It is recommended to
|
level, the more adapted your microorganisms become. It is recommended to
|
||||||
keep a backup of your original starter as the liquid environment will
|
keep a backup of your original starter as the liquid environment will
|
||||||
select anaerobic microorganisms. This boosts bacteria that create lactic
|
select anaerobic microorganisms. This boosts bacteria that create lactic
|
||||||
acid rather than acetic acid. The resulting acidity will be perceived as
|
acid rather than acetic acid. The resulting acidity will be perceived as
|
||||||
milder.}%
|
milder. When beginning with a liquid starter your stiff starter will
|
||||||
\label{fig:liquid-starter-conversion}
|
feature mild dairy notes. When beginning this process with a regular
|
||||||
\end{center}
|
starter your created stiff starter will feature both dairy
|
||||||
\end{figure}
|
and vinegary notes.}%
|
||||||
|
\label{flc:liquid-starter-conversion}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
The liquid starter is made at a hydration of around \qty{500}{\percent}. This means
|
The liquid starter is made at a hydration of around \qty{500}{\percent}. This means
|
||||||
the starter has much more water than flour. The additional layer of water on
|
the starter has much more water than flour. The additional layer of water on
|
||||||
@@ -145,13 +157,17 @@ By introducing this layer of water, less oxygen is available throughout the
|
|||||||
course of fermentation. This means that your starter will no longer be
|
course of fermentation. This means that your starter will no longer be
|
||||||
producing acetic acid. The heterofermentative lactic acid bacteria will thrive
|
producing acetic acid. The heterofermentative lactic acid bacteria will thrive
|
||||||
in this environment. This is a neat little trick to change your starter's
|
in this environment. This is a neat little trick to change your starter's
|
||||||
flavor profile from vinegary to lactic. Your starter is going to develop
|
flavor profile from vinegary to lactic. Your starter is going to develop dairy
|
||||||
dairy creamy notes. Interestingly, when changing the hydration again, your starter
|
creamy notes. Interestingly, when changing the hydration again, your starter
|
||||||
is going to maintain the liquid starter flavor profile, but then benefit again
|
is going to maintain the liquid starter flavor profile, but then benefit again
|
||||||
from enhanced yeast activity. The liquid starter conversion is non reversible.
|
from enhanced yeast activity. The liquid starter conversion is irreversible.
|
||||||
So ideally keep a backup of your stiff or regular starter.
|
By changing to a liquid starter you will permanently select a subset of
|
||||||
|
microbes that work better in the more liquid environment. So even after going
|
||||||
|
back to a regular or stiff starter the subset of microbes created by the
|
||||||
|
liquid conversion will remain. For this reason, it is recommended to keep a
|
||||||
|
backup of the starter before the liquid starter conversion.
|
||||||
|
|
||||||
To commence with the
|
To begin with the
|
||||||
conversion, simply take around \qty{1}{\gram} of your starter, mix with \qty{5}{\gram} flour and
|
conversion, simply take around \qty{1}{\gram} of your starter, mix with \qty{5}{\gram} flour and
|
||||||
\qty{25}{\gram} water. Stir everything together properly. After a few minutes the flour is
|
\qty{25}{\gram} water. Stir everything together properly. After a few minutes the flour is
|
||||||
going to start settling in at the bottom of your jar. Repeat this process over
|
going to start settling in at the bottom of your jar. Repeat this process over
|
||||||
@@ -173,12 +189,12 @@ and I~use \qty{50}{\gram} of starter, then I~would proceed and only use \qty{550
|
|||||||
water.
|
water.
|
||||||
|
|
||||||
This type of starter is also an excellent mold combatant. As you are removing
|
This type of starter is also an excellent mold combatant. As you are removing
|
||||||
oxygen from the equation, aerobic mold can not properly grow. If your starter
|
oxygen from the equation, aerobic mold cannot properly grow. If your starter
|
||||||
has a mold problem then the liquid conversion could be the remedy. Take a
|
has a mold problem then the liquid conversion could be the remedy. Take a
|
||||||
piece of your starter where you suspect mold growth. Apply the conversion
|
piece of your starter where you suspect mold growth. Apply the conversion
|
||||||
as mentioned before. The mold will likely sporulate as it runs out of food.
|
as mentioned before. The mold will likely sporulate as it runs out of food.
|
||||||
With each new feeding you are reducing the mold spores. The spores can no
|
With each new feeding you are reducing the mold spores. The spores can no
|
||||||
longer reactivate as they can not do so in the anaerobic conditions.
|
longer reactivate as they cannot do so in the anaerobic conditions.
|
||||||
|
|
||||||
The liquid on top of your starter is an excellent resource that you could use
|
The liquid on top of your starter is an excellent resource that you could use
|
||||||
to make sauces. If you feel you would like to add a little bit of acidity,
|
to make sauces. If you feel you would like to add a little bit of acidity,
|
||||||
@@ -186,14 +202,16 @@ drain the liquid part on your starter and use it. I~have used it numerous
|
|||||||
times to make lacto-fermented hot sauces.
|
times to make lacto-fermented hot sauces.
|
||||||
|
|
||||||
\section{Stiff starter}%
|
\section{Stiff starter}%
|
||||||
\label{section:stiff-starter}
|
\label{sec:stiff-starter}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-starter-stiff.jpg}
|
\includegraphics[width=\textwidth]{sourdough-starter-stiff.jpg}
|
||||||
\caption[Stiff starter upside-down]{A stiff sourdough starter that I~used to
|
\caption[Stiff starter upside-down]{A stiff sourdough starter that I~used to
|
||||||
make a Stollen dough for Christmas. Note the bubbles on the edge of the
|
make a Stollen dough for Christmas. Note the bubbles on the edge of the
|
||||||
container. The dough does not fall out of the jar.}%
|
container. The dough does not fall out of the jar. The moment
|
||||||
\label{fig:stiff-sourdough-starter}
|
the gluten structure breaks down due to fermentation the starter
|
||||||
|
will ultimately fall in the jar.}%
|
||||||
|
\label{flc:stiff-sourdough-starter}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The stiff starter is the driest of all the starters. It has a hydration of
|
The stiff starter is the driest of all the starters. It has a hydration of
|
||||||
@@ -207,9 +225,10 @@ mixing the starter there should be no chunks of flour left. Test placing
|
|||||||
the starter on your kitchen counter. When lifting it should slightly stick
|
the starter on your kitchen counter. When lifting it should slightly stick
|
||||||
to your counter's surface. This test indicates that you hydrated the flour sufficiently.
|
to your counter's surface. This test indicates that you hydrated the flour sufficiently.
|
||||||
When the mixture is too dry, the fermentation speed is greatly reduced and
|
When the mixture is too dry, the fermentation speed is greatly reduced and
|
||||||
the starter will seem inactive. The starter should be much drier
|
the starter will seem inactive. The starter should be much drier than a
|
||||||
than a regular starter, but also not too dry. Refer to figure~\ref{fig:stiff-starter-dry-check}
|
regular starter, but also not too dry. Refer to
|
||||||
for a visual example of the starter's required hydration level.
|
Figure~\ref{fig:stiff-starter-dry-check} for a visual example of the starter's
|
||||||
|
required hydration level.
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{stiff-starter-dry-check.jpg}
|
\includegraphics[width=\textwidth]{stiff-starter-dry-check.jpg}
|
||||||
@@ -220,8 +239,8 @@ for a visual example of the starter's required hydration level.
|
|||||||
\label{fig:stiff-starter-dry-check}
|
\label{fig:stiff-starter-dry-check}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-stiff-starter-conversion.tex}
|
\input{figures/fig-stiff-starter-conversion.tex}
|
||||||
\caption[Converting to a stiff starter]{The process to convert your regular
|
\caption[Converting to a stiff starter]{The process to convert your regular
|
||||||
starter into a stiff starter. The whole process takes around 3 days. The
|
starter into a stiff starter. The whole process takes around 3 days. The
|
||||||
@@ -231,8 +250,7 @@ for a visual example of the starter's required hydration level.
|
|||||||
\qty{50}{\percent} hydration level for the starter. If the dough is too
|
\qty{50}{\percent} hydration level for the starter. If the dough is too
|
||||||
stiff consider increasing this to \qty{60}{\percent}.}%
|
stiff consider increasing this to \qty{60}{\percent}.}%
|
||||||
\label{fig:stiff-starter-conversion}
|
\label{fig:stiff-starter-conversion}
|
||||||
\end{center}
|
\end{flowchart}
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
In the stiffer environment the yeast thrives more. This means you will have
|
In the stiffer environment the yeast thrives more. This means you will have
|
||||||
more \ch{CO2} production and less acid production. In my tests this is a game
|
more \ch{CO2} production and less acid production. In my tests this is a game
|
||||||
@@ -258,13 +276,13 @@ production.
|
|||||||
\label{fig:stollen}
|
\label{fig:stollen}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
I~then proceeded and bought a cheap low cake flour in my nearby supermarket.
|
I~then proceeded and bought a cheap low-gluten cake flour in my nearby supermarket.
|
||||||
This flour before had caused me massive headaches before. I~made a sourdough bread
|
This flour before had caused me massive headaches in the past. I~made a sourdough bread
|
||||||
exactly how I~would normally do. I~had to reduce the hydration a bit as a low
|
exactly how I~would normally do---I~had to reduce the hydration a bit as a low
|
||||||
gluten flour does not soak up as much water. Then I~replaced the starter with
|
gluten flour does not soak up as much water. Then I~replaced the starter with
|
||||||
the stiff starter. The dough felt amazing and was suddenly able to withstand a
|
the stiff starter. The dough felt amazing and was suddenly able to withstand a
|
||||||
much longer fermentation period. The bread had great oven spring and tasted
|
much longer fermentation period. The bread had great oven spring and tasted
|
||||||
very mild. I~am still yet to find a proper explanation why the yeast part of
|
very mild. I~am still yet to find a proper scientific explanation why the yeast part of
|
||||||
the dough is more active. Maybe it is not. It could also be that the bacteria
|
the dough is more active. Maybe it is not. It could also be that the bacteria
|
||||||
is inhibited by the lack of water.
|
is inhibited by the lack of water.
|
||||||
|
|
||||||
@@ -281,21 +299,26 @@ pockets of air on the sides of your container. Use your nose to smell the
|
|||||||
starter. It should have a mild smell. It also tends to smell much more
|
starter. It should have a mild smell. It also tends to smell much more
|
||||||
alcoholic than the other starters.
|
alcoholic than the other starters.
|
||||||
|
|
||||||
When using a stiff starter, use around \qtyrange{1}{20}{\percent} depending on
|
When using a stiff starter, use around \qtyrange{1}{20}{\percent} starter in terms of
|
||||||
the ripeness of your starter. In summer I~typically use around
|
baker's math for your
|
||||||
\qty{10}{\percent} and in winter around \qty{20}{\percent}. This way you can
|
dough. This depends on the ripeness of your starter.
|
||||||
also control the fermentation speed.
|
In summer I~typically use around
|
||||||
Mixing the starter can be a little bit annoying as it hardly homogenizes with
|
\qtyrange{1}{10}{\percent} and in winter around \qty{20}{\percent}. This way you can
|
||||||
the rest of the dough. In this case you can try to dissolve the starter in the
|
also control the fermentation speed. If it is very hot where you live, consider
|
||||||
|
lowering the starter amount to \qtyrange{1}{5}{\percent}. If it is very cold in your
|
||||||
|
area consider increasing the starter amount up to \qty{30}{\percent}.
|
||||||
|
Mixing the stiff starter can be a little bit annoying as it hardly homogenizes with
|
||||||
|
the rest of the dough. In this case, you can try to dissolve the starter in the
|
||||||
water you are about to use for your dough. This will make mixing a lot easier.
|
water you are about to use for your dough. This will make mixing a lot easier.
|
||||||
|
|
||||||
|
|
||||||
\section{Lievito madre or pasta madre}
|
\section{Lievito madre or pasta madre}
|
||||||
|
|
||||||
The lievito madre, also known as pasta madre, belongs to the same category as
|
The \emph{lievito madre}, also known as \emph{pasta madre}, belongs to the
|
||||||
the stiff sourdough starter. After conducting hours of research, I~could not
|
same category as the stiff sourdough starter. After conducting hours of
|
||||||
find a difference between pasta madre and lievito madre. Both terms seem to be
|
research, I~could not find a difference between \emph{pasta madre} and
|
||||||
used interchangeably in literature.
|
\emph{lievito madre}. Both terms seem to be used interchangeably in
|
||||||
|
literature.
|
||||||
|
|
||||||
In many recipes this starter is made directly
|
In many recipes this starter is made directly
|
||||||
from dried or fresh fruits. You can also make a starter from leaves from your
|
from dried or fresh fruits. You can also make a starter from leaves from your
|
||||||
@@ -308,19 +331,21 @@ acidifies properly when making a dough. A tool such as a pH meter can be of
|
|||||||
optimal help. Generally, the lower the pH, the higher the acidity. The acidity
|
optimal help. Generally, the lower the pH, the higher the acidity. The acidity
|
||||||
should be below 4.2 to know that your starter produces sufficient acidity.
|
should be below 4.2 to know that your starter produces sufficient acidity.
|
||||||
|
|
||||||
Some bakers cleanse the lievito madre in a bath of water. This is supposed to
|
Some bakers cleanse the \emph{lievito madre} in a bath of water. This is supposed to
|
||||||
remove excess acidity. In my own experiments I~have not been able to confirm
|
remove excess acidity. In my own experiments I~have not been able to confirm
|
||||||
this methodology. The acidity remains the same. The only reason this could
|
this methodology. The acidity remains the same. The only reason this could
|
||||||
make sense is if you also tried to boost anaerobic microorganisms. However, then the
|
make sense is if you also tried to boost anaerobic microorganisms. However, then the
|
||||||
starter would need to remain in this environment for quite some time and not just
|
starter would need to remain in this environment for quite some time and not just
|
||||||
a few hours.
|
a few hours.
|
||||||
|
|
||||||
|
\section{Conclusion}%
|
||||||
|
\label{sec:starter-type-conclusion}
|
||||||
Baking with sourdough is simple. It's just flour and water. When seeing a recipe
|
Baking with sourdough is simple. It's just flour and water. When seeing a recipe
|
||||||
from an experienced baker you wonder, Wait, that's it? There is nothing more
|
from an experienced baker you wonder, Wait, that's it? There is nothing more
|
||||||
to it? I~feel that this might be the reason why some bakers have such complicated
|
to it? I~feel that this might be the reason why some bakers have such complicated
|
||||||
feeding procedures. They resort to several feedings per day at a certain given ratio.
|
feeding procedures. They resort to several feedings per day at a certain given ratio.
|
||||||
This makes the baker feel a little more elitist. Of course over time as
|
This makes the baker feel a little more elitist. Of course over time as
|
||||||
more and more people follow this procedure, it becomes a self fulfilling prophecy.
|
more and more people follow this procedure, it became a self fulfilling prophecy.
|
||||||
The more experienced you become, the higher the chances are that a bogus starter
|
The more experienced you become, the higher the chances are that a bogus starter
|
||||||
feeding guide will reward you with beautiful results. The reason however is
|
feeding guide will reward you with beautiful results. The reason however is
|
||||||
not in the starter routine. The reason is that you understand the fermentation better
|
not in the starter routine. The reason is that you understand the fermentation better
|
||||||
|
|||||||
@@ -1,17 +1,19 @@
|
|||||||
|
\chapter{Making a sourdough starter}%
|
||||||
|
\label{ch:sourdough-starter}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter you will learn how to make your
|
In this chapter you will learn how to make your
|
||||||
own sourdough starter. Before doing so you will
|
own sourdough starter, but before doing so you will
|
||||||
quickly learn about baker's math. Don't worry,
|
quickly learn about baker's math. Don't worry,
|
||||||
it's a very simple way how to write a recipe which
|
it's a very simple way how to write a recipe which
|
||||||
is cleaner and more scalable. Once you get the hang
|
is cleaner and more scalable. Once you get the hang
|
||||||
of it you will want to write every recipe this way.
|
of it you will want to write every recipe this way.
|
||||||
You will learn to understand the signs to determine
|
You will learn to understand the signs indicating
|
||||||
your starter's readiness. Furthermore you will
|
your starter's readiness, as well as
|
||||||
also learn how to prepare your starter for long-term storage.
|
how to prepare your starter for long-term storage.
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
\section{Baker's math}%
|
\section{Baker's math}%
|
||||||
\label{section:bakers-math}
|
\label{sec:bakers-math}
|
||||||
|
|
||||||
In a large bakery, a determining factor is how
|
In a large bakery, a determining factor is how
|
||||||
much flour you have at hand. Based on the amount
|
much flour you have at hand. Based on the amount
|
||||||
@@ -21,7 +23,7 @@ for bakers, the quantity of each ingredient
|
|||||||
is calculated as a percentage based on how much flour you have.
|
is calculated as a percentage based on how much flour you have.
|
||||||
Let me demonstrate this with a small example from
|
Let me demonstrate this with a small example from
|
||||||
a pizzeria. In the morning you check and you realize you
|
a pizzeria. In the morning you check and you realize you
|
||||||
have around \qty{1}{\kg} of flour.
|
have around \qty{1}{\kg} of flour.
|
||||||
Your default recipe calls for around \qty{600}{\gram} of water.
|
Your default recipe calls for around \qty{600}{\gram} of water.
|
||||||
That would be a typical pizza dough, not too dry but
|
That would be a typical pizza dough, not too dry but
|
||||||
also not too wet. Then you would be using around \qty{20}{\gram}
|
also not too wet. Then you would be using around \qty{20}{\gram}
|
||||||
@@ -30,35 +32,33 @@ pizza dough recipe. In Napoli modern pizzerias would use fresh or dry yeast.
|
|||||||
However traditionally pizza has always been made with sourdough.}.
|
However traditionally pizza has always been made with sourdough.}.
|
||||||
The next day you suddenly have \qty{1.4}{\kg} of flour
|
The next day you suddenly have \qty{1.4}{\kg} of flour
|
||||||
at hand and thus can make more pizza dough. What do you do?
|
at hand and thus can make more pizza dough. What do you do?
|
||||||
Do you multiply all the ingredients by 1.4? Yes you could,
|
Do you multiply all the ingredients by \num{1.4}? Yes you could,
|
||||||
but there is an easier way. This is where baker's math
|
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 \qty{1.4}{\kg} flour quantity.
|
math and then adjust it for the \qty{1.4}{\kg} flour quantity.
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-bakers-math-example.tex}
|
\input{tables/table-bakers-math-example.tex}
|
||||||
\caption[Baker's math example]{An example table demonstrating how to
|
\caption[Baker's math example]{An example table demonstrating how to
|
||||||
properly calculate using baker's math}
|
properly calculate using baker's math}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\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 \qty{100}{\percent} is the baseline and represents the absolute
|
based on the flour. The \qty{100}{\percent} is the baseline and represents the absolute
|
||||||
amount of flour that you have at hand. In this case that's \qty{1000}{\gram}
|
amount of flour that you have at hand. In this case that's
|
||||||
(\qty{1}{\kg}).
|
\qty{1000}{\gram}~(\qty{1}{\kg}).
|
||||||
|
|
||||||
Now let's go back to our example and adjust the flour, as we have
|
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 \qty{1.4}{\kg} at hand (\qty{1400}{\gram}).
|
we have \qty{1.4}{\kg} at hand (\qty{1400}{\gram}).
|
||||||
|
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-recipe-bakers-math.tex}
|
\input{tables/table-recipe-bakers-math.tex}
|
||||||
\caption[Another baker's math example]{An example recipe that uses
|
\caption[Another baker's math example]{An example recipe that uses
|
||||||
\qty{1400}{\gram} as its baseline and is then calculated using
|
\qty{1400}{\gram} as its baseline and is then calculated using
|
||||||
baker's math.}
|
baker's math.}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
For each ingredient we calculate the percentage
|
For each ingredient we calculate the percentage
|
||||||
@@ -70,7 +70,6 @@ For the second day, that is \qty{840}{\gram}. Proceed to do the same
|
|||||||
thing for all the other ingredients and you will know
|
thing for all the other ingredients and you will know
|
||||||
your recipe.
|
your recipe.
|
||||||
|
|
||||||
|
|
||||||
Let's say you would want to use \qty{50}{\kg} of flour
|
Let's say you would want to use \qty{50}{\kg} of flour
|
||||||
the next day. What would you do? You would simply proceed
|
the next day. What would you do? You would simply proceed
|
||||||
to calculate the percentages one more time. I~like this
|
to calculate the percentages one more time. I~like this
|
||||||
@@ -85,30 +84,40 @@ are completely lost when trying to scale it up.
|
|||||||
\section{The process of making a starter}
|
\section{The process of making a starter}
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-starter.jpg}
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{sourdough-starter-activity-indicators}
|
||||||
\caption[Very active sourdough]{A very active sourdough starter shown by the
|
\caption[Very active sourdough]{A very active sourdough starter shown by the
|
||||||
bubbles in the dough.}%
|
bubbles in the dough.}%
|
||||||
\label{fig:sourdough-starter}
|
\label{fig:sourdough-starter}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Making a sourdough starter is very easy. All you need
|
Making a sourdough starter is very easy, all you need
|
||||||
is a little bit of patience. The flour you should
|
is a little bit of patience. It is in fact so easy that it can be summarized
|
||||||
use to setup your starter is ideally a whole flour.
|
in a simple Flowchart~\ref{fig:sourdough-starter-process} The flour you should
|
||||||
You could use whole-wheat, whole rye, whole spelt or
|
use to bootstrap your starter is ideally a whole flour.
|
||||||
|
You could use whole-wheat, whole-rye, whole-spelt or
|
||||||
any other flour you have. In fact gluten free flours such
|
any other flour you have. In fact gluten free flours such
|
||||||
as rice or corn would also work. Don't worry, you can
|
as rice or corn would also work. Don't worry, you can always
|
||||||
change the flour later. Use whatever whole flour you
|
change the flour later. Use whatever whole flour you
|
||||||
already have at hand.
|
already have at hand.
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-starter-process.tex}
|
||||||
|
\caption[The full sourdough starter process]{The process of making a sourdough
|
||||||
|
starter from scratch.}%
|
||||||
|
\label{fig:sourdough-starter-process}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
Your flour is contaminated with millions of microbes. As explained
|
Your flour is contaminated with millions of microbes. As explained
|
||||||
before in the chapter about wild yeast and bacteria, these
|
before in the chapter about wild yeast and bacteria, these
|
||||||
microbes live on the surface of the plant. That's why
|
microbes live on the surface of the plant. That's why
|
||||||
a whole flour works better because you have more natural
|
a whole flour works better because you have more natural
|
||||||
contamination of the microbes you are trying to cultivate
|
contamination from 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.
|
||||||
|
|
||||||
Start by measuring approximately \qty{50}{\gram} each of flour and
|
Start by measuring approximately \qty{50}{\gram} of both flour and
|
||||||
water. The measurements don't have to be exact; you can use
|
water. The measurements don't have to be exact; you can use
|
||||||
less or more, or just eyeball the proportions. These
|
less or more, or just eyeball the proportions. These
|
||||||
values are just shown as a reference.
|
values are just shown as a reference.
|
||||||
@@ -120,66 +129,25 @@ to water as a disinfectant to kill microorganisms, you will
|
|||||||
not be able to grow a starter with chlorinated water.
|
not be able to grow a starter with chlorinated water.
|
||||||
|
|
||||||
In this process, the hydration of your starter is \qty{100}{\percent}.
|
In this process, the hydration of your starter is \qty{100}{\percent}.
|
||||||
This means you're using equal parts flour and
|
This means you're using equal amount of flour and
|
||||||
water. Stir everything together so that all the flour is
|
water. Stir everything together so that all the flour is
|
||||||
properly hydrated. This step activates the microbial spores
|
properly hydrated. This step activates the microbial spores
|
||||||
in your mixture, drawing them out of hibernation and
|
in your mixture, drawing them out of hibernation and
|
||||||
reviving them.
|
reviving them.
|
||||||
|
|
||||||
Finally, cover your mixture but make sure the covering is
|
Finally, cover your mixture but make sure the covering is
|
||||||
not airtight. I~like to use a glass and place another
|
not airtight. You still want some gas exchange to be possible.
|
||||||
inverted one on top. The container shouldn't be airtight,
|
I~like to use a glass and place another
|
||||||
you still want some gas exchange to be possible.
|
inverted one on top.
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
Now an epic battle begins, as visualized in
|
||||||
\begin{center}
|
Figure~\ref{fig:sourdough-starter-microbial-war}. In one
|
||||||
\input{figures/fig-starter-process.tex}
|
study~\cite{yeasts+biocontrol+agent} scientists have identified
|
||||||
\caption[Process for starter from scratch]{The process of making a sourdough
|
more than \num{150}~different yeast species living
|
||||||
starter from scratch.}%
|
on a single leaf of a plant.
|
||||||
\label{fig:sourdough-starter-process}
|
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
|
||||||
|
|
||||||
Now an epic battle begins. In one study scientists
|
|
||||||
have identified more than 150 different yeast species living
|
|
||||||
on a single leaf of a plant~\cite{yeasts+biocontrol+agent}.
|
|
||||||
All of the different yeasts and bacteria are trying to get
|
All of the different yeasts and bacteria are trying to get
|
||||||
the upper hand in this battle. Other pathogens such as mold
|
the upper hand in this battle. Other pathogens such as mold
|
||||||
are also being activated as we added water. Only the strongest
|
are also being activated as we added water. Only the strongest
|
||||||
most adaptable microorganisms will survive. By adding water to the
|
most adaptable microorganisms will survive.
|
||||||
flour the starches start to degrade. The seedling tries to
|
|
||||||
sprout but it no longer can. Essential for this process is the
|
|
||||||
amylase enzyme. The compact starch is broken down to more
|
|
||||||
digestible sugars to fuel plant growth. Glucose is what the
|
|
||||||
plant needs in order to grow. The microorganisms that survive
|
|
||||||
this frenzy are adapted to consuming glucose. Luckily for us
|
|
||||||
bakers, the yeast and bacteria know very well how to metabolize
|
|
||||||
glucose. This is what they have been fed in the wild by the plants.
|
|
||||||
By forming patches on the leaf and protecting the plant from
|
|
||||||
pathogens they received glucose in return for their services.
|
|
||||||
Each of the microbes tries to defeat the other by consuming the
|
|
||||||
food fastest, producing agents to inhibit food uptake by others or by producing
|
|
||||||
bactericides and/or fungicides. This early stage of the starter
|
|
||||||
is very interesting as more research could possibly reveal
|
|
||||||
new fungicides or antibiotics. Depending on where your flour
|
|
||||||
is from, the starting microbes of your starter might be different
|
|
||||||
than the ones from another starter. Some people have also reported
|
|
||||||
how the microbes from your hand or air can influence your starter's
|
|
||||||
microorganisms. This makes sense to a certain extent. Your
|
|
||||||
hand's microbes might be good at fermenting your sweat, but
|
|
||||||
probably not so good at metabolizing glucose. The contamination
|
|
||||||
of your hands or air might play a minor role in the initial epic
|
|
||||||
battle. But only the fittest microbes fitting the sourdough's
|
|
||||||
niche are going to survive. This means the microorganisms that know
|
|
||||||
how to convert maltose or glucose will have the upper hand. Or the
|
|
||||||
microbes that ferment the waste of the other microbes. Ethanol created
|
|
||||||
by the yeast is metabolized by the bacteria in your sourdough. That's
|
|
||||||
why a sourdough has no alcohol. I~can confirm the role of aerial
|
|
||||||
contamination to a certain extent. When setting up a new sourdough
|
|
||||||
starter the whole process is quite quick for me. After a few
|
|
||||||
days my new starter seems to be quite alive already. This might
|
|
||||||
be due to previous contamination of flour fermenting microbes in
|
|
||||||
my kitchen.
|
|
||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\textwidth]{sourdough-starter-microbial-war}
|
\includegraphics[width=\textwidth]{sourdough-starter-microbial-war}
|
||||||
@@ -195,48 +163,104 @@ my kitchen.
|
|||||||
\label{fig:sourdough-starter-microbial-war}
|
\label{fig:sourdough-starter-microbial-war}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
By adding water to the
|
||||||
|
flour the starches start to degrade. The seedling tries to
|
||||||
|
sprout but it no longer can. Essential for this process is the
|
||||||
|
amylase enzyme. The compact starch is broken down to more
|
||||||
|
digestible sugars to fuel plant growth. Glucose is what the
|
||||||
|
plant needs in order to grow. The microorganisms that survive
|
||||||
|
this frenzy are adapted to consuming glucose.
|
||||||
|
|
||||||
|
Luckily for us
|
||||||
|
bakers, the yeast and bacteria know very well how to metabolize
|
||||||
|
glucose. This is what they have been fed in the wild by the plants.
|
||||||
|
By forming patches on the leaf and protecting the plant from
|
||||||
|
pathogens they received glucose in return for their services.
|
||||||
|
Each of the microbes tries to defeat the other by consuming the
|
||||||
|
food fastest, producing agents to inhibit food uptake by others or by producing
|
||||||
|
bactericides and/or fungicides. This early stage of the starter
|
||||||
|
is very interesting as more research could possibly reveal
|
||||||
|
new fungicides or antibiotics.
|
||||||
|
|
||||||
|
Depending on where your flour
|
||||||
|
is from, the starting microbes of your starter might be different
|
||||||
|
than the ones from another starter. Some people have also reported
|
||||||
|
how the microbes from your hand or air can influence your starter's
|
||||||
|
microorganisms. This makes sense to a certain extent. Your
|
||||||
|
hand's microbes might be good at fermenting your sweat, but
|
||||||
|
probably not so good at metabolizing glucose. The contamination
|
||||||
|
of your hands or air might play a minor role in the initial epic
|
||||||
|
battle. But only the fittest microbes fitting the sourdough's
|
||||||
|
niche are going to survive.
|
||||||
|
|
||||||
|
This means the microorganisms knowing
|
||||||
|
how to convert maltose or glucose will have the upper hand. Or the
|
||||||
|
microbes fermenting the waste of the other microbes. Ethanol created
|
||||||
|
by the yeast is metabolized by the bacteria in your sourdough. That's
|
||||||
|
why a sourdough has no alcohol. I~can confirm the role of aerial
|
||||||
|
contamination to a certain extent, when setting up a new sourdough
|
||||||
|
starter the whole process is quite quick for me. After a few
|
||||||
|
days my new starter seems to be quite alive already. This might
|
||||||
|
be due to previous contamination of flour fermenting microbes in
|
||||||
|
my kitchen.
|
||||||
|
|
||||||
Wait for around 24~hours and observe what happens to your starter.
|
Wait for around 24~hours and observe what happens to your starter.
|
||||||
You might see some early signs of fermentation already. Use your nose
|
You might see some early signs of fermentation already. Use your nose
|
||||||
to smell the dough. Look for bubbles in the dough. Your dough
|
to smell the dough. Look for bubbles in the dough. Your dough
|
||||||
might already have increased in size a little bit. Whatever
|
might already have increased in size a little bit. Whatever
|
||||||
you see and notice is a sign of the first battle. Some microbes
|
you see and notice is a sign of the first battle.
|
||||||
have already been outperformed. Others have won the first battle.
|
|
||||||
After around 24~hours most of the starch has been broken down
|
Some microbes have already been outperformed. Others have won the first
|
||||||
and your microbes are hungry for additional sugars. With a spoon
|
battle. After around \qty{24}{hours} most of the starch has been broken down
|
||||||
take around \qty{10}{\gram} from the previous day's mixture and place
|
and your microbes are hungry for additional sugars. With a spoon take around
|
||||||
it in a new container. Again --- you could also simply eye ball
|
\qty{10}{\gram} from the previous day's mixture and place it in a new
|
||||||
all the quantities. It does not matter that much. Mix the 10
|
container. Again---you could also simply eye ball all the quantities. It does
|
||||||
grams from the previous day with another \qty{50}{\gram} of flour
|
not matter that much. Mix the \qty{10}{\gram} from the previous day with
|
||||||
and \qty{50}{\gram} of water. Note the ratio of 1:5. I~very often use
|
another \qty{50}{\gram} of flour and \qty{50}{\gram} of water.
|
||||||
1 part of old culture with 5 parts of flour and 5 parts of water.
|
|
||||||
|
Note the ratio of 1:5. I~very often use
|
||||||
|
1~part of old culture with 5~parts of flour and 5~parts of water.
|
||||||
This is also very often the same ratio I~use when making a dough.
|
This is also very often the same ratio I~use when making a dough.
|
||||||
A dough is nothing else than a sourdough starter with slightly different
|
A dough is nothing else than a giant sourdough starter with slightly different
|
||||||
properties. I'd always be using around \qtyrange{100}{200}{\gram} of starter
|
properties. I'd always be using around \qtyrange{100}{200}{\gram} of starter
|
||||||
for around \qty{1000}{\gram} of flour (baker's math: \qtyrange{10}{20}{\percent}).
|
for around \qty{1000}{\gram} of flour (baker's math: \qtyrange{10}{20}{\percent}).
|
||||||
|
|
||||||
Homogenize your new mixture again with a spoon. Then cover
|
Homogenize your new mixture again with a spoon. Then cover
|
||||||
the mix again with a glass or a lid. If you notice the top of
|
the mix again with a glass or a lid. If you notice the top of
|
||||||
your mixture dries out a lot consider using another cover. The
|
your mixture dries out a lot consider using another cover. The
|
||||||
dried-out parts will be composted by more adapted microbes such as
|
dried-out parts will be composted by more adapted microbes such as
|
||||||
mold. In many user reports, I~saw mold being able to damage
|
mold. In many user reports, I~saw mold being able to damage
|
||||||
the starter when the starter itself dried out a lot. You will
|
the starter when the starter itself dried out a lot.
|
||||||
|
|
||||||
|
You will
|
||||||
still have some mixture left from your first day. As this contains
|
still have some mixture left from your first day. As this contains
|
||||||
possibly dangerous pathogens that have been activated we will discard
|
possibly dangerous pathogens that have been activated make sure you discard
|
||||||
this mixture. Once your sourdough starter is mature never
|
this mixture. A rule of thumb is to begin keeping the discard,
|
||||||
discard it. It's long-fermented flour that is an excellent addon
|
the moment you made your first successful bread. At that point
|
||||||
used to make crackers, pancakes and or delicious hearty sandwich
|
your discard is long-fermented flour that is an excellent addon
|
||||||
bread. I~also frequently dry it and use it as a rolling agent
|
used to make crackers, pancakes or delicious hearty sandwich
|
||||||
for pizzas that I~am making.
|
bread\ldots I~also frequently dry it and use it as a rolling agent
|
||||||
|
for pizzas that I~am making.\footnote{Discarding starter when preparing
|
||||||
|
a new batch can be frustrating. With experience, bread-making
|
||||||
|
becomes more efficient, and excess discard is rarely produced. It is
|
||||||
|
possible to prepare just the right amount of starter
|
||||||
|
needed for bread dough. In fact, a fully depleted starter can even be revived
|
||||||
|
using a small portion of bread dough. Any leftover discard, rich in spores,
|
||||||
|
can also serve as a backup to create a new sourdough starter. Simply mix the
|
||||||
|
discard with a little flour and water, and it will spring back to life. That is a
|
||||||
|
great option if the starter was accidentally depleted. A practical approach
|
||||||
|
is to store all discard in a single jar in the fridge, adding new discard on
|
||||||
|
top as needed and using it whenever required.}
|
||||||
|
|
||||||
You should hopefully again see some bubbles, the starter increasing
|
You should hopefully again see some bubbles, the starter increasing
|
||||||
in size and/or the starter changing its smell. Some people give
|
in size and/or the starter changing its smell. Some people give
|
||||||
up after the second or third day. That is because the signs might no longer
|
up after the second or third day, because the signs might no longer
|
||||||
be as dominant as they were on day one. The reason for this lies in only a few
|
be as dominant as they were on day one. The reason for this lies in only a few
|
||||||
select microbes starting to take over the whole sourdough starter. The most
|
select microbes starting to take over the whole sourdough starter. The most
|
||||||
adaptable ones are going to win. They are very small in quantity and will
|
adaptable ones are going to win, they are very small in quantity and will
|
||||||
grow in population with each subsequent feeding. Even if you see no signs
|
grow in population with each subsequent feeding. Even if you see no signs
|
||||||
of activity directly, don't worry. There is activity in
|
of activity directly, do not worry, there is activity in
|
||||||
your starter on a microscopic level.
|
your starter at a microscopic level.
|
||||||
|
|
||||||
24~hours later again we will repeat the same thing again until
|
24~hours later again we will repeat the same thing again until
|
||||||
we see that our sourdough starter is active. More on that in the
|
we see that our sourdough starter is active. More on that in the
|
||||||
@@ -245,7 +269,7 @@ next section of this book.
|
|||||||
\section{Determining starter readiness}
|
\section{Determining starter readiness}
|
||||||
|
|
||||||
For some people the whole process of setting up a starter takes
|
For some people the whole process of setting up a starter takes
|
||||||
only 4 days. For others it can take 7 days, for some even 20 days.
|
only 4~days. For others it can take 7~days, for some even 20~days.
|
||||||
This depends on several factors including how good your wild microbes
|
This depends on several factors including how good your wild microbes
|
||||||
are at fermenting flour. Generally speaking, with each feeding
|
are at fermenting flour. Generally speaking, with each feeding
|
||||||
your starter becomes more adapted to its environment. Your
|
your starter becomes more adapted to its environment. Your
|
||||||
@@ -257,20 +281,23 @@ yeast has been isolated like this from century old sourdough
|
|||||||
starters.
|
starters.
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-starter-readiness.tex}
|
\input{figures/fig-starter-readiness.tex}
|
||||||
\caption[Sourdough readiness flow chart]{A flow chart showing you how to
|
\caption[Determining sourdough starter readiness]{A flow chart showing you how to
|
||||||
determine if your sourdough starter is ready to be used. For checking
|
determine if your sourdough starter is ready to be used. Make sure to
|
||||||
readiness look at a size increase and take note of your starter's smell.
|
wait at least \qtyrange{6}{12}{\hour} after feeding your
|
||||||
Both are important indicators to check for readiness.}%
|
starter to check its readiness. To evaluate it, look at your starter's size
|
||||||
|
increase, airy texture and take note of its smell.
|
||||||
|
All three factors are important to properly evaluate your starter's activity level.
|
||||||
|
An active starter is an important foundation for a successful dough fermentation}%
|
||||||
\label{fig:sourdough-starter-readiness}
|
\label{fig:sourdough-starter-readiness}
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
\end{flowchart}
|
||||||
|
|
||||||
The key signs to look at are bubbles that you see in your starter
|
The key sign to look at is bubbles that you see in your starter
|
||||||
jar. This is a sign that the yeast is metabolizing your
|
jar. This is a sign that the yeast is metabolizing your
|
||||||
dough and creates \ch{CO2}. The \ch{CO2} is trapped in your dough
|
dough and creates \ch{CO2}. The \ch{CO2} is trapped in your dough
|
||||||
matrix and then visualized on the edges of the container.
|
matrix and then visualized on the edges of the container.
|
||||||
|
|
||||||
Also note the size increase of your dough. The amount the dough increases
|
Also note the size increase of your dough. The amount the dough increases
|
||||||
in size is irrelevant. Some bakers claim it doubles, triples or quadruples.
|
in size is irrelevant. Some bakers claim it doubles, triples or quadruples.
|
||||||
The amount of size increase depends on your microbes, but also on
|
The amount of size increase depends on your microbes, but also on
|
||||||
@@ -282,11 +309,13 @@ wheat microbes might be better at breaking down gluten compared
|
|||||||
to rye microbes. That's one of the reasons why I~decided to change
|
to rye microbes. That's one of the reasons why I~decided to change
|
||||||
the flour of my sourdough starter quite often. I~had hoped to create
|
the flour of my sourdough starter quite often. I~had hoped to create
|
||||||
an all-around starter that can ferment all sorts of different
|
an all-around starter that can ferment all sorts of different
|
||||||
flour\footnote{Whether this is working I~can't scientifically say.
|
flour\footnote{Whether this is working, I~can't scientifically say.
|
||||||
Typically the microbes that have once taken place are very strong
|
Typically the microbes that have once taken place are very strong
|
||||||
and won't allow other microbes to enter. My starter has initially
|
and won't allow other microbes to enter. My starter has initially
|
||||||
been made with rye flour. So chances are that the majority of
|
been made with rye flour. So chances are that the majority of
|
||||||
my microorganisms are from a rye source.}. Your nose is also
|
my microorganisms are from a rye source.}.
|
||||||
|
|
||||||
|
Your nose is also
|
||||||
a great tool to determine starter readiness. Depending on
|
a great tool to determine starter readiness. Depending on
|
||||||
your starter's microbiome you should notice either the smell
|
your starter's microbiome you should notice either the smell
|
||||||
of lactic acid or acetic acid. Lactic acid has dairy yogurty notes.
|
of lactic acid or acetic acid. Lactic acid has dairy yogurty notes.
|
||||||
@@ -298,25 +327,26 @@ to determine starter readiness.
|
|||||||
In rare events your flour might be treated and prevent microbe growth.
|
In rare events your flour might be treated and prevent microbe growth.
|
||||||
This can happen if the flour is not organic and a lot of biochemical
|
This can happen if the flour is not organic and a lot of biochemical
|
||||||
agents have been used by the farmer. In that case simply try again
|
agents have been used by the farmer. In that case simply try again
|
||||||
with different flour. 7 days is a good period of time to wait before
|
with different flour. Ten~days is a good period of time to wait before
|
||||||
trying again.
|
trying again.
|
||||||
|
|
||||||
Another methodology used by some bakers is the so called \emph{float test}.
|
Another methodology used by some bakers is the so called \emph{float test}.
|
||||||
The idea is to take a piece of your sourdough starter and place it
|
The idea is to take a piece of your sourdough starter and place it
|
||||||
on top of some water. If the dough is full with gas it will float
|
on top of some water, if the dough is full with gas it will float
|
||||||
on top of the water. If it's not ready, it can't float and will
|
on top of the water. If it's not ready, it can't float and will
|
||||||
sink to the bottom. This test does not work with every flour.
|
sink to the bottom. This test does not work with every flour,
|
||||||
Rye flour for instance can't retain the gas as well as wheat flour
|
rye flour for instance can't retain the gas as well as wheat flour
|
||||||
and thus in some cases will not float. That's why I~personally
|
and thus in some cases will not float. That's why I~personally
|
||||||
don't use this test and can't recommend it.
|
don't use this test and can't recommend it.
|
||||||
|
|
||||||
Once you see your starter is ready I~would recommend giving it
|
Once you see your starter is ready I~would recommend giving it
|
||||||
one last feeding and then you are ready to make your dough in the
|
one last feeding and then you are ready to make your dough in the
|
||||||
evening or the next day. For the instructions to make your
|
evening or the next day. For the instructions on how to make your
|
||||||
first dough please refer to the next chapters in this book.
|
first dough please refer to the next chapters (\ref{ch:wheat-sourdough}
|
||||||
|
and~\ref{ch:non-wheat-sourdough}) in this book.
|
||||||
|
|
||||||
If your first bread failed, chances are your fermentation hasn't
|
If your first bread failed, chances are your fermentation hasn't
|
||||||
worked as expected. In many cases the source is your sourdough starter. Maybe
|
worked as expected. In many cases the reason is your sourdough starter. Maybe
|
||||||
the balance of bacteria and yeast isn't optimal yet. In that case a good
|
the balance of bacteria and yeast isn't optimal yet. In that case a good
|
||||||
solution is to keep feeding your starter once per day. With each feeding your
|
solution is to keep feeding your starter once per day. With each feeding your
|
||||||
starter becomes better at fermenting flour. The microbes will adapt more and
|
starter becomes better at fermenting flour. The microbes will adapt more and
|
||||||
@@ -327,7 +357,7 @@ yeast part of your sourdough and balance the fermentation.
|
|||||||
\section{Maintenance}
|
\section{Maintenance}
|
||||||
|
|
||||||
\begin{flowchart}[!htb]
|
\begin{flowchart}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{figures/fig-starter-maintenance.tex}
|
\input{figures/fig-starter-maintenance.tex}
|
||||||
\caption[Sourdough starter maintenance flowchart]{A full flowchart showing
|
\caption[Sourdough starter maintenance flowchart]{A full flowchart showing
|
||||||
you how to conduct proper sourdough starter maintenance. You can use a
|
you how to conduct proper sourdough starter maintenance. You can use a
|
||||||
@@ -337,7 +367,6 @@ yeast part of your sourdough and balance the fermentation.
|
|||||||
\qty{100}{\percent} hydration level. Adjust the water content
|
\qty{100}{\percent} hydration level. Adjust the water content
|
||||||
accordingly when you use a stiff starter.}%
|
accordingly when you use a stiff starter.}%
|
||||||
\label{fig:sourdough-maintenance-process}
|
\label{fig:sourdough-maintenance-process}
|
||||||
\end{center}
|
|
||||||
\end{flowchart}
|
\end{flowchart}
|
||||||
|
|
||||||
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
|
||||||
@@ -393,8 +422,8 @@ sourdough starter into the right shape again.
|
|||||||
The following are a couple of scenarios that will help you to conduct proper
|
The following are a couple of scenarios that will help you to conduct proper
|
||||||
starter maintenance, depending on when you want to bake the next time.
|
starter maintenance, depending on when you want to bake the next time.
|
||||||
|
|
||||||
\textbf{I~would like to bake again the next day:}
|
\begin{description}
|
||||||
|
\item[I~would like to bake again the next day:]
|
||||||
Simply take whatever starter you have left and feed it again. If you depleted
|
Simply take whatever starter you have left and feed it again. If you depleted
|
||||||
all your starter you can cut a piece of your dough. The dough itself is
|
all your starter you can cut a piece of your dough. The dough itself is
|
||||||
nothing different than a gigantic starter. I~recommend a 1:5:5 ratio like
|
nothing different than a gigantic starter. I~recommend a 1:5:5 ratio like
|
||||||
@@ -405,8 +434,7 @@ case I~would go for a 1:10:10 ratio. Sometimes I~don't have enough starter.
|
|||||||
Then I~even use a ratio of 1:50:50 or 1:100:100. Depending on how much new
|
Then I~even use a ratio of 1:50:50 or 1:100:100. Depending on how much new
|
||||||
flour you feed it takes longer for your starter to be ready again.
|
flour you feed it takes longer for your starter to be ready again.
|
||||||
|
|
||||||
\textbf{I~would like to take a break and bake next week:}
|
\item[I~would like to take a break and bake next week:]
|
||||||
|
|
||||||
Simply take your leftover starter and place it inside of your fridge. It will stay good
|
Simply take your leftover starter and place it inside of your fridge. It will stay good
|
||||||
for a very long period. The only thing I~see happening is the surface
|
for a very long period. The only thing I~see happening is the surface
|
||||||
drying out in the fridge. So I~recommend drowning the starter in a little bit
|
drying out in the fridge. So I~recommend drowning the starter in a little bit
|
||||||
@@ -414,18 +442,17 @@ of water. This extra layer of water provides good protection from the top
|
|||||||
part drying out. As mold is aerobic it can not grow efficiently under
|
part drying out. As mold is aerobic it can not grow efficiently under
|
||||||
water~\cite{mold+anaerobic}. Before using the starter again simply either stir
|
water~\cite{mold+anaerobic}. Before using the starter again simply either stir
|
||||||
the liquid into the dough or drain it. If you drain the liquid you can use it
|
the liquid into the dough or drain it. If you drain the liquid you can use it
|
||||||
to make a lacto fermented hot sauce for instance.
|
to make a lacto-fermented hot sauce for instance.
|
||||||
|
|
||||||
The colder it is the longer you preserve a good balance of yeast and
|
The colder it is the longer you preserve a good balance of yeast and
|
||||||
bacteria. Generally, the warmer it is the faster the fermentation process is,
|
bacteria. Generally, the warmer it is the faster the fermentation process is,
|
||||||
and the colder it is the slower the whole process becomes.
|
and the colder it is the slower the whole process becomes.
|
||||||
Below \qty{4}{\degreeCelsius} the starter fermentation almost completely stops. The
|
Below~\qty{4}{\degreeCelsius} the starter fermentation almost completely stops. The
|
||||||
fermentation speed at low temperatures depends on the
|
fermentation speed at low temperatures depends on the
|
||||||
strains of wild yeast and bacteria
|
strains of wild yeast and bacteria
|
||||||
that you have cultivated.
|
that you have cultivated.
|
||||||
|
|
||||||
\textbf{I~would like to take a several months break:}
|
\item[I~would like to take a several months break:]
|
||||||
|
|
||||||
Drying your starter might be the best option to preserve it in this case. As
|
Drying your starter might be the best option to preserve it in this case. As
|
||||||
you remove humidity and food your microbes will sporulate. As there is no
|
you remove humidity and food your microbes will sporulate. As there is no
|
||||||
humidity the spores can resist other pathogens very well. A dried starter can
|
humidity the spores can resist other pathogens very well. A dried starter can
|
||||||
@@ -435,7 +462,7 @@ Simply take your starter and mix it with flour. Try to crumble the starter as
|
|||||||
much as possible. Add more flour continuously until you notice that there is no
|
much as possible. Add more flour continuously until you notice that there is no
|
||||||
moisture left. Place the flour starter in a dry place in your house. Let it
|
moisture left. Place the flour starter in a dry place in your house. Let it
|
||||||
dry out even more. If you have a dehydrator you can use this to speed up the
|
dry out even more. If you have a dehydrator you can use this to speed up the
|
||||||
process. Set it to around \qty{30}{\degreeCelsius} and dry the starter for 12--20~hours. The next
|
process. Set it to around~\qty{30}{\degreeCelsius} and dry the starter for 12--20~hours. The next
|
||||||
day your starter has dried out a bit. It is in a vulnerable state as there is still a bit
|
day your starter has dried out a bit. It is in a vulnerable state as there is still a bit
|
||||||
of humidity left. Add some more flour to speed up the drying process. Repeat
|
of humidity left. Add some more flour to speed up the drying process. Repeat
|
||||||
for another 2 days until you feel that there is no humidity left. This is
|
for another 2 days until you feel that there is no humidity left. This is
|
||||||
@@ -445,10 +472,11 @@ the dried starter. Both options work perfectly fine. Your sporulated starter
|
|||||||
is now waiting for your next feeding. If available you can add some silica
|
is now waiting for your next feeding. If available you can add some silica
|
||||||
bags to the container to further absorb excess moisture.
|
bags to the container to further absorb excess moisture.
|
||||||
|
|
||||||
Initially, it would take about 3 days for my starter to become alive again
|
Initially, it would take about three~days for my starter to become alive again
|
||||||
after drying and reactivating it. If I~do the same thing now my starter is
|
after drying and reactivating it. If I~do the same thing now my starter is
|
||||||
sometimes ready after a single feeding. It seems that the microbes adapt. The ones
|
sometimes ready after a single feeding. It seems that the microbes adapt. The ones
|
||||||
that survive this shock become dominant subsequently.
|
that survive this shock become dominant subsequently.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
So in conclusion the maintenance mode you choose depends on when you want to bake next.
|
So in conclusion the maintenance mode you choose depends on when you want to bake next.
|
||||||
The goal of each new feeding is to make sure your starter
|
The goal of each new feeding is to make sure your starter
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
\ProvidesPackage{sourdough}
|
\ProvidesPackage{sourdough}
|
||||||
\usepackage{blindtext}
|
\usepackage{blindtext}
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
|
\usepackage{pgfplots}
|
||||||
\usepackage{booktabs}
|
\usepackage{booktabs}
|
||||||
\usepackage{longtable}
|
\usepackage{longtable}
|
||||||
\usepackage{chemformula}
|
\usepackage{chemformula}
|
||||||
\usepackage{chemfig}
|
\usepackage{chemfig}
|
||||||
\usepackage{booktabs}
|
|
||||||
\usepackage{makecell}
|
\usepackage{makecell}
|
||||||
\usepackage[mode=match, reset-text-family=false]{siunitx}
|
\usepackage[mode=match, reset-text-family=false]{siunitx}
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
@@ -13,20 +13,31 @@
|
|||||||
\usepackage[font={sffamily, sbseries}]{quoting}
|
\usepackage[font={sffamily, sbseries}]{quoting}
|
||||||
\usepackage{microtype}
|
\usepackage{microtype}
|
||||||
|
|
||||||
|
% style=nextline breaks on make4ht
|
||||||
|
\ifdefined\HCode\else
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\setlist[description]{style=nextline, leftmargin=0cm}
|
||||||
|
\fi
|
||||||
|
|
||||||
\DeclareNewTOC[
|
\DeclareNewTOC[
|
||||||
type=flowchart,%
|
type=flowchart,%
|
||||||
types=flowcharts,% ,
|
types=flowcharts,% ,
|
||||||
float,
|
float,
|
||||||
floattype=4,%
|
floattype=4,%
|
||||||
|
counterwithin=chapter,
|
||||||
name=Flowchart,%
|
name=Flowchart,%
|
||||||
listname = {List of Flowcharts}
|
listname = {List of Flowcharts}
|
||||||
]{loc}
|
]{loc}
|
||||||
\setuptoc{loc}{chapteratlist}
|
\setuptoc{loc}{chapteratlist}
|
||||||
\DeclareTOCStyleEntry[numwidth=3em]{tocline}{figure}
|
\DeclareTOCStyleEntry[numwidth=3em]{tocline}{figure}
|
||||||
|
\DeclareTOCStyleEntry[numwidth=3em]{tocline}{flowchart}
|
||||||
|
\DeclareTOCStyleEntry[numwidth=3em]{tocline}{table}
|
||||||
|
|
||||||
% Common abbreviations
|
% Common abbreviations
|
||||||
\newcommand{\ie}{\emph{i.e.}\@ifnextchar.{\!\@gobble}{}}
|
\input{abbreviations.tex}
|
||||||
\newcommand{\eg}{\emph{e.g.}\@ifnextchar.{\!\@gobble}{}}
|
|
||||||
|
% Consistent pH values
|
||||||
|
\newcommand{\pHvalue}[1]{pH~\SI{#1}{}}
|
||||||
|
|
||||||
% For tables
|
% For tables
|
||||||
\renewcommand\theadfont{\bfseries}
|
\renewcommand\theadfont{\bfseries}
|
||||||
@@ -41,8 +52,9 @@
|
|||||||
\DeclareRobustCommand\sbseries{\fontseries{sb}\selectfont}
|
\DeclareRobustCommand\sbseries{\fontseries{sb}\selectfont}
|
||||||
% Fonts for accessibility
|
% Fonts for accessibility
|
||||||
\ifdefined\isaccessible
|
\ifdefined\isaccessible
|
||||||
\setmainfont{Open Sans}[
|
\usepackage[mathrm=sym]{unicode-math}
|
||||||
Scale=MatchLowercase]
|
\setmathfont{Fira Math}[Scale=MatchLowercase]
|
||||||
|
\setmainfont{Open Sans}[Scale=MatchLowercase]
|
||||||
\else
|
\else
|
||||||
\setmainfont{TeX Gyre Pagella}[Scale=1.0] % Or Palatino Linotype, etc.
|
\setmainfont{TeX Gyre Pagella}[Scale=1.0] % Or Palatino Linotype, etc.
|
||||||
% TODO not available on github CI
|
% TODO not available on github CI
|
||||||
@@ -62,10 +74,11 @@
|
|||||||
\addbibresource{references.bib}
|
\addbibresource{references.bib}
|
||||||
|
|
||||||
% Clickable links in the table of contents
|
% Clickable links in the table of contents
|
||||||
\usepackage[ocgcolorlinks]{hyperref}
|
\usepackage{hyperref}
|
||||||
\usepackage{bookmark}
|
\usepackage{bookmark}
|
||||||
\hypersetup{%
|
\hypersetup{%
|
||||||
linktoc=all,
|
linktoc=all,
|
||||||
|
colorlinks = true,
|
||||||
linkcolor = hlorange,
|
linkcolor = hlorange,
|
||||||
urlcolor = codeblue,
|
urlcolor = codeblue,
|
||||||
citecolor = hlocre,
|
citecolor = hlocre,
|
||||||
@@ -96,11 +109,12 @@
|
|||||||
{wheat-sourdough/}
|
{wheat-sourdough/}
|
||||||
{wheat-sourdough/shaping/}
|
{wheat-sourdough/shaping/}
|
||||||
{non-wheat-sourdough/}
|
{non-wheat-sourdough/}
|
||||||
|
{mix-ins/}
|
||||||
}
|
}
|
||||||
|
|
||||||
% Caption and figure size below images
|
% Caption and figure size below images
|
||||||
\usepackage{caption}
|
\addtokomafont{captionlabel}{\textbf}
|
||||||
\captionsetup[figure]{font=footnotesize}
|
\addtokomafont{caption}{\small}
|
||||||
|
|
||||||
\DeclareSIUnit\degF{\text{°}F}
|
\DeclareSIUnit\degF{\text{°}F}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
book.tex
|
|
||||||
562
book/spelling_exceptions.txt
Normal file
@@ -0,0 +1,562 @@
|
|||||||
|
0cm
|
||||||
|
0pt
|
||||||
|
100x
|
||||||
|
10x
|
||||||
|
1940s
|
||||||
|
1cm
|
||||||
|
1em
|
||||||
|
1in
|
||||||
|
1mm
|
||||||
|
1pt
|
||||||
|
2O
|
||||||
|
2cm
|
||||||
|
2mm
|
||||||
|
2pt
|
||||||
|
3cm
|
||||||
|
3em
|
||||||
|
3mm
|
||||||
|
3pt
|
||||||
|
4cm
|
||||||
|
4em
|
||||||
|
4mm
|
||||||
|
4pt
|
||||||
|
5cm
|
||||||
|
5em
|
||||||
|
6cm
|
||||||
|
7cm
|
||||||
|
7em
|
||||||
|
8cm
|
||||||
|
Abu
|
||||||
|
Acad
|
||||||
|
Alanblue
|
||||||
|
Alveograph
|
||||||
|
Amaia
|
||||||
|
Amanor
|
||||||
|
Amylases
|
||||||
|
Andail
|
||||||
|
Andale
|
||||||
|
Andreas
|
||||||
|
Andrieu
|
||||||
|
Andrzej
|
||||||
|
Anonnn
|
||||||
|
Antonie
|
||||||
|
Archaeobotanical
|
||||||
|
Arranz
|
||||||
|
Aryal
|
||||||
|
Aurore
|
||||||
|
Autolyse
|
||||||
|
BTSkete
|
||||||
|
BUtn4HKAiBs
|
||||||
|
Bangzhu
|
||||||
|
Banneton
|
||||||
|
Bassinage
|
||||||
|
Battista
|
||||||
|
Berghoff
|
||||||
|
BigWullie
|
||||||
|
Biopreservation
|
||||||
|
Bleve
|
||||||
|
Blixikan
|
||||||
|
Blusie
|
||||||
|
Bouguetaïa
|
||||||
|
Brigitta
|
||||||
|
Broa
|
||||||
|
Brockman
|
||||||
|
Brühstück
|
||||||
|
Buehler
|
||||||
|
Buksa
|
||||||
|
Böcker
|
||||||
|
CO2
|
||||||
|
Cagno
|
||||||
|
Capusoni
|
||||||
|
Capyboppy
|
||||||
|
Catzeddu
|
||||||
|
Charliefleurene
|
||||||
|
Chia
|
||||||
|
Chrillesen
|
||||||
|
Christiane
|
||||||
|
Chrysanna
|
||||||
|
Coeliac
|
||||||
|
Compostional
|
||||||
|
Cédric
|
||||||
|
DIY
|
||||||
|
DKitSeattle
|
||||||
|
Danieel
|
||||||
|
Danois
|
||||||
|
DeclareDocumentCommand
|
||||||
|
DeclareNewTOC
|
||||||
|
DeclareRobustCommand
|
||||||
|
DeclareSIUnit
|
||||||
|
DeclareTOCStyleEntry
|
||||||
|
Dekkera
|
||||||
|
Delwen
|
||||||
|
Diastatic
|
||||||
|
Dichev
|
||||||
|
Drey
|
||||||
|
DuBosq
|
||||||
|
Duivelsjong
|
||||||
|
Dybedahl
|
||||||
|
Eicher
|
||||||
|
Elsevier
|
||||||
|
Emerg
|
||||||
|
Ethanoic
|
||||||
|
FEMS
|
||||||
|
Fazio
|
||||||
|
Fermentolyse
|
||||||
|
Fermentolysis
|
||||||
|
Fleischmann
|
||||||
|
Fleischmann's
|
||||||
|
Flipp
|
||||||
|
FontFace
|
||||||
|
François
|
||||||
|
Fredrik
|
||||||
|
Fructilactobacillus
|
||||||
|
Gambu
|
||||||
|
Gasbarrini
|
||||||
|
Gelatinization
|
||||||
|
Geoff
|
||||||
|
Gianluca
|
||||||
|
Glutenins
|
||||||
|
Gobbetti
|
||||||
|
Gognies
|
||||||
|
Goldstein
|
||||||
|
Gottfried
|
||||||
|
Gruyère
|
||||||
|
Guidone
|
||||||
|
Gáliková
|
||||||
|
HCode
|
||||||
|
Halina
|
||||||
|
Hansandremanfredsson
|
||||||
|
Hendrik
|
||||||
|
Heterofermentative
|
||||||
|
Hiroshi
|
||||||
|
Hito
|
||||||
|
Holmer
|
||||||
|
Homofermentative
|
||||||
|
Horsford
|
||||||
|
IfUsePrefixLine
|
||||||
|
IfWideLayout
|
||||||
|
Ifthispageodd
|
||||||
|
Ilsefa
|
||||||
|
Inma
|
||||||
|
Integrale
|
||||||
|
Jc
|
||||||
|
Jessicat
|
||||||
|
Jimjo
|
||||||
|
JorisBelmans
|
||||||
|
Jure
|
||||||
|
Jz
|
||||||
|
KAO
|
||||||
|
KOMA
|
||||||
|
Kankiti
|
||||||
|
Kao
|
||||||
|
Karomizu
|
||||||
|
Keary
|
||||||
|
Kirill
|
||||||
|
KitchenAid
|
||||||
|
Kleinw
|
||||||
|
Kleinwächter
|
||||||
|
Knödel
|
||||||
|
Kochstück
|
||||||
|
Koga
|
||||||
|
Kongraksawech
|
||||||
|
Kotz
|
||||||
|
Krawontka
|
||||||
|
Krzysztof
|
||||||
|
Kuchengnom
|
||||||
|
Kuriyama
|
||||||
|
Lausuch
|
||||||
|
Lecloux
|
||||||
|
Leeuwen
|
||||||
|
Leucosporidium
|
||||||
|
Leung
|
||||||
|
Levain
|
||||||
|
Lievito
|
||||||
|
Lightowler
|
||||||
|
Lili1232000
|
||||||
|
Lise
|
||||||
|
Lizabeth
|
||||||
|
Lucke
|
||||||
|
Lukasz
|
||||||
|
Madjedbebe
|
||||||
|
Maillard
|
||||||
|
Maktabdar
|
||||||
|
Marianito
|
||||||
|
Marijke
|
||||||
|
Maryam
|
||||||
|
MatchLowercase
|
||||||
|
Matsumoto
|
||||||
|
Mattson
|
||||||
|
Mckenney
|
||||||
|
Mcleish
|
||||||
|
Meghann
|
||||||
|
Mello
|
||||||
|
Mercier
|
||||||
|
Michaela
|
||||||
|
Microbiol
|
||||||
|
Mieke
|
||||||
|
Mitelski
|
||||||
|
Moj
|
||||||
|
Monicaks
|
||||||
|
MqH3GVfjfBc
|
||||||
|
Napoli
|
||||||
|
Nic
|
||||||
|
Nirpf
|
||||||
|
Nowak
|
||||||
|
Nowosiadly
|
||||||
|
Nowotna
|
||||||
|
Oest
|
||||||
|
Otaegui
|
||||||
|
Overfermented
|
||||||
|
Paaskus
|
||||||
|
Pagella
|
||||||
|
Palatino
|
||||||
|
Pangea
|
||||||
|
Parmigiano
|
||||||
|
Pentosans
|
||||||
|
Pieter
|
||||||
|
Piskur
|
||||||
|
Pitdepitis
|
||||||
|
Poudel
|
||||||
|
Praznik
|
||||||
|
Pre
|
||||||
|
Preshape
|
||||||
|
Preshaping
|
||||||
|
Proteolytic
|
||||||
|
ProvidesPackage
|
||||||
|
Pui
|
||||||
|
Qingfa
|
||||||
|
Rachana
|
||||||
|
Rafa
|
||||||
|
Raffaella
|
||||||
|
Raptorrich
|
||||||
|
RedeclareSectionCommand
|
||||||
|
Rizthebread
|
||||||
|
Roccato
|
||||||
|
Roijalbaker
|
||||||
|
Rori
|
||||||
|
Saccharomyces
|
||||||
|
Sagar
|
||||||
|
Schmid
|
||||||
|
Schmitz
|
||||||
|
Sebastianklocke
|
||||||
|
Semibold
|
||||||
|
Semmeln
|
||||||
|
Shar
|
||||||
|
Shelleymierle
|
||||||
|
Sherik
|
||||||
|
Shi
|
||||||
|
Sivy
|
||||||
|
Smedt
|
||||||
|
Smirnov
|
||||||
|
Sourdoughhome
|
||||||
|
Spelt
|
||||||
|
Spicher
|
||||||
|
Stollen
|
||||||
|
Strambinha
|
||||||
|
Sune
|
||||||
|
T00
|
||||||
|
T1050
|
||||||
|
T110
|
||||||
|
T150
|
||||||
|
T405
|
||||||
|
T45
|
||||||
|
T55
|
||||||
|
T550
|
||||||
|
T80
|
||||||
|
T812
|
||||||
|
TODO
|
||||||
|
Tangzhong
|
||||||
|
Tbonewilly
|
||||||
|
Teepakorn
|
||||||
|
Teff
|
||||||
|
Therealbruce
|
||||||
|
Toph
|
||||||
|
Underfermented
|
||||||
|
Usliv
|
||||||
|
Valadez
|
||||||
|
Valdaora
|
||||||
|
Vassil
|
||||||
|
Vitis
|
||||||
|
Voicu
|
||||||
|
Vollkorn
|
||||||
|
Wikander
|
||||||
|
Wittenboer
|
||||||
|
Yudane
|
||||||
|
Zhou
|
||||||
|
Ziobro
|
||||||
|
Zoltan
|
||||||
|
a4paper
|
||||||
|
achter
|
||||||
|
addbibresource
|
||||||
|
addon
|
||||||
|
afterskip
|
||||||
|
aliquot's
|
||||||
|
alveogram
|
||||||
|
alveograph
|
||||||
|
amylases
|
||||||
|
arabinoxylan
|
||||||
|
archae
|
||||||
|
archaea
|
||||||
|
archaeon
|
||||||
|
autodot
|
||||||
|
autolyse
|
||||||
|
autolysing
|
||||||
|
backend
|
||||||
|
banneton
|
||||||
|
bannetons
|
||||||
|
bassinage
|
||||||
|
batard
|
||||||
|
beforeskip
|
||||||
|
bfseries
|
||||||
|
biber
|
||||||
|
biblatex
|
||||||
|
biga
|
||||||
|
bigskip
|
||||||
|
biocontrol
|
||||||
|
blindtext
|
||||||
|
booktabs
|
||||||
|
breadmaking
|
||||||
|
breadrolls
|
||||||
|
breaklinks
|
||||||
|
bruxellensis
|
||||||
|
c8GId0ByASo
|
||||||
|
caco
|
||||||
|
cagno
|
||||||
|
calc
|
||||||
|
captionsetup
|
||||||
|
carbonarius
|
||||||
|
cerevisiae
|
||||||
|
chapappifchapterprefix
|
||||||
|
chapteratlist
|
||||||
|
chapterformat
|
||||||
|
chapterlinesformat
|
||||||
|
chapterstylebar
|
||||||
|
chapterstylekao
|
||||||
|
chapterstylelines
|
||||||
|
chapterstyleplain
|
||||||
|
chemfig
|
||||||
|
chemformula
|
||||||
|
citecolor
|
||||||
|
codeblack
|
||||||
|
codeblue
|
||||||
|
coeliac
|
||||||
|
countertop
|
||||||
|
crum
|
||||||
|
defaultfontfeatures
|
||||||
|
degF
|
||||||
|
diastatic
|
||||||
|
dimexpr
|
||||||
|
discard2
|
||||||
|
doi
|
||||||
|
eg
|
||||||
|
egypt
|
||||||
|
egyptian
|
||||||
|
ejcn
|
||||||
|
emph
|
||||||
|
endophytes
|
||||||
|
enskip
|
||||||
|
enumitem
|
||||||
|
evans
|
||||||
|
fermentolyse
|
||||||
|
fermentolysis
|
||||||
|
fermentée
|
||||||
|
fi
|
||||||
|
flatbreads
|
||||||
|
flavour
|
||||||
|
flavours
|
||||||
|
fleischmann
|
||||||
|
floattype
|
||||||
|
flushleft
|
||||||
|
flushright
|
||||||
|
fnpct
|
||||||
|
fontseries
|
||||||
|
fontspec
|
||||||
|
foodsafe
|
||||||
|
footnotesize
|
||||||
|
frigidum
|
||||||
|
gMbZeUIVzZY
|
||||||
|
gelatinization
|
||||||
|
gestions
|
||||||
|
giga
|
||||||
|
github
|
||||||
|
glucan
|
||||||
|
glutenin
|
||||||
|
glycaemic
|
||||||
|
graphicspath
|
||||||
|
graphicx
|
||||||
|
hangfrom
|
||||||
|
heterofermentative
|
||||||
|
hfill
|
||||||
|
hidelinks
|
||||||
|
hlocre
|
||||||
|
hlorange
|
||||||
|
hoffset
|
||||||
|
homofermentative
|
||||||
|
howpublished
|
||||||
|
hrule
|
||||||
|
hrulefill
|
||||||
|
hscale
|
||||||
|
hspace
|
||||||
|
htb
|
||||||
|
htp
|
||||||
|
hyperref
|
||||||
|
hypersetup
|
||||||
|
ie
|
||||||
|
ifdefined
|
||||||
|
ifnextchar
|
||||||
|
ifthenelse
|
||||||
|
ifwidelayout
|
||||||
|
includegraphics
|
||||||
|
injera
|
||||||
|
isaccessible
|
||||||
|
jalapeño
|
||||||
|
jordan
|
||||||
|
kao
|
||||||
|
karl
|
||||||
|
keepaspectratio
|
||||||
|
kitchenaid
|
||||||
|
lacto
|
||||||
|
le
|
||||||
|
leavevmode
|
||||||
|
leftmargin
|
||||||
|
lievito
|
||||||
|
linkcolor
|
||||||
|
linktoc
|
||||||
|
listname
|
||||||
|
lll
|
||||||
|
loafpan
|
||||||
|
loc
|
||||||
|
longtable
|
||||||
|
madre
|
||||||
|
make4ht
|
||||||
|
makebox
|
||||||
|
makecell
|
||||||
|
makefile
|
||||||
|
marginparsep
|
||||||
|
marginparwidth
|
||||||
|
mbox
|
||||||
|
microbiome
|
||||||
|
microtype
|
||||||
|
mie
|
||||||
|
milho
|
||||||
|
mixins
|
||||||
|
mtocshift
|
||||||
|
naïve
|
||||||
|
newcommand
|
||||||
|
newif
|
||||||
|
newlength
|
||||||
|
nextline
|
||||||
|
niger
|
||||||
|
nobreakspace
|
||||||
|
nordic
|
||||||
|
nuklei
|
||||||
|
numwidth
|
||||||
|
ocgcolorlinks
|
||||||
|
oddsidemargin
|
||||||
|
outcompete
|
||||||
|
outcompeted
|
||||||
|
outcompeting
|
||||||
|
overferment
|
||||||
|
overfermented
|
||||||
|
overproof
|
||||||
|
overproofing
|
||||||
|
pHvalue
|
||||||
|
paperwidth
|
||||||
|
parbaked
|
||||||
|
parbox
|
||||||
|
parmesan
|
||||||
|
pathreplacing
|
||||||
|
pdfinfo
|
||||||
|
pentosans
|
||||||
|
ph
|
||||||
|
pinkpic
|
||||||
|
png
|
||||||
|
poolish
|
||||||
|
pre
|
||||||
|
preshape
|
||||||
|
preshaping
|
||||||
|
purée
|
||||||
|
pâte
|
||||||
|
raffaella
|
||||||
|
redpic
|
||||||
|
renewcommand
|
||||||
|
rl
|
||||||
|
roti
|
||||||
|
saccharomyces
|
||||||
|
sanfranciscensis
|
||||||
|
sanfrancisco
|
||||||
|
saprotrophic
|
||||||
|
sbseries
|
||||||
|
scalebox
|
||||||
|
scandinavia
|
||||||
|
scorings
|
||||||
|
selectfont
|
||||||
|
semibold
|
||||||
|
setchapterimage
|
||||||
|
setchapterpreamble
|
||||||
|
setchapterstyle
|
||||||
|
setlength
|
||||||
|
setlist
|
||||||
|
setmainfont
|
||||||
|
setmonofont
|
||||||
|
setsansfont
|
||||||
|
setuptoc
|
||||||
|
sffamily
|
||||||
|
shelflife
|
||||||
|
siunitx
|
||||||
|
sj
|
||||||
|
smedt
|
||||||
|
softbuns
|
||||||
|
spelt
|
||||||
|
sporulated
|
||||||
|
sporulates
|
||||||
|
sporulating
|
||||||
|
sporulation
|
||||||
|
standmixer
|
||||||
|
stollen
|
||||||
|
sublicense
|
||||||
|
sug
|
||||||
|
switzerland
|
||||||
|
teff
|
||||||
|
tex
|
||||||
|
textwidth
|
||||||
|
th
|
||||||
|
theadfont
|
||||||
|
thechapter
|
||||||
|
thrillist
|
||||||
|
tikz
|
||||||
|
tikzpicture
|
||||||
|
timeframe
|
||||||
|
timespan
|
||||||
|
tocline
|
||||||
|
toolchain
|
||||||
|
touchpoints
|
||||||
|
transformative
|
||||||
|
uk
|
||||||
|
unchlorinated
|
||||||
|
underfermented
|
||||||
|
underproofed
|
||||||
|
url
|
||||||
|
urlcolor
|
||||||
|
usepackage
|
||||||
|
vfDIfkqBCuk
|
||||||
|
vienna
|
||||||
|
vinifera
|
||||||
|
viscoelastic
|
||||||
|
vscale
|
||||||
|
vspace
|
||||||
|
wahlfeld
|
||||||
|
wait1
|
||||||
|
wait2
|
||||||
|
xsep
|
||||||
|
xshift
|
||||||
|
yYkTrGHNW2w
|
||||||
|
yeasted
|
||||||
|
yellowpic
|
||||||
|
yogurty
|
||||||
|
ysep
|
||||||
|
yshift
|
||||||
|
yudane
|
||||||
|
ziplock
|
||||||
|
Örjan
|
||||||
|
Łukasz
|
||||||
@@ -1,17 +1,19 @@
|
|||||||
|
\chapter{Storing bread}%
|
||||||
|
\label{ch:storing-bread}
|
||||||
\begin{quoting}
|
\begin{quoting}
|
||||||
In this chapter you will learn about different
|
In this chapter you will discuss different methods of storing your bread, each
|
||||||
methods of storing your bread. This way
|
with their own pro and cons. This way your bread can be best enjoyed at a
|
||||||
your bread can be best enjoyed at a later
|
later time.
|
||||||
time.
|
|
||||||
\end{quoting}
|
\end{quoting}
|
||||||
|
|
||||||
|
A summary can be found in Table~\ref{table:bread-storage}, with details and
|
||||||
|
explanation in the rest of this chapter.
|
||||||
\begin{table}[!htb]
|
\begin{table}[!htb]
|
||||||
\begin{center}
|
\centering
|
||||||
\input{tables/table-storing-bread-overview.tex}
|
\input{tables/table-storing-bread-overview.tex}
|
||||||
\caption[Options to store bread]{A table visualizing the advantages
|
\caption[Options to store bread]{A table visualizing the advantages
|
||||||
and disadvantages of different bread storing options.}%
|
and disadvantages of different bread storing options.}%
|
||||||
\label{table:bread-storage}
|
\label{table:bread-storage}
|
||||||
\end{center}
|
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\section{Room temperature}
|
\section{Room temperature}
|
||||||
@@ -35,7 +37,7 @@ A low-hydration recipe can dry out after 1--2 days;
|
|||||||
a high-hydration bread needs 3--4 days to dry out.
|
a high-hydration bread needs 3--4 days to dry out.
|
||||||
|
|
||||||
Once your bread has dried out, you can run it under
|
Once your bread has dried out, you can run it under
|
||||||
tap water for around 10 to 15 seconds.
|
tap water for around 10 to 15~seconds.
|
||||||
This water bath allows the
|
This water bath allows the
|
||||||
crumb's starch to absorb a lot of water. Proceed and
|
crumb's starch to absorb a lot of water. Proceed and
|
||||||
bake your bread again in the oven. The resulting loaf
|
bake your bread again in the oven. The resulting loaf
|
||||||
@@ -55,9 +57,9 @@ base ingredients for other recipes such as \emph{Knödel}\footnote{\emph{Knödel
|
|||||||
Just like the previous option, you can also store your
|
Just like the previous option, you can also store your
|
||||||
bread inside a container. This could be a paper bag,
|
bread inside a container. This could be a paper bag,
|
||||||
a plastic bag, or a bread storage box. The paper bag and
|
a plastic bag, or a bread storage box. The paper bag and
|
||||||
most bread boxes are not fully sealed. They allow some of
|
most bread boxes are not fully sealed, allowing some of
|
||||||
the air to diffuse out of the container. This means that
|
the air to diffuse out of the container. This also means that
|
||||||
the bread will also slightly dry out.
|
the bread will slightly dry out.
|
||||||
|
|
||||||
When using a sealed bag such as a plastic bag, the bread
|
When using a sealed bag such as a plastic bag, the bread
|
||||||
will retain a lot of moisture. The bread will stay good
|
will retain a lot of moisture. The bread will stay good
|
||||||
@@ -81,7 +83,7 @@ inhibitor.
|
|||||||
\section{Fridge}
|
\section{Fridge}
|
||||||
|
|
||||||
In my own experience storing bread inside the fridge
|
In my own experience storing bread inside the fridge
|
||||||
works well as long as you use a sealed container. Some
|
works well as long as you use a sealed container, even if some
|
||||||
sources say that the bread dries out inside of the
|
sources say that the bread dries out inside of the
|
||||||
fridge~\cite{storing+bread}. Supposedly the fridge
|
fridge~\cite{storing+bread}. Supposedly the fridge
|
||||||
encourages liquid from the crumb to migrate to the bread's surface.
|
encourages liquid from the crumb to migrate to the bread's surface.
|
||||||
@@ -103,13 +105,18 @@ that you can consume within a day. Store each portion
|
|||||||
in a separate container and place them inside your
|
in a separate container and place them inside your
|
||||||
freezer.
|
freezer.
|
||||||
|
|
||||||
When you want to eat fresh bread, open one of the portions
|
When you want to eat fresh bread, open one of the containers
|
||||||
in the morning and allow the bread to thaw over a few
|
in the morning and allow the bread to thaw over a few
|
||||||
hours. This way you can easily remove the frozen-together
|
hours. This is needed so you can easily separate the frozen-together
|
||||||
slices. Proceed and toast the slices in your toaster
|
slices. Toast the slices in your toaster
|
||||||
or bake them in the oven until they have the crispness
|
or bake them in the oven until they have the crispness
|
||||||
that you like.
|
that you like.
|
||||||
|
|
||||||
This option is great for very long-term storage. Personally
|
This option is great for very long-term storage. Personally
|
||||||
I~like having a few slices of bread frozen as an emergency
|
I~like having a few slices of bread frozen as an emergency
|
||||||
backup when I~have had no time to bake.
|
backup when I~have had no time to bake.
|
||||||
|
|
||||||
|
A 2008 study hints that there might be some health benefits to freezing and
|
||||||
|
toasting your bread. By doing so the starch molecules could become more
|
||||||
|
resistant to digestion and thus lower your body's blood sugar response by
|
||||||
|
almost \qty{40}{\percent}~\cite{freezing+toasting+bread}.
|
||||||
|
|||||||
289
book/style.css
@@ -1,16 +1,20 @@
|
|||||||
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;800&display=swap');
|
|
||||||
|
|
||||||
:root{
|
:root{
|
||||||
--ff-sans: 'Open Sans', sans-serif;
|
--ff-sans: 'Open Sans', sans-serif;
|
||||||
--fw-regular: 400;
|
--fw-regular: 400;
|
||||||
--fw-bold: 800;
|
--fw-bold: 800;
|
||||||
--f-lh: 28px;
|
--f-lh: 28px;
|
||||||
--c-black: #282828;
|
--c-black: #282828;
|
||||||
|
--c-black-background: #1c1819;
|
||||||
--fs-xxxl: 32px;
|
--fs-xxxl: 32px;
|
||||||
--fs-xxl: 26px;
|
--fs-xxl: 26px;
|
||||||
--fs-xl: 24px;
|
--fs-xl: 24px;
|
||||||
--fs-l: 22px;
|
--fs-l: 22px;
|
||||||
--fs-m: 16px;
|
--fs-m: 16px;
|
||||||
|
--padding-hamburger: 5px;
|
||||||
|
--c-beige: #F3EDE6;
|
||||||
|
--border-radius: 7px;
|
||||||
|
--image-padding: 14px;
|
||||||
|
--image-background: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1200px){
|
@media (min-width: 1200px){
|
||||||
@@ -37,6 +41,7 @@ body{
|
|||||||
font-family: var(--ff-sans);
|
font-family: var(--ff-sans);
|
||||||
font-weight: var(--fw-regular);
|
font-weight: var(--fw-regular);
|
||||||
font-size: var(--fs-m);
|
font-size: var(--fs-m);
|
||||||
|
color: var(--c-black);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 57rem) {
|
@media screen and (min-width: 57rem) {
|
||||||
@@ -59,7 +64,22 @@ body{
|
|||||||
/* ****************** */
|
/* ****************** */
|
||||||
|
|
||||||
main.main-content,main.titlepage,div.footnotes{
|
main.main-content,main.titlepage,div.footnotes{
|
||||||
padding:1rem;
|
}
|
||||||
|
|
||||||
|
.permalink {
|
||||||
|
opacity: 0.5;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
line-height: 0.8rem;
|
||||||
|
margin-left: 0.25rem;
|
||||||
|
color: black;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sectionHead, .subsectionHead {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
align-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.indent, p.noindent{
|
p.indent, p.noindent{
|
||||||
@@ -125,11 +145,8 @@ nav.TOC a, nav.TOC a:visited{
|
|||||||
/* *** Colors *** */
|
/* *** Colors *** */
|
||||||
/* ************** */
|
/* ************** */
|
||||||
|
|
||||||
|
|
||||||
body{
|
body{
|
||||||
background-color:#F8F8F8;
|
background-color: var(--c-beige);
|
||||||
background: url("bg.jpg") center center no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@@ -159,6 +176,7 @@ figure.texsource, figure.shellcommand, figure.htmlsource, figure.luasource, figu
|
|||||||
|
|
||||||
.main-content {
|
.main-content {
|
||||||
line-height: var(--f-lh);
|
line-height: var(--f-lh);
|
||||||
|
margin-left: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.footnotes {
|
div.footnotes {
|
||||||
@@ -214,6 +232,7 @@ figcaption.caption {
|
|||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
width: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-items .chapterToc, .menu-items .likechapterToc {
|
.menu-items .chapterToc, .menu-items .likechapterToc {
|
||||||
@@ -224,6 +243,18 @@ figcaption.caption {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home-link {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-title {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc, .addchapToc a {
|
||||||
|
font-weight: var(--fw-bold);
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.toggle-menu-label {
|
.toggle-menu-label {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -233,7 +264,8 @@ figcaption.caption {
|
|||||||
|
|
||||||
.hamb{
|
.hamb{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: var(--padding-hamburger);
|
||||||
|
margin-right: calc(var(--padding-hamburger) * -1);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
@@ -268,7 +300,7 @@ figcaption.caption {
|
|||||||
.menu {
|
.menu {
|
||||||
background: var(--c-black);
|
background: var(--c-black);
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 10px 0px;
|
padding: 10px 1rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -286,14 +318,17 @@ figcaption.caption {
|
|||||||
display: block;
|
display: block;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: bold;
|
font-weight: var(--fw-bold);
|
||||||
padding-left: 17px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.chapterToc a, .sectionToc a, .subsectionToc a, .likechapterToc a {
|
.chapterToc a, .sectionToc a, .subsectionToc a, .likechapterToc a {
|
||||||
padding-left: 17px;
|
padding-left: 17px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.menu-items .chapterToc.home-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.home-title {
|
.home-title {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -304,7 +339,7 @@ div.center {
|
|||||||
margin-right: 0 !important;
|
margin-right: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
main.titlepage h2.chapterHead {
|
main.main-content h2.chapterHead, main.main-content h2.likechapterHead {
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -352,3 +387,233 @@ h4 {
|
|||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main.main-content, div.footnotes, main.titlepage {
|
||||||
|
background-color: var(--c-beige);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
background-color: var(--c-black-background);
|
||||||
|
width: 100%;
|
||||||
|
height: 340px;
|
||||||
|
display: flex;
|
||||||
|
align-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header img {
|
||||||
|
border-radius: 0px;
|
||||||
|
border: none;
|
||||||
|
width: 710px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-content {
|
||||||
|
display: flex;
|
||||||
|
padding: 0px 40px;
|
||||||
|
max-width: 1200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.TOC.menu {
|
||||||
|
width: 330px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.TOC, nav.TOC a, nav.TOC a:visited {
|
||||||
|
background-color: transparent;
|
||||||
|
color: var(--c-black);
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-inner {
|
||||||
|
border: 2px solid var(--c-black);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-entry {
|
||||||
|
padding: 1px;
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-arrow {
|
||||||
|
width: 14px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.TOC span:hover, nav.TOC span:hover *, nav.TOC span.chapterToc.selected, nav.TOC span.chapterToc.selected a {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-entry:hover {
|
||||||
|
background-color: #c8c8c8;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.flowchart-image-wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-items .menu-group:last-of-type .menu-arrow {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.crosslinks-bottom {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.crosslinks-bottom a {
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 2px solid var(--c-black);
|
||||||
|
color: var(--c-black);
|
||||||
|
padding: 4px;
|
||||||
|
font-weight: var(--fw-bold);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.crosslinks-bottom a.prev {
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.crosslinks-bottom a:hover {
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-group.selected .menu-inner {
|
||||||
|
background-color: #c8c8c8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.TOC.menu {
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-banner {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.float, div.figure, figure.figure {
|
||||||
|
padding: var(--image-padding);
|
||||||
|
background: var(--image-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.figure p.noindent {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flowchart-image-wrapper {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
main.main-content h2.chapterHead.home-content-title {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.download-description {
|
||||||
|
font-weight: var(--fw-bold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.download-links {
|
||||||
|
p.indent, p.noindent {
|
||||||
|
text-align: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.header {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-content {
|
||||||
|
padding: 0px;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-content {
|
||||||
|
width: 100%;
|
||||||
|
margin-left: 0px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0px 14px;
|
||||||
|
margin-top: 20px;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.TOC.menu {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
background: var(--c-black-background);
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav.TOC, nav.TOC a, nav.TOC a:visited {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.menu-arrow {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-inner {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-group.selected .menu-inner {
|
||||||
|
background: var(--c-black-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-entry:hover {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.TOC.menu {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-banner {
|
||||||
|
display: block;
|
||||||
|
background-color: var(--c-black-background);
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.mobile-banner a img {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.float, div.figure, figure.figure {
|
||||||
|
padding: calc(var(--image-padding) / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,22 @@
|
|||||||
Abu,
|
Abu,
|
||||||
Adam,
|
Adam,
|
||||||
|
Adele Schmitz,
|
||||||
|
Agatha,
|
||||||
|
Alanblue,
|
||||||
|
Albert,
|
||||||
Alicia,
|
Alicia,
|
||||||
|
Amanda M.,
|
||||||
|
Amanor,
|
||||||
|
Andail,
|
||||||
Andreas Schmid,
|
Andreas Schmid,
|
||||||
|
Andrzej Mitelski,
|
||||||
Anna G.,
|
Anna G.,
|
||||||
anonnn,
|
Anonnn,
|
||||||
aomanor,
|
Anthony Atkinson,
|
||||||
Aurore,
|
Aurore,
|
||||||
Beatriz,
|
Beatriz,
|
||||||
Bee,
|
Bee,
|
||||||
|
Ben Davies,
|
||||||
BigWullie,
|
BigWullie,
|
||||||
Blixikan,
|
Blixikan,
|
||||||
Blusie,
|
Blusie,
|
||||||
@@ -17,9 +26,12 @@ BTSkete,
|
|||||||
C Fazio,
|
C Fazio,
|
||||||
Cal Kotz,
|
Cal Kotz,
|
||||||
Case,
|
Case,
|
||||||
|
Cédric Andrieu,
|
||||||
Charlene Adkins,
|
Charlene Adkins,
|
||||||
|
Chin Pui Ling,
|
||||||
Chris DuBosq,
|
Chris DuBosq,
|
||||||
Chris G,
|
Chris G,
|
||||||
|
Chris Toph,
|
||||||
Christiane B,
|
Christiane B,
|
||||||
Christine,
|
Christine,
|
||||||
Chrysanna,
|
Chrysanna,
|
||||||
@@ -30,26 +42,30 @@ David,
|
|||||||
Dee,
|
Dee,
|
||||||
Desiree S,
|
Desiree S,
|
||||||
DKitSeattle,
|
DKitSeattle,
|
||||||
dlenkes,
|
Douglas Penna,
|
||||||
douglas.penna,
|
Drey,
|
||||||
DRey,
|
|
||||||
Duivelsjong,
|
Duivelsjong,
|
||||||
|
Elaine Leung,
|
||||||
Ellie,
|
Ellie,
|
||||||
Ethan,
|
Ethan,
|
||||||
Francois le Danois,
|
François le Danois,
|
||||||
|
Fredrik,
|
||||||
Geoff,
|
Geoff,
|
||||||
Guillermo,
|
Guillermo,
|
||||||
HansAndreManfredsson,
|
Hansandremanfredsson,
|
||||||
Heather Currier,
|
Heather Currier,
|
||||||
Hito,
|
Hito,
|
||||||
IlseFA,
|
Ilsefa,
|
||||||
Inma McLeish,
|
Inma Mcleish,
|
||||||
Jackie,
|
Jackie,
|
||||||
|
Jacques Lucke,
|
||||||
Jan Chrillesen,
|
Jan Chrillesen,
|
||||||
|
Jan-Pieter Van Den Wittenboer,
|
||||||
Jane,
|
Jane,
|
||||||
|
Jc Bell,
|
||||||
Jenny,
|
Jenny,
|
||||||
Jessicat,
|
Jessicat,
|
||||||
JimJo,
|
Jimjo,
|
||||||
John E Bergman,
|
John E Bergman,
|
||||||
Jonathan,
|
Jonathan,
|
||||||
JorisBelmans,
|
JorisBelmans,
|
||||||
@@ -57,18 +73,19 @@ Jose Lausuch,
|
|||||||
Judith Roth,
|
Judith Roth,
|
||||||
Julian,
|
Julian,
|
||||||
Justin Dybedahl,
|
Justin Dybedahl,
|
||||||
JZ,
|
Jz,
|
||||||
Kankiti,
|
Kankiti,
|
||||||
Kathy Goldstein,
|
Kathy Goldstein,
|
||||||
kathy word,
|
Kathy Word,
|
||||||
Ken Miller,
|
Ken Miller,
|
||||||
Kirill Sivy,
|
Kirill Sivy,
|
||||||
Kuchengnom,
|
Kuchengnom,
|
||||||
|
Laurent Bouguetaïa,
|
||||||
Leon,
|
Leon,
|
||||||
Lili1232000,
|
Lili1232000,
|
||||||
Lise W,
|
Lise W,
|
||||||
Lizabeth Kelly,
|
Lizabeth Kelly,
|
||||||
lou,
|
Lou,
|
||||||
Lukasz G,
|
Lukasz G,
|
||||||
Manse,
|
Manse,
|
||||||
Marcel,
|
Marcel,
|
||||||
@@ -77,51 +94,57 @@ Marie,
|
|||||||
Marijke,
|
Marijke,
|
||||||
Mark,
|
Mark,
|
||||||
Martin,
|
Martin,
|
||||||
|
Matthew Nowosiadly,
|
||||||
Medea,
|
Medea,
|
||||||
Meghann,
|
Meghann,
|
||||||
Melissa,
|
Melissa,
|
||||||
Michaela,
|
|
||||||
Michaela Gáliková,
|
Michaela Gáliková,
|
||||||
mieke,
|
Michaela,
|
||||||
|
Mieke,
|
||||||
Mimi,
|
Mimi,
|
||||||
moj shar,
|
Moj Shar,
|
||||||
MonicaKS,
|
Monicaks,
|
||||||
Nancy Anne Martin,
|
Nancy Anne Martin,
|
||||||
Nancy Keary,
|
Nancy Keary,
|
||||||
|
Nic Lecloux,
|
||||||
Nick,
|
Nick,
|
||||||
nirpf,
|
Nirpf,
|
||||||
|
Paaskus,
|
||||||
Pascal H,
|
Pascal H,
|
||||||
Paula Jean McKenney Valadez,
|
Paul Will,
|
||||||
|
Paula Jean Mckenney Valadez,
|
||||||
Pauline Roberts (Capyboppy),
|
Pauline Roberts (Capyboppy),
|
||||||
Pitdepitis,
|
Pitdepitis,
|
||||||
Rachelle and Omar,
|
Rachelle And Omar,
|
||||||
RaptorRich,
|
Raptorrich,
|
||||||
Rich,
|
Rich,
|
||||||
RiztheBread,
|
Rizthebread,
|
||||||
RoijalBaker,
|
Roijalbaker,
|
||||||
Rori,
|
Rori,
|
||||||
|
Ruben August Fischer,
|
||||||
Sander,
|
Sander,
|
||||||
Sandy,
|
Sandy,
|
||||||
Sarah,
|
Sarah,
|
||||||
Scooter,
|
Scooter,
|
||||||
Scott Mattson,
|
Scott Mattson,
|
||||||
SebastianKlocke,
|
Sebastianklocke,
|
||||||
Sharon Eicher,
|
Sharon Eicher,
|
||||||
ShelleyMierle,
|
Shelleymierle,
|
||||||
SheriK,
|
Sherik,
|
||||||
|
Smirnov,
|
||||||
Spencer,
|
Spencer,
|
||||||
strambinha,
|
Strambinha,
|
||||||
Sue,
|
|
||||||
Sue,
|
Sue,
|
||||||
Sune,
|
Sune,
|
||||||
Susan,
|
Susan,
|
||||||
Sven,
|
Sven,
|
||||||
tbonewilly,
|
Tbonewilly,
|
||||||
Thales Mello,
|
Thales Mello,
|
||||||
TheRealBruce,
|
Therealbruce,
|
||||||
|
Tracy and Paul Will,
|
||||||
Usliv,
|
Usliv,
|
||||||
Vassil Dichev,
|
Vassil Dichev,
|
||||||
Vladimir Smirnov,
|
Vladimir Smirnov,
|
||||||
Voicu,
|
Voicu,
|
||||||
Zika,
|
Zika,
|
||||||
Zoltan
|
Zoltan.
|
||||||
|
|||||||
|
Can't render this file because it has a wrong number of fields in line 150.
|
@@ -7,7 +7,7 @@
|
|||||||
100 / 212 & Water evaporation & Water begins to evaporate and inflates your dough's alveoli.\\
|
100 / 212 & Water evaporation & Water begins to evaporate and inflates your dough's alveoli.\\
|
||||||
118 / 244 & Acetic acid evaporation & The vinegary tasting acid starts to evaporate, sourness decreases.\\
|
118 / 244 & Acetic acid evaporation & The vinegary tasting acid starts to evaporate, sourness decreases.\\
|
||||||
122 / 252 & Lactic acid evaporation & The dairy tasting lactic acid begins to evaporate, sourness further decreases.\\
|
122 / 252 & Lactic acid evaporation & The dairy tasting lactic acid begins to evaporate, sourness further decreases.\\
|
||||||
140 / 284 & Maillard reaction & The maillard reaction starts to deform starches and proteins.
|
140 / 284 & Maillard reaction & The Maillard reaction starts to deform starches and proteins.
|
||||||
The dough starts browning.\\
|
The dough starts browning.\\
|
||||||
170 / 338 & Caramelization & Remaining sugars begin to caramelise giving your bread a distinct flavor.\\ \bottomrule
|
170 / 338 & Caramelization & Remaining sugars begin to caramelize giving your bread a distinct flavor.\\ \bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
%TODO: last line is not great
|
%TODO: Alignment is not great
|
||||||
-\begin{tabular}{lll}
|
\begin{tabular}{@{}lll@{}}
|
||||||
\toprule
|
\toprule
|
||||||
& \textbf{Flat breads} & \textbf{Pancakes} \\ \midrule
|
& \textbf{Flat breads} & \textbf{Pancakes} \\ \midrule
|
||||||
\textbf{Flour} & 100g & 100g \\
|
Flour & \qty{100}{g} & \qty{100}{g} \\
|
||||||
\textbf{Water} & 100g (100\%) & 300g (300\%) \\
|
Water & up to \qty{100}{g} (\qty{100}{\percent}) & \qty{300}{g} (\qty{300}{\percent}) \\
|
||||||
\textbf{Sourdough starter} & 5--20g (5--20\%) & 5--20g (5--20\%) \\
|
Sourdough starter & 5--\qty{20}{g} (5--\qty{20}{\percent}) & 5--\qty{20}{g} (5--\qty{20}{\percent}) \\
|
||||||
\textbf{Salt} & 2g (2\%) & 2g (2\%) \\
|
Salt & \qty{2}{g} (\qty{2}{\percent}) & \qty{2}{g} (\qty{2}{\percent}) \\
|
||||||
\textbf{Bake when?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \bottomrule
|
Bake when? & Dough increased \qty{50}{\percent} in size & Bubbles visible on surface \\ \bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
\begin{tabular}{@{}llrrr@{}}
|
\begin{tabular}{@{}llrrr@{}}
|
||||||
\toprule
|
\toprule
|
||||||
\thead{USA} & \thead{UK} & {\thead{Germany}} & {\thead{France}} & {\thead{Italy}} \\ \midrule
|
\textbf{USA} & \textbf{UK} & {\textbf{Germany}} & {\textbf{France}} & {\textbf{Italy}} \\ \midrule
|
||||||
Cake & Soft flour & T405 & T45 & 00 \\
|
Cake & Soft flour & T405 & T45 & 00 \\
|
||||||
All purpose & Plain flour & T550 & T55 & 0 \\
|
All purpose & Plain flour & T550 & T55 & 0 \\
|
||||||
& & T812 & T80 & 1 \\
|
Bread flour & Bread flour & T405 or T550 & T45 or T55 & 00 or 0 \\
|
||||||
& & T1050 & T110 & 2 \\
|
& & T812 & T80 & 1 \\
|
||||||
Whole & Whole & Vollkorn & T150 & Integrale \\ \bottomrule
|
& & T1050 & T110 & 2 \\
|
||||||
|
Whole & Whole & Vollkorn & T150 & Integrale \\ \bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|||||||