Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kresil/project-documentation
Outlines the founding proposal and technical documentation of the project
https://github.com/kresil/project-documentation
latex latex-document presentation-slides project-proposal proposal
Last synced: about 1 month ago
JSON representation
Outlines the founding proposal and technical documentation of the project
- Host: GitHub
- URL: https://github.com/kresil/project-documentation
- Owner: kresil
- Created: 2024-03-04T22:50:36.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-20T18:20:20.000Z (3 months ago)
- Last Synced: 2024-09-29T04:42:48.408Z (about 2 months ago)
- Topics: latex, latex-document, presentation-slides, project-proposal, proposal
- Language: TeX
- Homepage:
- Size: 34.2 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Documentation
## Table of Contents
- [Documents](#documents)
- [Instructions](#instructions)
- [Configure LaTeX environment in Intellij IDEA](#configure-latex-environment-in-intellij-idea)
- [Add a new subproject](#add-a-new-subproject)
- [Compile and build all subprojects](#compile-and-build-all-subprojects)
- [Manually](#manually)
- [Automatically](#automatically)## Documents
- [project-report](project-report/out/main.pdf)
- [project-proposal](project-proposal/out/main.pdf)
- [project-org](project-org/out/main.pdf)
- [presentations](presentations)
- [poster](poster/poster.pdf)## Instructions
### Configure LaTeX environment in Intellij IDEA
- Install [MikTeX](https://miktex.org/download);
- Update `MikTeX` packages: `MikTeX Console -> Updates -> Check for updates`;
- Install [SumatraPDF](https://www.sumatrapdfreader.org/download-free-pdf-viewer) viewer;
- Install [TeXiFy IDEA](https://plugins.jetbrains.com/plugin/9473-texify-idea) plugin;
- Configure inverse-search in `Intellij IDEA` for SumatraPDF: `Tools -> LaTeX -> Configure Inverse Search`, which
enables
the user to jump from the pdf to the corresponding tex file source.### Add a new subproject
1. Create in root folder a new folder with the name of the subproject;
2. Go to [settings.gradle.kts](settings.gradle.kts) and add the new subproject with:
```kotlin
include(":subproject-name")
```
3. Compile and build pdf, resolving any bibliographic references, with the Gradle task `buildPdf` using the Gradle Panel
or the following command in the terminal:
```bash
./gradlew :subproject-name:buildPdf
```4. **[Optional]** Configure alternative names for the subproject directories and the main tex file in
the `build.gradle.kts` file:
- Create a `build.gradle.kts` file in the subproject directory;
- Add the following code:```kotlin
ext.set("variable", "value")
```
| Variable | Default value | Description |
|-------------------|---------------|---------------------------------------------------------------------------------|
| `srcDirName` | `src` | name of the tex source file's directory |
| `outDirName` | `out` | name of the output directory, where the pdf file will be generated to |
| `auxDirName` | `auxil` | name of the auxiliary directory, where the auxiliary files will be generated to |
| `mainTexFileName` | `main` | name of the main tex file |
| `useBibtex` | `true` | use bibtex to resolve bibliography references |5. **[Optional]** If no changes are made to the bibliography references in development, it is possible to speed up the
compilation process by using IDEA's run configuration in the `.tex` file instead of the Gradle task `buildPdf`,
as the latter has more compile iterations to resolve the bibliography references.
- In the run configuration panel, edit the paths to the corresponding subproject directories:| ![Run Configuration](docs/gifs/idea-main-tex-configuration.gif) |
|:---------------------------------------------------------------:|
| *Edit Run Configuration* |- To compile the document use the shortcut `Shift + F10` or the gutter icon `Run`.
> [!IMPORTANT]
> It is advised to not delete the generated auxiliary files as they can be used in subsequent compilations to speed up
> the process.### Compile and build all subprojects
#### Manually
To compile and build all pdfs in all subprojects, use the Gradle task `buildAllPdfs` which can be found in the Gradle
Panel or by running the following command in the terminal:```bash
./gradlew buildAllPdfs
```#### Automatically
A [workflow using github actions](.github/workflows/compile-and-deploy-all-documents.yaml) is set up
to automatically compile
and build all pdfs in all subprojects when a `push`is made to the repository in the `main` branch or from
a `pull request`.