lnnrtwttkhn / version-control-book

Source code for the Version Control Book, a guide to Git for scientists
https://lennartwittkuhn.com/version-control-book/
Creative Commons Attribution Share Alike 4.0 International
6 stars 2 forks source link

Create PDF version of the book #106

Open konradpa opened 6 months ago

lnnrtwttkhn commented 6 months ago

just documenting my process taking a stab at this:

Code ```bash % quarto render --to pdf [ 1/22] index.qmd [ 2/22] contents.qmd [ 3/22] misc/objectives.qmd [ 4/22] chapters/intro-version-control.qmd processing file: intro-version-control.qmd 1/2 2/2 [unnamed-chunk-1] output file: intro-version-control.knit.md [ 5/22] chapters/command-line.qmd processing file: command-line.qmd 1/69 2/69 [unnamed-chunk-1] 3/69 4/69 [unnamed-chunk-2] 5/69 6/69 [unnamed-chunk-3] 7/69 8/69 [unnamed-chunk-4] running: bash -c 'pwd' 9/69 10/69 [unnamed-chunk-5] 11/69 12/69 [unnamed-chunk-6] 13/69 14/69 [unnamed-chunk-7] 15/69 16/69 [unnamed-chunk-8] 17/69 18/69 [unnamed-chunk-9] 19/69 20/69 [unnamed-chunk-10] 21/69 22/69 [unnamed-chunk-11] 23/69 24/69 [unnamed-chunk-12] 25/69 26/69 [unnamed-chunk-13] 27/69 28/69 [unnamed-chunk-14] 29/69 30/69 [unnamed-chunk-15] running: bash -c 'ls' 31/69 32/69 [unnamed-chunk-16] 33/69 34/69 [unnamed-chunk-17] running: bash -c 'ls chapters' 35/69 36/69 [unnamed-chunk-18] 37/69 38/69 [unnamed-chunk-19] running: bash -c 'ls -a' 39/69 40/69 [unnamed-chunk-20] 41/69 42/69 [unnamed-chunk-21] running: bash -c 'ls -alh' 43/69 44/69 [unnamed-chunk-22] 45/69 46/69 [unnamed-chunk-23] 47/69 48/69 [unnamed-chunk-24] 49/69 50/69 [unnamed-chunk-25] 51/69 52/69 [unnamed-chunk-26] 53/69 54/69 [unnamed-chunk-27] 55/69 56/69 [unnamed-chunk-28] 57/69 58/69 [unnamed-chunk-29] running: bash -c 'ls -alh *.yml' 59/69 60/69 [unnamed-chunk-30] 61/69 62/69 [unnamed-chunk-31] running: bash -c 'ls -alh i*' 63/69 64/69 [unnamed-chunk-32] 65/69 66/69 [unnamed-chunk-33] 67/69 68/69 [unnamed-chunk-34] 69/69 output file: command-line.knit.md [ 6/22] chapters/installation.qmd processing file: installation.qmd 1/14 2/14 [unnamed-chunk-1] 3/14 4/14 [unnamed-chunk-2] 5/14 6/14 [unnamed-chunk-3] 7/14 8/14 [unnamed-chunk-4] 9/14 10/14 [unnamed-chunk-5] 11/14 12/14 [unnamed-chunk-6] 13/14 14/14 [unnamed-chunk-7] output file: installation.knit.md [ 7/22] chapters/setup.qmd processing file: setup.qmd 1/25 2/25 [unnamed-chunk-1] 3/25 4/25 [unnamed-chunk-2] 5/25 6/25 [unnamed-chunk-3] 7/25 8/25 [unnamed-chunk-4] 9/25 10/25 [unnamed-chunk-5] 11/25 12/25 [unnamed-chunk-6] 13/25 14/25 [unnamed-chunk-7] 15/25 16/25 [unnamed-chunk-8] 17/25 18/25 [unnamed-chunk-9] 19/25 20/25 [unnamed-chunk-10] 21/25 22/25 [unnamed-chunk-11] 23/25 24/25 [unnamed-chunk-12] 25/25 output file: setup.knit.md [ 8/22] chapters/first-steps-git.qmd processing file: first-steps-git.qmd 1/63 2/63 [unnamed-chunk-1] 3/63 4/63 [unnamed-chunk-2] 5/63 6/63 [unnamed-chunk-3] 7/63 8/63 [unnamed-chunk-4] 9/63 10/63 [unnamed-chunk-5] 11/63 12/63 [unnamed-chunk-6] 13/63 14/63 [unnamed-chunk-7] 15/63 16/63 [unnamed-chunk-8] 17/63 18/63 [unnamed-chunk-9] 19/63 20/63 [unnamed-chunk-10] 21/63 22/63 [unnamed-chunk-11] 23/63 24/63 [unnamed-chunk-12] 25/63 26/63 [unnamed-chunk-13] 27/63 28/63 [unnamed-chunk-14] 29/63 30/63 [unnamed-chunk-15] 31/63 32/63 [unnamed-chunk-16] 33/63 34/63 [unnamed-chunk-17] 35/63 36/63 [unnamed-chunk-18] 37/63 38/63 [unnamed-chunk-19] 39/63 40/63 [unnamed-chunk-20] 41/63 42/63 [unnamed-chunk-21] 43/63 44/63 [unnamed-chunk-22] 45/63 46/63 [unnamed-chunk-23] 47/63 48/63 [unnamed-chunk-24] 49/63 50/63 [unnamed-chunk-25] 51/63 52/63 [unnamed-chunk-26] 53/63 54/63 [unnamed-chunk-27] 55/63 56/63 [unnamed-chunk-28] 57/63 58/63 [unnamed-chunk-29] 59/63 60/63 [unnamed-chunk-30] 61/63 62/63 [unnamed-chunk-31] 63/63 output file: first-steps-git.knit.md Warning message: In get_engine(options$engine) : Unknown language engine 'tex' (must be registered via knit_engines$set()). [ 9/22] chapters/branches.qmd processing file: branches.qmd 1/41 2/41 [unnamed-chunk-1] 3/41 4/41 [unnamed-chunk-2] 5/41 6/41 [unnamed-chunk-3] 7/41 8/41 [unnamed-chunk-4] 9/41 10/41 [unnamed-chunk-5] 11/41 12/41 [unnamed-chunk-6] 13/41 14/41 [unnamed-chunk-7] 15/41 16/41 [unnamed-chunk-8] 17/41 18/41 [unnamed-chunk-9] 19/41 20/41 [unnamed-chunk-10] 21/41 22/41 [unnamed-chunk-11] 23/41 24/41 [unnamed-chunk-12] 25/41 26/41 [unnamed-chunk-13] 27/41 28/41 [unnamed-chunk-14] 29/41 30/41 [unnamed-chunk-15] 31/41 32/41 [unnamed-chunk-16] 33/41 34/41 [unnamed-chunk-17] 35/41 36/41 [unnamed-chunk-18] 37/41 38/41 [unnamed-chunk-19] 39/41 40/41 [unnamed-chunk-20] 41/41 output file: branches.knit.md [10/22] chapters/github-intro.qmd processing file: github-intro.qmd 1/23 2/23 [unnamed-chunk-1] 3/23 4/23 [unnamed-chunk-2] 5/23 6/23 [unnamed-chunk-3] 7/23 8/23 [unnamed-chunk-4] 9/23 10/23 [unnamed-chunk-5] 11/23 12/23 [unnamed-chunk-6] 13/23 14/23 [unnamed-chunk-7] 15/23 16/23 [unnamed-chunk-8] 17/23 18/23 [unnamed-chunk-9] 19/23 20/23 [unnamed-chunk-10] 21/23 22/23 [unnamed-chunk-11] 23/23 output file: github-intro.knit.md Warning message: In get_engine(options$engine) : Unknown language engine 'yaml' (must be registered via knit_engines$set()). [11/22] chapters/tags-and-releases.qmd processing file: tags-and-releases.qmd 1/23 2/23 [unnamed-chunk-1] 3/23 4/23 [unnamed-chunk-2] 5/23 6/23 [unnamed-chunk-3] 7/23 8/23 [unnamed-chunk-4] 9/23 10/23 [unnamed-chunk-5] 11/23 12/23 [unnamed-chunk-6] 13/23 14/23 [unnamed-chunk-7] 15/23 16/23 [unnamed-chunk-8] 17/23 18/23 [unnamed-chunk-9] 19/23 20/23 [unnamed-chunk-10] 21/23 22/23 [unnamed-chunk-11] 23/23 output file: tags-and-releases.knit.md [12/22] chapters/project-management.qmd processing file: project-management.qmd output file: project-management.knit.md 1/1 [13/22] chapters/issues.qmd processing file: issues.qmd 1/5 2/5 [unnamed-chunk-1] 3/5 4/5 [unnamed-chunk-2] 5/5 output file: issues.knit.md [14/22] chapters/gui.qmd processing file: gui.qmd 1/3 2/3 [unnamed-chunk-1] 3/3 output file: gui.knit.md [15/22] chapters/intermediate-commands.qmd processing file: intermediate-commands.qmd 1/57 2/57 [unnamed-chunk-1] 3/57 4/57 [unnamed-chunk-2] 5/57 6/57 [unnamed-chunk-3] 7/57 8/57 [unnamed-chunk-4] 9/57 10/57 [unnamed-chunk-5] 11/57 12/57 [unnamed-chunk-6] 13/57 14/57 [unnamed-chunk-7] 15/57 16/57 [unnamed-chunk-8] 17/57 18/57 [unnamed-chunk-9] 19/57 20/57 [unnamed-chunk-10] 21/57 22/57 [unnamed-chunk-11] 23/57 24/57 [unnamed-chunk-12] 25/57 26/57 [unnamed-chunk-13] 27/57 28/57 [unnamed-chunk-14] 29/57 30/57 [unnamed-chunk-15] 31/57 32/57 [unnamed-chunk-16] 33/57 34/57 [unnamed-chunk-17] 35/57 36/57 [unnamed-chunk-18] 37/57 38/57 [unnamed-chunk-19] 39/57 40/57 [unnamed-chunk-20] 41/57 42/57 [unnamed-chunk-21] 43/57 44/57 [unnamed-chunk-22] 45/57 46/57 [unnamed-chunk-23] 47/57 48/57 [unnamed-chunk-24] 49/57 50/57 [unnamed-chunk-25] 51/57 52/57 [unnamed-chunk-26] 53/57 54/57 [unnamed-chunk-27] 55/57 56/57 [unnamed-chunk-28] 57/57 output file: intermediate-commands.knit.md [16/22] chapters/rewriting-history.qmd processing file: rewriting-history.qmd 1/31 2/31 [unnamed-chunk-1] 3/31 4/31 [unnamed-chunk-2] 5/31 6/31 [unnamed-chunk-3] 7/31 8/31 [unnamed-chunk-4] 9/31 10/31 [unnamed-chunk-5] 11/31 12/31 [unnamed-chunk-6] 13/31 14/31 [unnamed-chunk-7] 15/31 16/31 [unnamed-chunk-8] 17/31 18/31 [unnamed-chunk-9] 19/31 20/31 [unnamed-chunk-10] 21/31 22/31 [unnamed-chunk-11] 23/31 24/31 [unnamed-chunk-12] 25/31 26/31 [unnamed-chunk-13] 27/31 28/31 [unnamed-chunk-14] 29/31 30/31 [unnamed-chunk-15] 31/31 output file: rewriting-history.knit.md [17/22] misc/exercises.qmd [18/22] misc/cheatsheet.qmd processing file: cheatsheet.qmd 1/3 2/3 [unnamed-chunk-1] 3/3 output file: cheatsheet.knit.md [19/22] misc/references.qmd [20/22] misc/acknowledgements.qmd processing file: acknowledgements.qmd 1/5 2/5 [unnamed-chunk-1] 3/5 4/5 [unnamed-chunk-2] 5/5 output file: acknowledgements.knit.md [21/22] misc/contributing.qmd processing file: contributing.qmd 1/61 2/61 [unnamed-chunk-1] 3/61 4/61 [unnamed-chunk-2] 5/61 6/61 [unnamed-chunk-3] 7/61 8/61 [unnamed-chunk-4] 9/61 10/61 [unnamed-chunk-5] 11/61 12/61 [unnamed-chunk-6] 13/61 14/61 [unnamed-chunk-7] 15/61 16/61 [unnamed-chunk-8] 17/61 18/61 [unnamed-chunk-9] 19/61 20/61 [unnamed-chunk-10] 21/61 22/61 [unnamed-chunk-11] 23/61 24/61 [unnamed-chunk-12] 25/61 26/61 [unnamed-chunk-13] 27/61 28/61 [unnamed-chunk-14] 29/61 30/61 [unnamed-chunk-15] 31/61 32/61 [unnamed-chunk-16] 33/61 34/61 [unnamed-chunk-17] 35/61 36/61 [unnamed-chunk-18] 37/61 38/61 [unnamed-chunk-19] 39/61 40/61 [unnamed-chunk-20] 41/61 42/61 [unnamed-chunk-21] 43/61 44/61 [unnamed-chunk-22] 45/61 46/61 [unnamed-chunk-23] 47/61 48/61 [unnamed-chunk-24] 49/61 50/61 [unnamed-chunk-25] 51/61 52/61 [unnamed-chunk-26] 53/61 54/61 [unnamed-chunk-27] 55/61 56/61 [unnamed-chunk-28] 57/61 58/61 [unnamed-chunk-29] 59/61 60/61 [unnamed-chunk-30] 61/61 output file: contributing.knit.md There were 11 warnings (use warnings() to see them) [22/22] misc/style-guide.qmd processing file: style-guide.qmd 1/7 2/7 [unnamed-chunk-1] 3/7 4/7 [unnamed-chunk-2] 5/7 6/7 [unnamed-chunk-3] 7/7 output file: style-guide.knit.md pandoc to: latex output-file: index.tex standalone: true toc: true number-sections: true top-level-division: chapter pdf-engine: xelatex variables: graphics: true tables: true default-image-extension: pdf metadata crossref: chapters: true documentclass: scrreprt papersize: letter classoption: - DIV=11 - numbers=noendperiod header-includes: - '\KOMAoption{captions}{tableheading}' block-headings: true authors: - id: wittkuhn name: given: Lennart family: Wittkuhn literal: Lennart Wittkuhn url: 'https://lennartwittkuhn.com/' email: lennart.wittkuhn@uni-hamburg.de orcid: 0000-0003-2966-6888 attributes: corresponding: true affiliations: - ref: uhh-psych - id: pagenstedt name: given: Konrad family: Pagenstedt literal: Konrad Pagenstedt email: konrad@pagenstedt.de attributes: corresponding: false affiliations: - ref: uhh-psych affiliations: - id: uhh-psych name: 'Institute of Psychology, University of Hamburg' department: Chair for Mechanisms of Learning and Change address: Von-Melle-Park 5 city: Hamburg region: Hamburg country: Germany postal-code: '20149' url: 'https://www.psy.uni-hamburg.de/en.html' - id: mpib name: 'Max Planck Research Group NeuroCode, Max Planck Institute for Human Development' department: Max Planck Research Group NeuroCode address: Lentzeallee 94 city: Berlin region: Berlin country: Germany postal-code: '14195' url: 'https://www.mpib-berlin.mpg.de/en' - id: mps-ucl name: Max Planck UCL Centre for Computational Psychiatry and Ageing Research address: Lentzeallee 94 city: Berlin region: Berlin country: Germany postal-code: '14195' url: 'https://www.mps-ucl-centre.mpg.de/' - id: harding-center name: 'Harding Center for Risk Literacy, University of Potsdam' department: Faculty of Health Sciences address: Virchowstraße 2–4 city: Potsdam region: Brandenburg country: Germany postal-code: '14482' url: 'https://www.hardingcenter.de/en' - id: tud-lifespan-psych name: 'Chair of Lifespan Developmental Neuroscience, Technische Universität Dresden' department: Department of Psychology address: Zellescher Weg 17 city: Dresden region: Saxony country: Germany postal-code: '01062' url: 'https://tu-dresden.de/mn/psychologie/ipep/epsy' - id: concordia-psych name: 'Department of Psychology, Concordia University' department: Department of Psychology city: Montreal country: Canada postal-code: H4B1R6 - id: concordia-perform name: 'PERFORM, Concordia University' department: PERFORM city: Montreal country: Canada postal-code: H4B1R6 - id: tud-general-psych name: 'Chair of General Psychology, Technische Universität Dresden' department: Department of Psychology address: Zellescher Weg 17 city: Dresden region: Saxony country: Germany postal-code: '01062' url: 'https://tu-dresden.de/mn/psychologie/ifap/allgpsy' - id: uzh-general-psych name: 'Cognitive Psychology Unit, University of Zurich' department: Department of Psychology city: Zurich country: Switzerland postal-code: CH-8050 url: 'https://www.psychology.uzh.ch/en/areas/nec/allgpsy.html' - id: fz-juelich-inm7 name: 'Institute of Neurosciences and Medicine, Brain and Behaviour INM-7, Research Center Jülich' department: 'Institute of Neurosciences and Medicine, INM-7' address: 'Wilhelm-Johnen-Straße, 52428 Jülich' city: Jülich country: Germany postal-code: '52428' url: 'https://www.fz-juelich.de/en/inm/inm-7' abstract-title: Summary title-block-style: default title: Version Control of Code and Data subtitle: An introduction to Git for research WARNING: Unable to resolve crossref @sec-rstudio-project WARNING: Unable to resolve crossref @sec-quarto WARNING: Unable to resolve crossref @sec-dependency-management WARNING: Unable to resolve crossref @sec-code WARNING: Unable to resolve crossref @sec-images WARNING: Unable to resolve crossref @sec-references WARNING: Unable to resolve crossref @sec-variables WARNING: Unable to resolve crossref @sec-icons running xelatex - 1 This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode updating tlmgr updating existing packages compilation failed- error Package fontawesome5 Error: The requested icon regular was not found. For immediate help type H . ... l.554 Take the quiz!} see /Users/wittkuhn/edu/version-control-book/index.log for more information. ```
lnnrtwttkhn commented 6 months ago

The issue seems to be the fontawesome icons. They have to be part of the fontawsome5 LaTeX package. See the list of icons here: https://mirror.funkfreundelandshut.de/latex/fonts/fontawesome5/doc/fontawesome5.pdf

Here is history of errors and their fixes:

compilation failed- error
Package fontawesome5 Error: The requested icon regular was not found.

Removed regular.

compilation failed- error
Package fontawesome5 Error: The requested icon circle-question was not found.

Replaced circle-question with question-circle.

compilation failed- error
Package fontawesome5 Error: The requested icon display was not found.

Replaced display with desktop.

lnnrtwttkhn commented 6 months ago

Next up:

compilation failed- error
LaTeX Error: Cannot determine size of graphic in chapters/../static/phd-comic
-final-doc.gif (no BoundingBox).

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
lnnrtwttkhn commented 6 months ago

see dff3260daeec8d41fa5aa528ab7ece01823d9064

lnnrtwttkhn commented 6 months ago
compilation failed- error
Package svg Error: File `badge_svg-tex.pdf' is missing.

See the svg package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.5403 ...ludesvg{index_files/mediabag/badge.svg}}

might be related to this issue: https://quarto.org/docs/prerelease/1.3/pdf.html#svg-images

lnnrtwttkhn commented 6 months ago

noticed that most fontawesome icons don't play well with markdown level-2 headings. I removed them in https://github.com/lnnrtwttkhn/version-control-book/commit/e0134f5b52e61e3f3b3c74ac31c6529b5c3fec4d, including some icons in level-3 headings, for consistency.

lnnrtwttkhn commented 6 months ago
compilation failed- error
Missing $ inserted.
<inserted text> 
                $
l.9138 \caption{\texttt{_quarto.yml (excerpt)}}

You may need to $ $ around an expression in this file.

this comes from underscores in the filename option of code chunks, e.g.,

```{bash, filename="quarto.yml", echo=c(1:5)}
#| file: _quarto.yml
#| code-line-numbers: true


tried a few things, but nothing worked so far. will just remove the underscore for now.
lnnrtwttkhn commented 6 months ago

we embedded the repo's README.md in the github chapter. but this includes the github actions badge, which is a .csv file which causes problems when rendering the pdf. I would remove it for now, but maybe there is a workaround.

lnnrtwttkhn commented 6 months ago

still a few bugs, mostly related to formatting:

but otherwise, this works now!