From 9a8038095f69c97a3c6ebc6c443c2edb6ffbde66 Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Fri, 10 May 2024 11:29:19 +0200 Subject: [PATCH] Initial commit --- .gitignore | 258 ++++++++++++++++++++++++++++++++++++++++++++ .latexmkrc | 112 +++++++++++++++++++ nass-conclusion.org | 96 +++++++++++++++++ nass-conclusion.pdf | Bin 0 -> 14593 bytes nass-conclusion.tex | 30 ++++++ preamble.tex | 16 +++ preamble_extra.tex | 134 +++++++++++++++++++++++ 7 files changed, 646 insertions(+) create mode 100644 .gitignore create mode 100644 .latexmkrc create mode 100644 nass-conclusion.org create mode 100644 nass-conclusion.pdf create mode 100644 nass-conclusion.tex create mode 100644 preamble.tex create mode 100644 preamble_extra.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d7a02f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,258 @@ +ltximg/ +slprj/ +matlab/slprj/ +*.slxc + + +# ============================================================ +# ============================================================ +# LATEX +# ============================================================ +# ============================================================ + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Comment the next line if you want to keep your tikz graphics files +*.tikz +*-tikzDictionary + +# listings +*.lol + +# makeidx +*.idx +*.ilg +*.ind +*.ist + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# easy-todo +*.lod + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices +*.xyc + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# KBibTeX +*~[0-9]* + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..1600187 --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,112 @@ +#!/bin/env perl + +# Shebang is only to get syntax highlighting right across GitLab, GitHub and IDEs. +# This file is not meant to be run, but read by `latexmk`. + +# ====================================================================================== +# Perl `latexmk` configuration file +# ====================================================================================== + +# ====================================================================================== +# PDF Generation/Building/Compilation +# ====================================================================================== + +@default_files=('nass-conclusion.tex'); + +# PDF-generating modes are: +# 1: pdflatex, as specified by $pdflatex variable (still largely in use) +# 2: postscript conversion, as specified by the $ps2pdf variable (useless) +# 3: dvi conversion, as specified by the $dvipdf variable (useless) +# 4: lualatex, as specified by the $lualatex variable (best) +# 5: xelatex, as specified by the $xelatex variable (second best) +$pdf_mode = 4; + +# Treat undefined references and citations as well as multiply defined references as +# ERRORS instead of WARNINGS. +# This is only checked in the *last* run, since naturally, there are undefined references +# in initial runs. +# This setting is potentially annoying when debugging/editing, but highly desirable +# in the CI pipeline, where such a warning should result in a failed pipeline, since the +# final document is incomplete/corrupted. +# +# However, I could not eradicate all warnings, so that `latexmk` currently fails with +# this option enabled. +# Specifically, `microtype` fails together with `fontawesome`/`fontawesome5`, see: +# https://tex.stackexchange.com/a/547514/120853 +# The fix in that answer did not help. +# Setting `verbose=silent` to mute `microtype` warnings did not work. +# Switching between `fontawesome` and `fontawesome5` did not help. +$warnings_as_errors = 0; + +# Show used CPU time. Looks like: https://tex.stackexchange.com/a/312224/120853 +$show_time = 0; + +# Default is 5; we seem to need more owed to the complexity of the document. +# Actual documents probably don't need this many since they won't use all features, +# plus won't be compiling from cold each time. +$max_repeat=10; + +# --shell-escape option (execution of code outside of latex) is required for the +#'svg' package. +# It converts raw SVG files to the PDF+PDF_TEX combo using InkScape. +# +# SyncTeX allows to jump between source (code) and output (PDF) in IDEs with support +# (many have it). A value of `1` is enabled (gzipped), `-1` is enabled but uncompressed, +# `0` is off. +# Testing in VSCode w/ LaTeX Workshop only worked for the compressed version. +# Adjust this as needed. Of course, only relevant for local use, no effect on a remote +# CI pipeline (except for slower compilation, probably). +# +# %O and %S will forward Options and the Source file, respectively, given to latexmk. +# +# `set_tex_cmds` applies to all *latex commands (latex, xelatex, lualatex, ...), so +# no need to specify these each. This allows to simply change `$pdf_mode` to get a +# different engine. Check if this works with `latexmk --commands`. +set_tex_cmds("--shell-escape -interaction=nonstopmode --synctex=1 %O %S"); + +# Use default pdf viewer +$pdf_update_method = 1; +$pdf_previewer = "zathura %O %S"; + +# option 2 is same as 1 (run biber when necessary), but also deletes the +# regeneratable bbl-file in a clenaup (`latexmk -c`). Do not use if original +# bib file is not available! +$bibtex_use = 2; # default: 1 + +# Change default `biber` call, help catch errors faster/clearer. See +# https://web.archive.org/web/20200526101657/https://www.semipol.de/2018/06/12/latex-best-practices.html#database-entries +$biber = "biber --validate-datamodel %O %S"; + +# Glossaries +add_cus_dep('glo', 'gls', 0, 'run_makeglossaries'); +add_cus_dep('acn', 'acr', 0, 'run_makeglossaries'); + +sub run_makeglossaries { + if ( $silent ) { + system "makeglossaries -q -s '$_[0].ist' '$_[0]'"; + } + else { + system "makeglossaries -s '$_[0].ist' '$_[0]'"; + }; +} + +# ====================================================================================== +# Auxiliary Files +# ====================================================================================== + +# Let latexmk know about generated files, so they can be used to detect if a +# rerun is required, or be deleted in a cleanup. +# loe: List of Examples (KOMAScript) +# lol: List of Listings (`listings` and `minted` packages) +# run.xml: biber runs +# glg: glossaries log +# glstex: generated from glossaries-extra +push @generated_exts, 'loe', 'lol', 'run.xml', 'glstex', 'glo', 'gls', 'glg', 'acn', 'acr', 'alg'; + +# Also delete the *.glstex files from package glossaries-extra. Problem is, +# that that package generates files of the form "basename-digit.glstex" if +# multiple glossaries are present. Latexmk looks for "basename.glstex" and so +# does not find those. For that purpose, use wildcard. +# Also delete files generated by gnuplot/pgfplots contour plots +# (.dat, .script, .table). +$clean_ext = "%R-*.glstex %R_contourtmp*.*"; diff --git a/nass-conclusion.org b/nass-conclusion.org new file mode 100644 index 0000000..3b0d01e --- /dev/null +++ b/nass-conclusion.org @@ -0,0 +1,96 @@ +#+TITLE: Nano Active Stabilization System - Conclusion +:DRAWER: +#+LANGUAGE: en +#+EMAIL: dehaeze.thomas@gmail.com +#+AUTHOR: Dehaeze Thomas + +#+BIND: org-latex-image-default-option "scale=1" +#+BIND: org-latex-image-default-width "" + +#+LATEX_CLASS: scrreprt +#+LATEX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc] +#+LATEX_HEADER: \input{preamble.tex} +#+LATEX_HEADER_EXTRA: \input{preamble_extra.tex} +#+LATEX_HEADER_EXTRA: \bibliography{nass-introduction.bib} + +#+BIND: org-latex-bib-compiler "biber" + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :exports none +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :noweb yes +#+PROPERTY: header-args:matlab+ :mkdirp yes +#+PROPERTY: header-args:matlab+ :output-dir figs +#+PROPERTY: header-args:matlab+ :tangle no + +#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}") +#+PROPERTY: header-args:latex+ :imagemagick t :fit yes +#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 +#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 +#+PROPERTY: header-args:latex+ :results file raw replace +#+PROPERTY: header-args:latex+ :buffer no +#+PROPERTY: header-args:latex+ :tangle no +#+PROPERTY: header-args:latex+ :eval no-export +#+PROPERTY: header-args:latex+ :exports results +#+PROPERTY: header-args:latex+ :mkdirp yes +#+PROPERTY: header-args:latex+ :output-dir figs +#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png") +:END: + +#+latex: \clearpage + +* Build :noexport: +#+NAME: startblock +#+BEGIN_SRC emacs-lisp :results none :tangle no +(add-to-list 'org-latex-classes + '("scrreprt" + "\\documentclass{scrreprt}" + ("\\chapter{%s}" . "\\chapter*{%s}") + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\paragraph{%s}" . "\\paragraph*{%s}") + )) + + +;; Remove automatic org heading labels +(defun my-latex-filter-removeOrgAutoLabels (text backend info) + "Org-mode automatically generates labels for headings despite explicit use of `#+LABEL`. This filter forcibly removes all automatically generated org-labels in headings." + (when (org-export-derived-backend-p backend 'latex) + (replace-regexp-in-string "\\\\label{sec:org[a-f0-9]+}\n" "" text))) +(add-to-list 'org-export-filter-headline-functions + 'my-latex-filter-removeOrgAutoLabels) + +;; Remove all org comments in the output LaTeX file +(defun delete-org-comments (backend) + (loop for comment in (reverse (org-element-map (org-element-parse-buffer) + 'comment 'identity)) + do + (setf (buffer-substring (org-element-property :begin comment) + (org-element-property :end comment)) + ""))) +(add-hook 'org-export-before-processing-hook 'delete-org-comments) + +;; Use no package by default +(setq org-latex-packages-alist nil) +(setq org-latex-default-packages-alist nil) + +;; Do not include the subtitle inside the title +(setq org-latex-subtitle-separate t) +(setq org-latex-subtitle-format "\\subtitle{%s}") + +(setq org-export-before-parsing-hook '(org-ref-glossary-before-parsing + org-ref-acronyms-before-parsing)) +#+END_SRC + +* Notes :noexport: + +Prefix is =conclusion= + +* Conclusion +* Recommendation for further research +* Bibliography :ignore: +#+latex: \printbibliography[heading=bibintoc,title={Bibliography}] + +* Footnotes diff --git a/nass-conclusion.pdf b/nass-conclusion.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9f57dd7728edb0847452d898333ac3f7ca985657 GIT binary patch literal 14593 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