{"version":3,"kind":"Article","sha256":"61502d41938c23c71525734690aee1a560a53b4eec69829e0f875bb05372a62e","slug":"pdfoverview","location":"/content/lessons/6_pdfoverview.md","dependencies":[],"frontmatter":{"title":"Create PDF output 🌶","numbering":{"title":{"offset":0,"enabled":true},"start":{"start":7,"enabled":true}},"content_includes_title":false,"authors":[{"nameParsed":{"literal":"Freek Pols","given":"Freek","family":"Pols"},"name":"Freek Pols","id":"contributors-myst-generated-uid-0"},{"nameParsed":{"literal":"Luuk Fröling","given":"Luuk","family":"Fröling"},"name":"Luuk Fröling","id":"contributors-myst-generated-uid-1"},{"nameParsed":{"literal":"Robert Lanzafame","given":"Robert","family":"Lanzafame"},"name":"Robert Lanzafame","id":"contributors-myst-generated-uid-2"},{"nameParsed":{"literal":"Kirstie Whitaker","given":"Kirstie","family":"Whitaker"},"name":"Kirstie Whitaker","id":"contributors-myst-generated-uid-3"},{"nameParsed":{"literal":"Jim Madge","given":"Jim","family":"Madge"},"name":"Jim Madge","id":"contributors-myst-generated-uid-4"}],"date":"2025-11-02","license":{"content":{"id":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative Commons Attribution 4.0 International","free":true,"CC":true}},"github":"https://github.com/jupyter-book/workshop-template","edit_url":null,"abbreviations":{"JB2":"Jupyter Book 2","CI/CD":"Continuous Integration/Continuous Deployment","GHA":"GitHub Actions","GH":"GitHub","IDE":"Integrated Development Environment","VSC":"Visual Studio Code","CLI":"commmand line interface"},"source_url":"https://github.com/jupyter-book/workshop-template/blob/main/content/lessons/6_pdfoverview.md","enumerator":"8","exports":[{"format":"md","filename":"6_pdfoverview.md","url":"/build/6_pdfoverview-9923849dd60107697450b80110e804fa.md"}]},"mdast":{"type":"root","children":[{"type":"div","class":"font-light text-sm mb-4 updated-date-container","children":[{"type":"text","value":"Updated: 03 Nov 2025","key":"qoVnFfNVFU"}],"key":"o3GLBFZ0KS"},{"type":"block","children":[{"type":"paragraph","position":{"start":{"line":11,"column":1},"end":{"line":11,"column":1}},"children":[{"type":"text","value":"Jupyter Book is centered around creating interactive online documents. However, there are several instances when a PDF, next to the online book, is desired, for example:","position":{"start":{"line":11,"column":1},"end":{"line":11,"column":1}},"key":"TPcZqeEQuG"}],"key":"etTeyny9Qc"},{"type":"list","ordered":false,"spread":false,"position":{"start":{"line":13,"column":1},"end":{"line":16,"column":1}},"children":[{"type":"listItem","spread":true,"position":{"start":{"line":13,"column":1},"end":{"line":13,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"for use in note taking applications (e.g., students annotating a textbook chapter, or reviewing the draft of a website),","position":{"start":{"line":13,"column":1},"end":{"line":13,"column":1}},"key":"uwWfTp30hM"}],"key":"yVL0bRrDNk"}],"key":"I8YJdfH9GA"},{"type":"listItem","spread":true,"position":{"start":{"line":14,"column":1},"end":{"line":14,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"if a printed copy of the book is required,","position":{"start":{"line":14,"column":1},"end":{"line":14,"column":1}},"key":"ASzXuoGHf3"}],"key":"Rkm2Mm3kCz"}],"key":"uW5drTFBUF"},{"type":"listItem","spread":true,"position":{"start":{"line":15,"column":1},"end":{"line":16,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"to more easily carry out a plagiarism check.","position":{"start":{"line":15,"column":1},"end":{"line":15,"column":1}},"key":"QyexznC1pU"}],"key":"GM7A6PbHKb"}],"key":"RoSeYzfsDM"}],"key":"z4SAoTWzaC"},{"type":"paragraph","position":{"start":{"line":17,"column":1},"end":{"line":17,"column":1}},"children":[{"type":"text","value":"One of the strengths of Jupyter Book 2 is the ease with which high-quality PDF’s can be created from the same source files as an online book. To accomplish this, a ","position":{"start":{"line":17,"column":1},"end":{"line":17,"column":1}},"key":"tGIdPX91Nr"},{"type":"emphasis","position":{"start":{"line":17,"column":1},"end":{"line":17,"column":1}},"children":[{"type":"text","value":"template","position":{"start":{"line":17,"column":1},"end":{"line":17,"column":1}},"key":"p2tVbvpe8o"}],"key":"kKB7kxB7qi"},{"type":"text","value":" is used to create a PDF with a consistent look and feel between the two document formats. In addition, such templates can be customized to fit the specific needs of the documents being created.","position":{"start":{"line":17,"column":1},"end":{"line":17,"column":1}},"key":"YoNo6D6PAG"}],"key":"KgW3IuKPvu"},{"type":"paragraph","position":{"start":{"line":19,"column":1},"end":{"line":19,"column":1}},"children":[{"type":"text","value":"This lesson provides an overview the PDF output capabilities of the Jupyter Book 2 and MyST ecosystem, accompanied by exercises to get you started creating your own PDF output (with Typst) using two different templates. The following pages:","position":{"start":{"line":19,"column":1},"end":{"line":19,"column":1}},"key":"epxGyjEYnt"}],"key":"aSQVZ0BhOQ"},{"type":"list","ordered":true,"start":1,"spread":false,"position":{"start":{"line":21,"column":1},"end":{"line":23,"column":1}},"children":[{"type":"listItem","spread":true,"position":{"start":{"line":21,"column":1},"end":{"line":21,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"introduce document generation with MyST (including an explanation of templates),","position":{"start":{"line":21,"column":1},"end":{"line":21,"column":1}},"key":"GkVEf3O8M7"}],"key":"gLCnMrZexk"}],"key":"xSKX7h5sLW"},{"type":"listItem","spread":true,"position":{"start":{"line":22,"column":1},"end":{"line":22,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"present an overview and comparison of PDF generation with Typst and LaTeX, and","position":{"start":{"line":22,"column":1},"end":{"line":22,"column":1}},"key":"re1XEm8Lta"}],"key":"AXT6il72Iv"}],"key":"THsHsvN6uV"},{"type":"listItem","spread":true,"position":{"start":{"line":23,"column":1},"end":{"line":23,"column":1}},"children":[{"type":"paragraph","children":[{"type":"text","value":"provide exercises to generate a PDF with a Typst template, both locally and using GitHub Actions.","position":{"start":{"line":23,"column":1},"end":{"line":23,"column":1}},"key":"xAHU76Moe7"}],"key":"UiXm9ttHye"}],"key":"WLQ546IzjZ"}],"key":"Th8QX5qwEH"}],"key":"VQ7Zj1s8KY"}],"key":"fGz9oZLrSj"},"references":{"cite":{"order":[],"data":{}}},"footer":{"navigation":{"prev":{"title":"Build online with GitHub","url":"/workflows","group":"Jupyter Book 2 Workshop Template"},"next":{"title":"MyST Document Creation 🌶","url":"/a-myst","group":"Jupyter Book 2 Workshop Template"}}},"domain":"http://localhost:3000"}