{"id":13941445,"url":"https://github.com/fmarotta/kaobook","last_synced_at":"2025-05-14T19:09:48.125Z","repository":{"id":37514599,"uuid":"164416902","full_name":"fmarotta/kaobook","owner":"fmarotta","description":"A LaTeX class for books, reports or theses based on https://github.com/kenohori/thesis and https://github.com/Tufte-LaTeX/tufte-latex.","archived":false,"fork":false,"pushed_at":"2024-11-12T14:37:32.000Z","size":24486,"stargazers_count":936,"open_issues_count":50,"forks_count":195,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-13T15:08:33.232Z","etag":null,"topics":["book","kaobook","latex","latex-class","latex-template","thesis"],"latest_commit_sha":null,"homepage":"https://github.com/fmarotta/kaobook","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lppl-1.3c","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fmarotta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://paypal.me/marofede"}},"created_at":"2019-01-07T10:35:05.000Z","updated_at":"2025-04-12T12:49:11.000Z","dependencies_parsed_at":"2024-01-15T19:44:31.506Z","dependency_job_id":"a9b13e5e-8635-429a-9353-6356fe909162","html_url":"https://github.com/fmarotta/kaobook","commit_stats":{"total_commits":325,"total_committers":27,"mean_commits":"12.037037037037036","dds":0.3538461538461538,"last_synced_commit":"81bfb18af4a13dc38a82ebf233c4f62ab7699245"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmarotta%2Fkaobook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmarotta%2Fkaobook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmarotta%2Fkaobook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmarotta%2Fkaobook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fmarotta","download_url":"https://codeload.github.com/fmarotta/kaobook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254209859,"owners_count":22032897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book","kaobook","latex","latex-class","latex-template","thesis"],"created_at":"2024-08-08T02:01:19.153Z","updated_at":"2025-05-14T19:09:46.642Z","avatar_url":"https://github.com/fmarotta.png","language":"TeX","funding_links":["https://paypal.me/marofede"],"categories":["TeX","Popular \u0026 New LaTeX Templates"],"sub_categories":["Others"],"readme":"# kaobook\n\n## Acknowledgements\n\nThis class is based on the work of [Ken Arroyo\nOhori](https://3d.bk.tudelft.nl/ken/en/) for his doctoral thesis.\nThe main ideas behind the layout can be found in this [blog\npost](https://3d.bk.tudelft.nl/ken/en/2016/04/17/a-1.5-column-layout-in-latex.html).\nThe [Tufte-LaTeX class](https://github.com/Tufte-LaTeX/tufte-latex) has also been a\nsource of ideas about the layout.\n\nMy gratitude goes also to [Vel](https://www.vel.nz/), for his patience \nand his invaluable suggestions about the design, and to all the people \nwho have contributed either on \n[GitHub](https://github.com/fmarotta/kaobook/graphs/contributors) or by \nsending e-mails.\n\n## Description\n\nThe salient features of the class are as follows.\n\n* Wide margin to house captions, small figures or tables, and textual \n  notes.\n\n* Mini table of contents in the margin at the start of each chapter.\n\n* Easily-customisable chapter headings.\n\n* Flexible citations with references both in the margin and in the \n  bibliography at the end.\n\n* Powered by KOMA-Script.\n\n* Many commands have been redefined to ease the life of the user.\n\nA better description can be found at [LaTeX \nTemplates](http://www.latextemplates.com/template/kaobook). If you think \nthat a PDF is worth a thousand words, have a look at [this](example_and_documentation.pdf).\n\n## Showcase\n\nIn the [examples](examples) directory you can find some sample \ndocuments, but here are some more books or reports created with the \nkaobook class. If you want to add a link to your work, please send me an \nemail or open a pull request!\n\n* [Growing Open Source Projects with a Stable Foundation (short book)](https://www.cyrius.com/foss-foundations/growing-open-source-projects.pdf)\n* [Cours De Physique - Mécanique Classique (textbook)](https://femto-physique.fr/mecanique/pdf/book_meca.pdf)\n* [Introduction to Causal Inference (textbook)](https://www.bradyneal.com/Introduction_to_Causal_Inference-Dec17_2020-Neal.pdf)\n* [Formalisation and Meta-Theory of Type Theory (PhD thesis)](https://github.com/TheoWinterhalter/phd-thesis/releases/latest)\n* [Computational modelling of terrains (textbook)](https://github.com/tudelft3d/terrainbook/releases/latest)\n* [Meta-analysis of Type Theories with an Application to the Design of Formal Proofs (PhD thesis)](https://anjapetkovic.com/img/doctoralThesis.pdf)\n* [Deep Inference for Graphical Theorem Proving (PhD thesis)](https://github.com/Champitoad/thesis/releases/tag/v1.0.0)\n* [Psychedelic therapy in practice. Case studies of self-treatment, individual therapy, and group therapy (academic book)](https://www.researchgate.net/publication/389998402)\n* [Ayahuasca revisited: Case studies \u0026 observations (academic book)](https://www.researchgate.net/publication/389998045)\n* [From Underactuation to Quasi-Full Actuation: A Unifying Control Framework for Rigid and Elastic Joint Robots (PhD thesis)](https://mediatum.ub.tum.de/1662418)\n\n## Getting Started\n\nIf you are not familiar with LaTeX, I recommend starting with [this \ntutorial](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes), \nwhich will give you a basic understanding of the language. As you will \nread in the tutorial, all LaTeX documents, including books, start by \ndefining the so-called *class* of the document, for example 'article', \nor 'book'. Thus, the first line of a LaTeX document will be something \nlike\n```\n\\documentclass{book}\n```\n\nEach class provides a unique style and set of commands that can be used \nthroughout the document. `kaobook` is just another class. The following \nparagraphs will outline how to use it.\n\n### On Overleaf\n\nBrowse to the [latextemplates.com page for\nkaobook](https://www.latextemplates.com/template/kaobook) and start \nediting the `main.tex` file to fill it with your own contents.\n\n### On your computer\n\nDownload the latest release from GitHub. At the root of the repository, \ncreate a new `.tex` file and make sure that the first line reads \n`\\documentclass{kaobook}` (for books) or `\\documentclass{kaohandt}` (for \nreports). Then, fill the file with your LaTeX contents.\n\nImportant: when we say `\\documentclass{kaobook}`, LaTeX needs to know \nwhere the `kaobook` file is. This means that the `.tex` file should be \nin the same folder as the `kaobook.cls` file, *i.e.* at the root of the \nrepository. (There are exceptions to this rule. For instance, the \nkaobook files can be placed in a folder that is automatically searched \nby LaTeX. This, way, the `.tex` file with your contents can be placed \nanywhere; check out the [instructions](instructions) directory for \nhints.)\n\nIf you don't want to start from scratch, go to the `examples` directory, \nand find a template that you like; then, copy the corresponding \n`main.tex` at the root of the repository, and start editing it, filling \nit with your contents.\n\n### Other\n\nCheck out the [instructions](instructions) directory for additional \nguidance. There, you can read about setting up your own sharelatex \nserver or integrating kaobook with your local LaTeX installation.\n\n---\n\nThe class is documented and exemplified in the \n[example\\_and\\_documentation.pdf](example_and_documentation.pdf) file. \nThe easiest way to start using the class is to open one of the examples \nand start editing them.\n\n## Compiling the examples\n\nIn the `examples` directory of this repository you can find several\ndocuments exemplifying the kaobook class. For the sake of simplicity\nI shall list the commands to compile only the documentation, but the\ncompilation of the other examples would proceed in the same way. Also,\nyou can replace pdflatex with your favorite engine, like *e.g.* xelatex.\n\n### From the command line (Unix-like operating systems)\n\n`cd` into the root of the repository, and run\n```\npdflatex -output-directory examples/documentation main.tex\nbiber -output-directory examples/documentation main\npdflatex -output-directory examples/documentation main.tex\npdflatex -output-directory examples/documentation main.tex\npdflatex -output-directory examples/documentation main.tex\n```\n\nTo compile the glossary and nomenclature as well, `cd` into the \n`examples/documentation` directory and run\n```\nmakeindex main.nlo -s nomencl.ist -o main.nls\nmakeglossaries main\n```\nThen, `cd` back into the root of the repository and re-run pdflatex.\n\nNOTE: sometimes LaTeX needs more than one run to get the correct\nposition of each element; this is true in particular for the positioning\nof floating elements like figures, tables, and margin notes.\nOccasionally, LaTeX can need up to four re-runs, so If the alignment of\nmargin elements looks odd, or if they bleed into ther main text, try\nrunning pdflatex one more time.\n\n## Updating kaobook\n\nTo update kaobook you should download the whole repository (or one of\nthe releases) again, and replace all of your old files with the newer\nones, *except* for the main.tex and the files that you have created,\nlike the chapters of the book. The crucial files that pertain to kaobook\nand that you should always update are:\n\n1. `kaobook.cls`;\n2. `kaohandt.cls`;\n3. `kao.sty`;\n3. `kaobiblio.sty` (optional);\n4. `kaorefs.sty` (optional);\n5. `kaotheorems.sty` (optional);\n\nThese files should be in the same folder as your `main.tex`. Even if a\nfile has not been modified, I would still suggest to replace everything\nbecause it is easier.\n\nIn practice, I would do as follows. I would have a directory, called for \nexample 'my\\_book', with all the files necessary for the book: \n`kaobook.cls`, `kaohand.cls`, the `*.sty` files, and the `main.tex`. I \nlike to have a separate file for each chapter, so I would also have a \ndirectory called `chapters`, with all the `.tex` files with the actual \nchapters. Then, when I want to update kaobook, I would download the \nGitHub repository (or one of the releases) into a directory called \n'kaobook', and finally copy the `kaobook.cls`, `kaohandt.cls`, and the \nwhole `styles` directory from 'kaobook' to 'my\\_book'. Once the update \nis completed, the whole 'my\\_book' directory can be uploaded on Overleaf \nor on a personal ShareLaTeX server.\n\nAlternatively, advanced users can download the repository in their local \ntexmf tree; see the [instructions](instructions) directory for hints.\n\n## Repository Schema\n\nThere are two main class files: `kaobook.cls`, used for books, and \n`kaohandt.cls`, used for reports or handouts; both heavily rely on \n`kao.sty`, which contains the bulk of the definitions that are common to \nboth classes. In the future there may be another class for theses.\n\nSome examples and templates are listed in the `examples` directory. The \nbook that documents the class is an example itself, and the pdf has been \ncopied to the root of the repository so that it will be found more \neasily.\n\nThe `*.sty` files contain additional packages that are used by the \nclass, but in principle they are independent of it (even though in \npractice it is still not so).\n\nIf you want to do something more peculiar, the `instructions` directory \nmay contain what you need.\n\n## Contributing\n\nDo you like the design, but you found a bug? Is there something you \nwould have done differently? Any contribution is welcome! Moreover, even \nif you'd rather not tamper with the code it is *not* forbidden to send \nme the documents you compiled using the kaobook class.\n\nSince the content of this repository is published at [LaTeX \nTemplates](http://www.latextemplates.com/), if you wish to contribute by \nchanging the code you must follow the style guidelines of the site: \nextensive commenting and clear separation of the code into nicely \nformatted blocks.\n\n## Supporting\n\nI am always happy to help as much as I can, and I am glad if someone\nuses the `kaobook` class for their works, so there is no real need to do\nanything: the kaobook can be used just like any other LaTeX package (no \nneed to add copyright statements). However, if you want to acknowledge \nkaobook, adding somewhere a sentence like 'This book was typeset with the\nkaobook class' would suffice.\n\nCoffee keeps me awake and helps me writing a better LaTeX template. As \nanother way to contribute, you can buy me a coffee through PayPal: \nhttps://paypal.me/marofede.\n\n## License\n\nThis repository contains two independent works. On the one hand, the \nkaobook class, consisting of `kaobook.cls`, `kaohandt.cls`, and \n`kao.def` files plus all of the files listed in the `styles` directory; \non the other hand, the templates and the examples in the `examples` \ndirectory.\n\nThe first work is licensed under the [LaTeX Project Public\nLicense](https://www.latex-project.org/lppl/), so if you want to modify\nand/or distribute the `*.cls` and `*.sty` files pertaining to this work\nyou have to complain with the terms of the license. However, if you just\nwant to use the class to compile your documents you need not worry about\nthe license.\n\nThe second work is released into the public domain with a Creative \nCommons Zero License.\n\nRead [MANIFEST.md](MANIFEST.md) for the details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmarotta%2Fkaobook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffmarotta%2Fkaobook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmarotta%2Fkaobook/lists"}