https://github.com/geugenm/diploma
https://github.com/geugenm/diploma
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/geugenm/diploma
- Owner: geugenm
- License: gpl-3.0
- Created: 2025-03-24T12:17:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-24T14:23:38.000Z (7 months ago)
- Last Synced: 2025-03-24T15:28:31.769Z (7 months ago)
- Language: TeX
- Size: 922 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# LuaTeX Project Setup and Compilation Guide
[](https://github.com/geugenm/diploma/issues)
[](https://cmake.org/download/)
[](https://www.latex-project.org/)
[](license.md)
[](https://www.overleaf.com/docs?snip_uri=https://github.com/geugenm/diploma/archive/refs/heads/master.zip)
[](https://www.gnu.org/software/emacs/)
[](https://neovim.io/)
This document provides a comprehensive guide to setting up a LaTeX environment
using LuaTeX for efficient document editing and typesetting. We will explore
four popular editor options: Emacs with AUCTeX, lazynvim with vimtex, overleaf
and Kile.
## 1. Installing a TeX Distribution
Choose a TeX distribution that aligns with your operating system:
**Linux:**
- **TeX Live (Recommended):** Offers an extensive package collection and regular updates.
```bash
sudo dnf install texlive-full
```
- **Other Distributions:** Explore options like TeXstudio or proTeXt based on your preferences.
**Windows:**
- **MiKTeX:** Popular choice with on-the-fly package installation. Download from .
**macOS:**
- **MacTeX:** A complete TeX distribution tailored for macOS. Download from .
## 2. Essential LaTeX Packages
The list of required packages is listed in LaTeX document, also you can use `make` to get erros about required packages. Install packages using your TeX distribution's package manager (e.g., `tlmgr` for TeX Live).
To search for some missing packages use:
```sh
tlmgr search --file mathrsfs.sty --global
```
To install on fedora just add prefix `texlive-`:
```sh
sudo dnf install texlive-some-example-package
```
## 3. Editor Configuration
**Doom Emacs:**
1. **Install LaTeX:** Refer to the Emacs package manager or official instructions ().
2. **(Optional) Install pdf-tools:** Enhance PDF interaction within Emacs.
**Kile:**
1. **Install Kile:** Use your system's package manager or download from .
2. **Kile Features:** Enjoy a user-friendly interface with project management, syntax highlighting, code completion, and integrated PDF viewing.
## 4. Compilation and Workflow
- **Compile:** Use the appropriate command or keybinding (e.g., `lualatex` for LuaLaTeX output).
- **Automate:** Configure your editor to automatically build and view the generated PDF.
- **Optimize:** Utilize editor features and installed packages to streamline your LaTeX workflow.
## 5. Additional Resources
- **Comprehensive TeX documentation:**
- **LaTeX community forums and support:**
- **Package documentation and examples:** Refer to package websites or CTAN ().
## 6. Running
Just use:
```bash
sudo dnf install texlive-full
cmake --preset=release .
cmake --build build/release --config release
```
## 7. Advanced Techniques with Latexmk
**Latexmk** is a powerful tool for automating LaTeX compilation. It can watch
for changes in your files and automatically recompile your document, ensuring
that the PDF output is always up-to-date. Here's how to use it:
1. **Installation:** Install latexmk using your system's package manager.
2. **Basic Usage:** Navigate to your LaTeX project directory in the terminal and run `latexmk -pdf yourfile.tex`. This will compile your document and generate a PDF file.
3. **Customization:** Create a `.latexmkrc` file in your project directory to customize latexmk's behavior. You can specify options like the compiler to use, the output format, and the number of compilation runs.
4. **Continuous Compilation:** Use the `-pvc` option to enable continuous compilation. Latexmk will watch for changes in your files and automatically recompile your document.
**Here are some additional-advanced techniques you can use with latexmk:**
- **Specifying Dependencies:** Use the `$dependency` variable to specify dependencies between files.
- **Running External Tools:** Use the `$postprocess` variable to run external tools after compilation, such as BibTeX or MakeIndex.
- **Using Custom Build Rules:** Define custom build rules to handle specific file types or compilation steps.
**By mastering latexmk, you can significantly improve your LaTeX workflow and make the compilation process more efficient.**