Screen Readers (#53)

* add tikzcache

* ignore files

* add latexmkrc file

* Move figures to new files

* rename images

* Fix build commands

* Release as epub3 and mobi

* Add cover-image support

* use older epub

* Externalize all tables

* change gh actions command

* fix linux xargs rm
This commit is contained in:
Hendrik Kleinwaechter
2023-03-02 20:33:25 +01:00
committed by GitHub
parent 2691ecfa22
commit 6e97f9bbd0
54 changed files with 766 additions and 536 deletions

View File

@@ -0,0 +1,27 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
\node [block, right of=heat_oven, node distance=3cm] (score_dough) {\footnotesize Score your dough};
\node [decision, right of=score_dough, node distance=4cm] (decide_steam) {\footnotesize Choose your steaming method};
\node [block, below of=heat_oven, node distance=4cm] (inverted_tray_method) {\footnotesize Inverted tray method};
\node [block, right of=inverted_tray_method, node distance=3cm] (dutch_oven) {\footnotesize Dutch oven};
\node [block, right of=dutch_oven, node distance=3cm] (steam_injection) {\footnotesize Steam injection oven};
\node [block, below of=inverted_tray_method, node distance=3cm] (bake_30) {\footnotesize Bake dough for 30 minutes with steam};
\node [block, right of=bake_30, node distance=3cm] (remove_steam) {\footnotesize Remove source of steam};
\node [block, right of=remove_steam, node distance=3cm] (build_crust) {\footnotesize Build the crust};
\node [block, right of=build_crust, node distance=3cm] (finish_baking) {\footnotesize Stop baking 10-30 minutes later depending on crust preference};
\path [line] (heat_oven) -- (score_dough);
\path [line] (score_dough) -- (decide_steam);
\path [line] (decide_steam) -- (inverted_tray_method);
\path [line] (decide_steam) -- (dutch_oven);
\path [line] (decide_steam) -- (steam_injection);
\path [line] (steam_injection) -- (bake_30);
\path [line] (inverted_tray_method) -- (bake_30);
\path [line] (dutch_oven) -- (bake_30);
\path [line] (bake_30) -- (remove_steam);
\path [line] (remove_steam) -- (build_crust);
\path [line] (build_crust) -- (finish_baking);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,13 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Dividing required?};
\node [decision, right of=init, node distance=5cm] (more_than_one_loaf) {\footnotesize More than 1 loaf?};
\node [block, right of=more_than_one_loaf, node distance=5cm] (yes) {\footnotesize Yes};
\node [block, below of=yes, node distance=3cm] (no) {\footnotesize No};
\path [line] (init) -- (more_than_one_loaf);
\path [line] (more_than_one_loaf) -- (yes);
\path [line] (more_than_one_loaf) -- (no);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,25 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Place water tray and stone in oven};
\node [block, right of=init] (heat_oven) {\footnotesize Heat oven to 230°C (446°F) for 30 minutes};
\node [block, right of=heat_oven] (score_your_dough) {\footnotesize Score your dough};
\node [block, right of=score_your_dough] (spritz) {\footnotesize Spritz your dough with water};
\node [block, right of=spritz] (load_tray) {\footnotesize Place non-preheated inverted tray in oven};
\node [block, below of=load_tray, node distance=4cm] (load_doughs) {\footnotesize Load doughs into oven};
\node [block, left of=load_doughs, node distance=3cm] (load_water) {\footnotesize Place water in heated water tray};
\node [block, left of=load_water, node distance=3cm] (bake) {\footnotesize Bake 30 minutes or until core temperature is 92°C (197°F)};
\node [block, left of=bake, node distance=3cm] (remove_steam) {\footnotesize Remove steam source and top tray};
\node [block, left of=remove_steam, node distance=3cm] (finish) {\footnotesize Bake at least another 10 minutes or until crust has your desired color};
\path [line] (init) -- (heat_oven);
\path [line] (heat_oven) -- (score_your_dough);
\path [line] (score_your_dough) -- (spritz);
\path [line] (spritz) -- (load_tray);
\path [line] (load_tray) -- (load_doughs);
\path [line] (load_doughs) -- (load_water);
\path [line] (load_water) -- (bake);
\path [line] (bake) -- (remove_steam);
\path [line] (remove_steam) -- (finish);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,33 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Homogenize recipe ingredients};
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 15 minutes};
\path [line] (init) -- (wait1);
\node [block, right of=wait1, node distance=3cm] (knead1) {\footnotesize Knead 5 minutes};
\path [line] (wait1) -- (knead1);
\node [block, right of=knead1, node distance=3cm] (wait2) {\footnotesize Wait 15 minutes};
\path [line] (knead1) -- (wait2);
\node [decision, below of=wait2, node distance=3cm] (windowpane_test) {\footnotesize Window-pane?};
\path [line] (wait2) -- (windowpane_test);
\path [line] (windowpane_test) -- node{no} (knead1);
\node [decision, left of=windowpane_test, node distance=4.5cm] (more_water) {\footnotesize Bassinage for more water?};
\path [line] (windowpane_test) -- node{yes} (more_water);
\node [block, left of=more_water, node distance=4.5cm] (add_water) {\footnotesize Add water};
\path [line] (more_water) -- node{yes} (add_water);
\path [line] (add_water) -- (knead1);
\node [block, below of=add_water, node distance=4cm] (wait3) {\footnotesize Wait 15 minutes};
\path [line] (add_water) -- (wait3);
\node [decision, right of=wait3, node distance=4.5cm] (dough_sample) {\footnotesize Aliquot jar?};
\path [line] (wait3) -- (dough_sample);
\path [line] (more_water) -- node{no} (dough_sample);
\node [block, right of=dough_sample, node distance=4.5cm] (dough_ball) {\footnotesize Make round dough ball};
\path [line] (dough_sample) -- node{no} (dough_ball);
\node [block, below of=dough_sample, node distance=3cm] (extract_sample) {\footnotesize Extract sample};
\path [line] (dough_sample) -- node{yes} (extract_sample);
\path [line] (extract_sample) -- (dough_ball);
\node [block, below of=dough_ball, node distance=3cm] (begin_bulk) {\footnotesize Begin bulk fermentation};
\path [line] (dough_ball) -- (begin_bulk);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,23 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Make a regular or stiff starter};
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 1g existing starter, 5g flour and 25g water};
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
\node [block, below of=init, node distance=4cm] (feed_again) {\footnotesize Feed again using 1:5:25 ratio};
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
\node [decision, below of=next_day, node distance=4cm] (ready_signs) {\footnotesize Sour yogurty smell and bubbles visible on flour?};
\node [block, below of=test, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
\path [line] (init) -- (feed_new_ratio);
\path [line] (feed_new_ratio) -- (next_day);
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
\path [line] (next_day) -- (feed_again);
\path [line] (test) -- (ready_signs);
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,17 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Mix ingredients};
\node [block, below of=init, node distance=3cm] (bulk_ferment) {\footnotesize Bulk ferment};
\node [block, right of=init, node distance=3cm] (divide) {\footnotesize Divide};
\node [block, below of=divide, node distance=3cm] (shape) {\footnotesize Shape};
\node [block, right of=divide, node distance=3cm] (proof) {\footnotesize Proof};
\node [block, below of=proof, node distance=3cm] (bake) {\footnotesize Bake};
\path [line] (init) -- (bulk_ferment);
\path [line] (bulk_ferment) -- (divide);
\path [line] (divide) -- (shape);
\path [line] (shape) -- (proof);
\path [line] (proof) -- (bake);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,11 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto, every node/.style={inner sep=10, outer sep=0}]
\node [block] (init) {Mix ingredients};
\node [block, right of=init, node distance=5cm] (wait) {Wait for dough to be ready};
\node [block, right of=wait, node distance=5cm] (bake_bread) {Bake bread on stove};
\path [line] (init) -- (wait);
\path [line] (wait) -- (bake_bread);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,26 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [decision] (init) {\footnotesize Room temperature proofing?};
\node [decision, right of=init, node distance=9cm] (retard_bake_decision) {\footnotesize Bake in less than 10 hours from now?};
\node [block, below of=init, node distance=4cm] (poke) {\footnotesize Poke the dough};
\node [block, right of=poke, node distance=4cm] (wait_poke) {\footnotesize Wait 15 minutes};
\node [decision, below of=poke, node distance=3cm] (dent_visible_decision) {\footnotesize Dent still visible after 1 minute?};
\node [block, right of=dent_visible_decision, node distance=4cm] (bake) {\footnotesize Score and bake};
\node [block, below of=retard_bake_decision, node distance=3cm] (wait_retard) {\footnotesize Wait 15 minutes};
\node [block, below of=wait_retard, node distance=3cm] (retard) {\footnotesize Proof in fridge at 4°C (40°F)};
\node [block, right of=wait_retard, node distance=3cm] (move_to_fridge) {\footnotesize Move dough directly to fridge};
\path [line] (init) -- node{yes} (poke);
\path [line] (init) -- node{no} (retard_bake_decision);
\path [line] (poke) -- (dent_visible_decision);
\path [line] (dent_visible_decision) -- node{yes} (bake);
\path [line] (dent_visible_decision) -- node{no} (wait_poke);
\path [line] (wait_poke) -- (poke);
\path [line] (retard_bake_decision) -- node{yes} (wait_retard);
\path [line] (retard_bake_decision) -- node{no} (move_to_fridge);
\path [line] (wait_retard) -- (retard);
\path [line] (move_to_fridge) -- (retard);
\path [line] (retard) -- (bake);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,21 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Begin shaping};
\node [decision, right of=init, node distance=5cm] (overfermented_decision) {\footnotesize Dough overly sticky or dough tears?};
\node [block, right of=overfermented_decision, node distance=4cm] (overfermented) {\footnotesize Your dough is likely overfermented};
\node [block, right of=overfermented, node distance=3cm] (loafpan) {\footnotesize Move to loaf pan, short proof, then bake directly};
\node [block, below of=init, node distance=4cm] (shaping_technique) {\footnotesize Proceed with shaping technique};
\node [block, right of=shaping_technique, node distance=3cm] (flour) {\footnotesize Flour shaped dough};
\node [block, right of=flour, node distance=3cm] (banneton) {\footnotesize Place upside down in banneton};
\node [block, right of=banneton, node distance=3cm] (proof) {\footnotesize Begin proofing};
\path [line] (init) -- (overfermented_decision);
\path [line] (overfermented_decision) -- node{yes} (overfermented);
\path [line] (overfermented_decision) -- node{no} (shaping_technique);
\path [line] (shaping_technique) -- (flour);
\path [line] (flour) -- (banneton);
\path [line] (banneton) -- (proof);
\path [line] (overfermented) -- (loafpan);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,36 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Make your bread dough};
\node [decision, below of=init, node distance=3.5cm] (all_starter_used) {\footnotesize All starter used?};
\path [line] (init) -- (all_starter_used);
\node [block, right of=init, node distance=3cm] (use_dough) {\footnotesize Take 10g of your bread dough};
\node [block, right of=all_starter_used, node distance=3cm] (use_starter) {\footnotesize Take all but not more than 10g of your starter};
\path [line] (all_starter_used) -- node{yes} (use_dough);
\path [line] (all_starter_used) -- node{no} (use_starter);
\node [block, right of=use_dough, node distance=3cm] (feed_starter) {\footnotesize Feed using 1:5:5 ratio};
\path [line] (use_dough) -- (feed_starter);
\path [line] (use_starter) -- (feed_starter);
\node [decision, right of=feed_starter, node distance=3cm] (bake_next_day_check) {\footnotesize Bake next day?};
\path [line] (feed_starter) -- (bake_next_day_check);
\node [block, right of=bake_next_day_check, node distance=3.5cm] (make_bread_dough) {\footnotesize Make bread dough again after 8-12 hours};
\path [line] (bake_next_day_check) -- node{yes} (make_bread_dough);
\node [decision, right of=use_starter, node distance=3cm] (bake_next_week_check) {\footnotesize Baking in next 2 weeks?};
\node [block, right of=bake_next_week_check, node distance=3.5cm] (store_fridge) {\footnotesize Store starter in fridge at 4°C(40°F)};
\path [line] (bake_next_week_check) -- node{yes} (store_fridge);
\node [block, right of=store_fridge, node distance=3cm] (feed_after_fridge) {\footnotesize Feed again using 1:5:5 ration 8-12 hours before making dough};
\path [line] (store_fridge) -- (feed_after_fridge);
\path [line] (bake_next_day_check) -- node{no} (bake_next_week_check);
\node [decision, below of=use_starter, node distance=3cm] (freezer_check) {\footnotesize Have a freezer?};
\path [line] (bake_next_week_check) -- (store_fridge);
\path [line] (bake_next_week_check) -- node{no} (freezer_check);
\node [block, right of=freezer_check, node distance=3cm] (dry_starter) {\footnotesize Dry your starter};
\node [block, below of=dry_starter, node distance=3cm] (freeze_starter) {\footnotesize Freeze your starter};
\path [line] (freezer_check) -- node{no} (dry_starter);
\path [line] (freezer_check) -- node{yes} (freeze_starter);
\node [block, right of=dry_starter, node distance=3.5cm] (reactivate_freezer) {\footnotesize Reactivate starter for 3 days with daily 1:5:5 feedings};
\path [line] (dry_starter) -- (reactivate_freezer);
\path [line] (freeze_starter) -- (reactivate_freezer);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,24 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Mix 50g flour + 50g water, stir};
\node [block, right of=init, node distance=3cm] (wait1) {\footnotesize Wait 24 hours};
\path [line] (init) -- (wait1);
\node [block, right of=wait1, node distance=3cm] (feed) {\footnotesize 10g of previous day + 50g water + 50g flour, stir};
\path [line] (wait1) -- (feed);
\node [block, below of=feed] (discard) {\footnotesize Discard the rest};
\path [line] (feed) -- (discard);
\node [decision, right of=feed, node distance=3.5cm] (decide) {\footnotesize Is good?};
\node [decision, above of=decide, node distance=3cm] (timeout) {\footnotesize Less than 10 feeds?};
\node [block, above of=feed, node distance=3cm] (wait2) {\footnotesize Wait 24 hours};
\node [block, right of=timeout, node distance=3cm] (discard2) {\footnotesize Batch failed};
\path [line] (timeout) -- node{no} (discard2);
\path [line] (timeout) -- node{yes} (wait2);
\path [line] (feed) -- (decide);
\node [block, right of=decide, node distance=3cm] (use) {\footnotesize Ready to use};
\path [line] (decide) -- node{no} (timeout);
\path [line] (wait2) -- (feed);
\path [line] (decide) -- node{yes} (use);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,21 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Make a starter};
\node [block, right of=init, node distance=3cm] (feed) {\footnotesize Feed your starter};
\path [line] (init) -- (feed);
\node [block, right of=feed, node distance=3cm] (ready_question) {\footnotesize Perform readiness check};
\path [line] (feed) -- (ready_question);
\node [block, below of=feed, node distance=3cm] (wait_12) {\footnotesize Wait 12 hours};
\path [line] (wait_12) -- (feed);
\node [decision, right of=ready_question, node distance=3.5cm] (is_bubbly) {\footnotesize Bubbly? Size Increase?};
\path [line] (ready_question) -- (is_bubbly);
\path [line] (is_bubbly) -- node{no} (wait_12);
\node [decision, below of=is_bubbly, node distance=4.0cm] (check_smell) {\footnotesize Vinegary, or yogurt smell?};
\path [line] (is_bubbly) -- node{yes} (check_smell);
\node [block, below of=init, node distance=6cm] (make_dough) {\footnotesize Make your dough};
\path [line] (check_smell) -- node{yes} (make_dough);
\path [line] (check_smell) -- node{no} (wait_12);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,23 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Make a regular or liquid starter};
\node [block, right of=init] (feed_new_ratio) {\footnotesize Mix 10g existing starter, 50g flour and 25g water};
\node [block, right of=feed_new_ratio] (next_day) {\footnotesize Wait 24 hours};
\node [block, below of=feed_new_ratio] (feed_again) {\footnotesize Feed again using 1:5:2.5 ratio};
\node [block, right of=next_day, node distance=5cm] (test) {\footnotesize Check starter readiness?};
\node [decision, right of=feed_again, node distance=4cm] (ready_signs) {\footnotesize Size increase and sour smell?};
\node [block, right of=ready_signs, node distance=4cm] (last_feed) {\footnotesize Feed one last time};
\node [block, below of=last_feed, node distance=3cm] (bread_dough) {\footnotesize Make bread dough};
\path [line] (init) -- (feed_new_ratio);
\path [line] (feed_new_ratio) -- (next_day);
\path [line] (feed_again) -- node{\footnotesize repeat 3 times} (feed_new_ratio);
\path [line] (next_day) -- node{\footnotesize after 3 days} (test);
\path [line] (next_day) -- (feed_again);
\path [line] (test) -- (ready_signs);
\path [line] (ready_signs) -- node{\footnotesize no} (feed_again);
\path [line] (ready_signs) -- node{\footnotesize yes} (last_feed);
\path [line] (last_feed) -- node{\footnotesize after 6-12 hours} (bread_dough);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,26 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [block] (init) {\footnotesize Ready starter};
\node [block, right of=init, node distance=3cm] (mix_ingredients) {\footnotesize Mix ingredients};
\node [block, right of=mix_ingredients, node distance=3cm] (dough_strength) {\footnotesize Create dough strength};
\node [block, right of=dough_strength, node distance=3cm] (bulk) {\footnotesize Bulk ferment};
\node [decision, below of=dough_strength, node distance=3cm] (divide_test) {\footnotesize Making 1 loaf?};
\node [block, left of=divide_test, node distance=3cm] (divide) {\footnotesize Divide};
\node [block, left of=divide, node distance=3cm] (preshape) {\footnotesize Preshape};
\node [block, below of=preshape, node distance=3cm] (shape) {\footnotesize Shape};
\node [block, right of=shape, node distance=3cm] (proof) {\footnotesize Proof};
\node [block, right of=proof, node distance=3cm] (bake) {\footnotesize Bake};
\path [line] (init) -- (mix_ingredients);
\path [line] (mix_ingredients) -- (dough_strength);
\path [line] (dough_strength) -- (bulk);
\path [line] (bulk) -- (divide_test);
\path [line] (divide_test) -- node{yes} (shape);
\path [line] (divide_test) -- node{no} (divide);
\path [line] (divide) -- (preshape);
\path [line] (preshape) -- (shape);
\path [line] (shape) -- (proof);
\path [line] (proof) -- (bake);
\end{tikzpicture}
\end{document}

View File

@@ -0,0 +1,34 @@
\input{./vars}
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
\node [decision] (init) {\footnotesize Starter last fed within 3 days?};
\node [block, right of=init, node distance=4cm] (feed_no_branch)
{\footnotesize Feed starter twice. 48 hours before and 6-12 hours before};
\node [block, below of=feed_no_branch, node distance=3cm] (feed_yes_branch)
{\footnotesize Feed starter once 6-12 hours before making dough};
\node [block, right of=feed_no_branch, node distance=6cm] (high_ratio)
{\footnotesize Use a 1:10:10 ratio. 10g starter, 100g flour, 100g water};
\node [block, right of=feed_yes_branch, node distance=3cm] (low_ratio)
{\footnotesize Use a 1:5:5 ratio. 10g starter, 50g flour, 50g water};
\node [block, below of=high_ratio, node distance=6cm] (check_starter)
{\footnotesize Check if starter is ready to be used};
\node [decision, below of=init, node distance=6cm] (size_check)
{\footnotesize Bubbly? Increased in size?};
\node [decision, below of=size_check, node distance=5cm] (smell_check)
{\footnotesize Vinegary or yogurty smell?};
\node [block, right of=smell_check, node distance=6cm] (make_dough)
{\footnotesize Prepare dough};
\path [line] (init) -- node{no} (feed_no_branch);
\path [line] (init) -- node{yes} (feed_yes_branch);
\path [line] (feed_yes_branch) -- (low_ratio);
\path [line] (feed_no_branch) -- (high_ratio);
\path [line] (high_ratio) -- (check_starter);
\path [line] (low_ratio) -- (check_starter);
\path [line] (check_starter) -- (size_check);
\path [line] (size_check) -- node{no} (feed_yes_branch);
\path [line] (size_check) -- node{yes} (smell_check);
\path [line] (smell_check) -- node{no} (feed_yes_branch);
\path [line] (smell_check) -- node{yes} (make_dough);
\end{tikzpicture}
\end{document}

10
book/figures/vars.tex Normal file
View File

@@ -0,0 +1,10 @@
\documentclass[tikz]{standalone}
\usepackage{tikz}
\definecolor{codeblue}{RGB}{69, 161, 248}
\usetikzlibrary{shapes,arrows}
\tikzstyle{decision} = [diamond, draw, fill=codeblue, text=white,
text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=codeblue, text=white,
text width=5em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']