From bf0327d7a92f5dd39a0d002f7c139470854ec8b9 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Thu, 24 Nov 2022 12:14:16 +0100 Subject: [PATCH 01/20] Correction README --- README.md | 68 ++++++++------------------ docs/presentation/.gitignore | 3 ++ docs/presentation/presentation.tex | 78 ++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 47 deletions(-) create mode 100644 docs/presentation/.gitignore create mode 100644 docs/presentation/presentation.tex diff --git a/README.md b/README.md index ba84f65..1a77f36 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,36 @@ # Effovex -Effovex (pronounced “f of xâ€) will be a document typesetter focused on -(or perhaps entirely devoted to) mathematical formulae. This is a -software enginnering project by Antoine Guilmin Crépon, Balthazar +Effovex (pronounced “f of xâ€) will be a document typesetter focused on (or perhaps entirely devoted to) mathematical formulae. This is a software enginnering project by Antoine Guilmin Crépon, Balthazar Patiachvili and Jean Abou Samra at M1 MPRI in ENS Paris-Saclay. -Patiachvili and Jean Abou Samra at M1 MPRI in ENS Paris-Saclay. +## Installation -## Effovex grammar +To install and compile this project, you need to clone the repository, go in the folder then build the project with `cargo`. +```bash +$ git clone https://gitlab.crans.org/pigeonmoelleux/effovex.git +$ cd effovex/ +$ cargo build ``` -<document> := - """ - <doc_type> - <declarations>* - - @begin(document) - <showable>* - @end(document) - """ -<doc_type> := document(<outputs_fmt>) +## How to run effovex -<output_fmt> := "pdf" | "png" | "svg" +To run effovex on a specific .fx file, you can either run the project with cargo -<declarations> := (<dec_func> | <dec_env>)* - -<dec_func> := - """ - fn <name>(<LPAR> <name> <RPAR>)* { - return <showable>* - } - """ - -<dec_env> := - """ - env <name>(<LPAR><name><RPAR>)* { - return <env> - } - """ - -<LPAR> := "(" -<RPAR> := ")" -<name> := [a-zA-Z][a-zA-Z0-9_-]* +```bash +$ cargo run -- path/to/example/file.fx +``` -<env> = <name> +or use the binary produced by cargo after the build. -<showable> := <str> | <called_func> | <called_env> | <object> +```bash +$ cargo build +$ ./target/debug/effovex path/to/example/file.fx +``` -<str> := utf8 characters +The output file will be placed in the same directory as the input file. -<called_func> := "@<name>(<LPAR><showable><RPAR>)*" +## User manual -<called_env> := - """ - @begin<LPAR><name><RPAR>(<LPAR><showable><RPAR>)* - <showable>* - @end<LPAR><name><RPAR> - """ +The complete user manual can be found at [TODO](.). -<object> := "@<name>(<LPAR><showable><RPAR>)*" -``` \ No newline at end of file +The source files are in [docs/user_manual/](docs/user_manual). \ No newline at end of file diff --git a/docs/presentation/.gitignore b/docs/presentation/.gitignore new file mode 100644 index 0000000..e33478b --- /dev/null +++ b/docs/presentation/.gitignore @@ -0,0 +1,3 @@ +* +!*.tex +!.gitignore diff --git a/docs/presentation/presentation.tex b/docs/presentation/presentation.tex new file mode 100644 index 0000000..8a7013e --- /dev/null +++ b/docs/presentation/presentation.tex @@ -0,0 +1,78 @@ +\documentclass[12pt, aspectratio=169, 169]{beamer} + +\mode<presentation>{ + \usetheme{Warsaw} + \useoutertheme{shadow} + \useoutertheme{infolines} +} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[french]{babel} + +\title[Effovex]{Présentation de projet: Effovex} +\author[J.A.Samra \& A.Guilmin-Crépon \& B.Patiachvili]{Jean Abou Samra, Antoine Guilmin-Crépon, Balthazar Patiachvili} +\date[06/10/2022]{06 octobre 2022} + +\newcommand{\jump}[1][1]{\vspace{#1\baselineskip}} + +\begin{document} + + \maketitle + + \begin{frame}{Fonctionnalités} + + \begin{block}{Description} + Création d'un langage et d'un compilateur associé en Rust pour produire des documents PDF, SVG et PNG. + \end{block} + + \begin{block}{Mi-parcours} + Avoir une base fonctionnelle capable de générer du texte et des bases de mathématiques + \end{block} + + \begin{block}{Rendu final} + Finalisation de l'interface pour les packages et création de quelques packages de démonstration + \end{block} + + \end{frame} + + \begin{frame}{Langage et librairies} + + \begin{block}{} + \large + \begin{center} + Rust + \end{center} \pause + \jump + + Bibliothèques~: + \begin{itemize} + \item \textbf{Lexer et parser} : nom \pause $\longrightarrow$ parser dynamique \pause + \item \textbf{Génération}~: cairo \pause $\longrightarrow$ génération de PDF, SVG, PNG, \dots \pause + \item \textbf{Création de packages}~: libloading + \end{itemize} + + \end{block} + + \end{frame} + + \begin{frame}{Structuration et répartition} + + \begin{block}{} + $\underbrace{\text{Langage effovex}}_{\text{Tous}} \longrightarrow \underbrace{\text{Parser}}_{\text{Jean}} \xrightarrow{\quad \text{AST} \quad} \underbrace{\text{Conversion AST-cairo}}_{\text{Balthazar}} \xrightarrow{\text{cairo}} \underbrace{\text{Génération}}_{\text{Antoine}}$ + \end{block} + \jump + + Interface pour l'ajout de packages : Balthazar \pause + \jump + + Exemples de packages~: + \begin{itemize} + \item Arbres de preuves + \item Tableaux + \item Diagrammes commutatifs + \end{itemize} + + \end{frame} + +\end{document} \ No newline at end of file -- GitLab From e0de17fa6e04dcc5a60871f313b86cdc59cf9fdd Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 17 Nov 2022 10:37:40 +0100 Subject: [PATCH 02/20] Testing infrastructure --- .gitignore | 2 + Cargo.lock | 628 ++++++++++++++++++++++++++++++++++++++ Cargo.toml | 3 +- cargo-compare/Cargo.toml | 13 + cargo-compare/src/main.rs | 395 ++++++++++++++++++++++++ effovex/src/main.rs | 2 +- 6 files changed, 1041 insertions(+), 2 deletions(-) create mode 100644 cargo-compare/Cargo.toml create mode 100644 cargo-compare/src/main.rs diff --git a/.gitignore b/.gitignore index dc31d18..5d0ac10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /target +/baseline +/comparison .vscode *.pdf \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 5c1486b..e78a895 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,18 +2,41 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "anyhow" version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bit_field" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4" + [[package]] name = "bitflags" version = "1.3.2" @@ -29,6 +52,24 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" + +[[package]] +name = "bytemuck" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + [[package]] name = "cairo-rs" version = "0.16.1" @@ -54,6 +95,17 @@ dependencies = [ "system-deps", ] +[[package]] +name = "cargo-compare" +version = "0.1.0" +dependencies = [ + "clap", + "html-builder", + "image-compare", + "similar", + "walkdir", +] + [[package]] name = "cfg-expr" version = "0.11.0" @@ -69,6 +121,49 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "clap" +version = "4.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b9970d7505127a162fdaa9b96428d28a479ba78c9ec7550a63a5d9863db682" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex", + "once_cell", + "strsim", + "termcolor", +] + +[[package]] +name = "clap_derive" +version = "4.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + [[package]] name = "converter" version = "0.1.0" @@ -88,6 +183,64 @@ dependencies = [ "libc", ] +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "crypto-common" version = "0.1.6" @@ -117,6 +270,50 @@ dependencies = [ "parser", ] +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "exr" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb5f255b5980bb0c8cf676b675d1a99be40f316881444f44e0462eaf5df5ded" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide 0.6.2", + "smallvec", + "threadpool", +] + +[[package]] +name = "flate2" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ + "crc32fast", + "miniz_oxide 0.5.4", +] + +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "pin-project", + "spin", +] + [[package]] name = "futures-channel" version = "0.3.25" @@ -160,6 +357,12 @@ dependencies = [ "syn", ] +[[package]] +name = "futures-sink" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" + [[package]] name = "futures-task" version = "0.3.25" @@ -200,6 +403,29 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gif" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "gio" version = "0.16.2" @@ -291,24 +517,213 @@ dependencies = [ "system-deps", ] +[[package]] +name = "half" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad6a9459c9c30b177b925162351f97e7d967c7ea8bab3b8352805327daf45554" +dependencies = [ + "crunchy", +] + [[package]] name = "heck" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "html-builder" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82ac906c24b99b5884b512a5d202d69a674ed27e349f332ae6e5d63e3845697a" + +[[package]] +name = "image" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder", + "num-rational", + "num-traits", + "png", + "scoped_threadpool", + "tiff", +] + +[[package]] +name = "image-compare" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1720968b7383cc9556661d32c7a779426f034f5a12ddf9fd381951dc7049f01d" +dependencies = [ + "image", + "itertools", + "rayon", + "thiserror", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" +dependencies = [ + "rayon", +] + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + [[package]] name = "libc" version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +dependencies = [ + "adler", +] + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "once_cell" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +[[package]] +name = "os_str_bytes" +version = "6.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3baf96e39c5359d2eb0dd6ccb42c62b91d9678aa68160d261b9e0ccbf9e9dea9" + [[package]] name = "pango" version = "0.16.0" @@ -414,6 +829,26 @@ dependencies = [ "sha1", ] +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -432,6 +867,18 @@ version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +[[package]] +name = "png" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" +dependencies = [ + "bitflags", + "crc32fast", + "flate2", + "miniz_oxide 0.6.2", +] + [[package]] name = "proc-macro-crate" version = "1.2.1" @@ -485,6 +932,51 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rayon" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +dependencies = [ + "autocfg", + "crossbeam-deque", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped_threadpool" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + [[package]] name = "serde" version = "1.0.147" @@ -502,6 +994,12 @@ dependencies = [ "digest", ] +[[package]] +name = "similar" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" + [[package]] name = "slab" version = "0.4.7" @@ -517,6 +1015,21 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +[[package]] +name = "spin" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" +dependencies = [ + "lock_api", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "syn" version = "1.0.103" @@ -541,6 +1054,15 @@ dependencies = [ "version-compare", ] +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.37" @@ -561,6 +1083,26 @@ dependencies = [ "syn", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "tiff" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17def29300a156c19ae30814710d9c63cd50288a49c6fd3a10ccfbe4cf886fd" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + [[package]] name = "toml" version = "0.5.9" @@ -600,6 +1142,83 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + [[package]] name = "winapi" version = "0.3.9" @@ -616,6 +1235,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index 857e1eb..04636a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,4 +4,5 @@ members = [ "parser", "converter", "effovex", -] \ No newline at end of file + "cargo-compare", +] diff --git a/cargo-compare/Cargo.toml b/cargo-compare/Cargo.toml new file mode 100644 index 0000000..bc984e9 --- /dev/null +++ b/cargo-compare/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "cargo-compare" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +clap = { version = "4.0.17", features = ["derive"]} +html-builder = "0.4.0" +walkdir = "2.3.2" +image-compare = "0.2.3" +similar = "2.2.1" diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs new file mode 100644 index 0000000..ef7748f --- /dev/null +++ b/cargo-compare/src/main.rs @@ -0,0 +1,395 @@ +//! This script has two modes, normal and --baseline. If --baseline is passed, it creates a test +//! baseline from the current cargo build in the baseline/ directory. This baseline contains logs +//! and PNGs from all tests. In normal mode, it runs all the tests but in the comparison/ directory, +//! and also generates an HTML page in comparison/ that shows the differences. + +use clap::Parser; +use html_builder::{Buffer, Html5, Node}; +use similar::{ChangeTag, TextDiff}; +use std::collections::HashMap; +use std::fmt::Write as FmtWrite; +use std::fs::{create_dir_all, read_to_string, remove_dir_all, rename, File}; +use std::io::Write; +use std::path::{Path, PathBuf}; +use std::process::{Command, ExitStatus, Output}; +use walkdir::WalkDir; + +#[derive(Parser)] +#[command(version)] +struct Cli { + #[arg(short, long)] + output_dir: Option<String>, + #[arg(short, long, default_value_t=String::from("target/debug/effovex"))] + executable: String, + #[arg(short, long)] + baseline: bool, +} + +// A few wrappers around fs functions, returning Result<..., String>. + +/// Find all files with extension `ext` in the given directory. +// TODO: Use a glob crate? +fn glob_ext(dir: &Path, ext: &str) -> Result<Vec<PathBuf>, String> { + let mut result = Vec::new(); + for entry_res in WalkDir::new(dir) { + match entry_res { + Err(err) => { + return Err(format!( + "I/O error while traversing directory {}: {}", + dir.to_string_lossy(), + err + )) + } + Ok(entry) => { + let path = entry.path(); + if path.is_file() { + if let Some(found_ext) = path.extension() { + // UTF-8 validation + if let Some(string) = found_ext.to_str() { + if string == ext { + result.push(path.to_path_buf()); + } + } + } + } + } + } + } + Ok(result) +} + +/// Remove everything under the given directory. +fn nuke_dir(path: &Path) -> Result<(), String> { + if path.is_dir() { + match remove_dir_all(path) { + Ok(()) => Ok(()), + Err(err) => Err(format!( + "cannot remove directory {}: {}", + path.to_string_lossy(), + err + )), + } + } else { + Ok(()) + } +} + +/// Create all directory parents of the given path. +fn mkdirs(path: &Path) -> Result<(), String> { + match create_dir_all(path) { + Ok(()) => Ok(()), + Err(err) => Err(format!( + "cannot create directory {}: {}", + path.to_string_lossy(), + err + )), + } +} + +/// Run a command. +fn run(cmd: &mut Command) -> Result<Output, String> { + match cmd.output() { + Err(err) => Err(format!("failed to spawn command: {}", err)), + Ok(output) => Ok(output), + } +} + +/// Convert PDF file to PNG, putting the result in the same directory +/// as the original. Uses the `convert` command provided by +/// ImageMagick. +// TODO: find a pure Rust crate to convert pdf to png, to obviate +// dependency on ImageMagick? +fn pdf2png(path: &Path) -> Result<(), String> { + assert!(path.extension().unwrap().to_str().unwrap() == "pdf"); + let mut command = Command::new("convert"); + let output_path = path.with_extension("png"); + let status = run(command + .arg("-colorspace") + .arg("RGB") + .arg(path) + .arg(output_path))? + .status; + if status.success() { + Ok(()) + } else { + Err(format!("convert failed for {}", path.to_string_lossy())) + } +} + +/// Move a file. +fn mv(f1: &Path, f2: &Path) -> Result<(), String> { + if let Err(err) = rename(f1, f2) { + Err(format!( + "can't move {} to {}: {}", + f1.to_string_lossy(), + f1.to_string_lossy(), + err + )) + } else { + Ok(()) + } +} + +/// Create a file and return the `File` object. +fn create_file(path: &Path) -> Result<File, String> { + match File::create(path) { + Err(err) => Err(format!( + "failed to create {}: {}", + path.to_string_lossy(), + err + )), + Ok(file) => Ok(file), + } +} + +/// All information about a given test in the baseline and the +/// comparison directory. +#[derive(Clone, Debug)] +struct TestInfo { + /// Path to `.fx` file. + input_path: PathBuf, + /// Path to `.png` file in baseline. + baseline_path: Option<PathBuf>, + /// Path to `.log` file in baseline. + baseline_log_path: Option<PathBuf>, + /// Path to `.png` file in comparison. + output_path: Option<PathBuf>, + /// Path to `.log` file in comparison. + output_log_path: Option<PathBuf>, + /// Exit status. + status: Option<ExitStatus>, +} + +/// Compile all tests, capturing .png output and log. +fn compile_tests(cli: &Cli, output_dir: &Path) -> Result<Vec<TestInfo>, String> { + let mut res = Vec::new(); + for path in glob_ext(Path::new("examples"), "fx")? { + eprintln!("Processing {}...", path.to_string_lossy()); + let path_under_tests = path + .strip_prefix("examples") + .expect("path is in examples/, should have examples/ prefix"); + let path_under_output_dir: &Path = &output_dir.join(path_under_tests); + // Create directory if it doesn't exist. + let prefix: &Path = path_under_output_dir.parent().unwrap(); + mkdirs(prefix)?; + // TODO: implement -o,--output option in effovex. + let output_path_owned: PathBuf = path.with_extension("pdf"); + let output_path: &Path = &output_path_owned; + let mut command = Command::new(&cli.executable); + let log_path = &path_under_output_dir.with_extension("log"); + let file = create_file(log_path.as_path())?; + let exec = command.arg(&path).stderr(file); + match exec.output() { + Err(err) => { + return Err(format!("I/O error while running effovex command: {}", err)); + } + Ok(output) => { + // If effovex fails, no output is produced. + let final_output_file: Option<PathBuf> = if output_path.is_file() { + // move output to baseline/ + let output_wanted = output_dir.join(path_under_tests).with_extension("pdf"); + mv(output_path, &output_wanted)?; + Some(output_wanted.with_extension("png")) + } else { + None + }; + res.push(TestInfo { + input_path: path, + baseline_path: None, // Filled later + baseline_log_path: None, // Filled later + output_path: final_output_file, + output_log_path: Some(log_path.to_path_buf()), + status: Some(output.status), + }); + } + } + } + Ok(res) +} + +#[derive(Debug)] +struct LogAndPng { + source: PathBuf, + log: PathBuf, + png: Option<PathBuf>, +} + +fn get_logs_and_pngs() -> Result<Vec<LogAndPng>, String> { + let source = |path: &Path| { + Path::new("examples").join(path.strip_prefix("baseline").unwrap().with_extension("fx")) + }; + let mut res = Vec::new(); + for path in glob_ext(Path::new("baseline"), "log")? { + let png: PathBuf = path.with_extension("png"); + let png_opt = if png.is_file() { Some(png) } else { None }; + res.push(LogAndPng { + source: source(&path), + log: path, + png: png_opt, + }); + } + Ok(res) +} + +fn add_baseline_data(inp: Vec<TestInfo>) -> Result<Vec<TestInfo>, String> { + let mut map: HashMap<PathBuf, TestInfo> = HashMap::new(); + for info in inp.iter() { + map.insert(info.input_path.clone(), (*info).clone()); + } + let mut res = Vec::new(); + for dat in get_logs_and_pngs()? { + if let Some(mut info) = map.get_mut(&dat.source) { + info.baseline_log_path = Some(dat.log); + info.baseline_path = dat.png; + } else { + let new_info = TestInfo { + input_path: dat.source.clone(), + baseline_log_path: Some(dat.log), + baseline_path: dat.png, + output_path: None, + output_log_path: None, + status: None, + }; + res.push(new_info); + } + } + for (_, info) in map.into_iter() { + res.push(info); + } + Ok(res) +} + +fn read_log(path: &Path) -> Result<String, String> { + match read_to_string(path) { + Err(err) => Err(format!( + "failed to read file {}: {}", + path.to_string_lossy(), + err + )), + Ok(string) => Ok(string), + } +} + +fn pretty_diff(log1: String, log2: String, out: &mut Node) { + let diff = TextDiff::from_lines(&log1, &log2); + for change in diff.iter_all_changes() { + let (color, tag) = match change.tag() { + ChangeTag::Delete => ("#ff0000", "-"), + ChangeTag::Insert => ("#00ff00", "+"), + ChangeTag::Equal => ("#000000", ""), + }; + let mut node = out.span().attr(&format!("style=\"color:{}\"", color)); + writeln!(node, "{}{}", tag, change).unwrap(); + } +} + +fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { + let mut buf = Buffer::new(); + let mut html = buf.html().attr("lang='en'"); + let mut head = html.head(); + head.meta().attr("charset=\"utf-8\""); + writeln!(head.title(), "Comparison of Effovex regression tests").unwrap(); + let mut body: Node = html.body(); + for TestInfo { + input_path, + baseline_path, + baseline_log_path, + output_path, + output_log_path, + status: _, // TODO + } in infos + { + // TODO only show differences + let mut para = body.p().attr("style=\"text-align:center\""); + para.code() + .write_str(&input_path.to_string_lossy()) + .unwrap(); + let mut table = body.table().attr("style=\"border: 1px solid black\""); + let mut header_row = table.tr(); + header_row.th().write_str("Old").unwrap(); + header_row.th().write_str("New").unwrap(); + header_row.th().write_str("Comparison").unwrap(); + // Uh, NLL doesn't work here? + { + let mut log_row = table.tr(); + let str1 = if let Some(path1) = baseline_log_path { + read_log(path1)? + } else { + String::new() + }; + let str2 = if let Some(path2) = output_log_path { + read_log(path2)? + } else { + String::new() + }; + log_row.td().pre().write_str(&str1).unwrap(); + log_row.td().pre().write_str(&str2).unwrap(); + pretty_diff(str1, str2, &mut log_row.td().pre()); + } + { + let mut img_row = table.tr(); + // TODO: escaping? + for path in [baseline_path, output_path] { + match path { + // TODO handle error + None => img_row.td().p().write_str("No image to show.").unwrap(), + Some(img) => { + // TODO handle error + img_row.td().img().attr(&format!( + "src=\"{}\"", + img.as_path().canonicalize().unwrap().to_string_lossy() + )); + } + } + } + img_row.td(); + } + // TODO images + } + return Ok(buf.finish()); +} + +fn run_comparison(cli: &Cli, output_dir: &Path, mut infos: Vec<TestInfo>) -> Result<(), String> { + // If in comparison mode, run the comparison. + if cli.baseline { + return Ok(()); + } + if !Path::new("baseline").is_dir() { + return Err(String::from( + "No baseline for comparison. Please run cargo-compare --baseline on master first.", + )); + } + let baseline_pdfs: Vec<PathBuf> = glob_ext(Path::new("baseline"), "pdf")?; + let test_pdfs: Vec<PathBuf> = glob_ext(output_dir, "pdf")?; + for vec in [&baseline_pdfs, &test_pdfs] { + for pdf in vec { + pdf2png(&pdf)?; + } + } + infos = add_baseline_data(infos)?; + let html = gen_html(&infos)?; + let html_file = output_dir.join("index.html"); + match create_file(&html_file)?.write(html.as_bytes()) { + Ok(_) => Ok(()), + Err(err) => Err(format!( + "I/O error while writing file {}: {}", + html_file.to_string_lossy(), + err + )), + } +} + +fn main() -> Result<(), String> { + let cli = Cli::parse(); + let output_dir_default: String = if cli.baseline { + String::from("baseline") + } else { + String::from("comparison") + }; + let output_dir_name = cli.output_dir.as_ref().unwrap_or(&output_dir_default); + let output_dir = Path::new(&output_dir_name); + nuke_dir(output_dir)?; + let infos = compile_tests(&cli, &output_dir)?; + run_comparison(&cli, &output_dir, infos)?; + Ok(()) +} diff --git a/effovex/src/main.rs b/effovex/src/main.rs index 2993e2e..146db40 100644 --- a/effovex/src/main.rs +++ b/effovex/src/main.rs @@ -47,7 +47,7 @@ fn main() { let path = PathBuf::from(file_path); match execute_file(&path) { Ok(()) => {} - Err(err) => println!("{}", err), + Err(err) => eprintln!("{}", err), } } None => panic!("No file given !"), -- GitLab From f22dea1f96c3c32f2df1aa53e123170268909855 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 14:37:08 +0100 Subject: [PATCH 03/20] Silence dead code warning for now --- cargo-compare/src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs index ef7748f..c55349e 100644 --- a/cargo-compare/src/main.rs +++ b/cargo-compare/src/main.rs @@ -145,6 +145,7 @@ fn create_file(path: &Path) -> Result<File, String> { /// All information about a given test in the baseline and the /// comparison directory. #[derive(Clone, Debug)] +#[allow(dead_code)] struct TestInfo { /// Path to `.fx` file. input_path: PathBuf, @@ -157,7 +158,7 @@ struct TestInfo { /// Path to `.log` file in comparison. output_log_path: Option<PathBuf>, /// Exit status. - status: Option<ExitStatus>, + status: Option<ExitStatus>, // TODO use } /// Compile all tests, capturing .png output and log. -- GitLab From 297d0b29441ba00ae8efd746a61c890030e70353 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Thu, 24 Nov 2022 14:48:11 +0100 Subject: [PATCH 04/20] =?UTF-8?q?Pr=C3=A9paration=20user=20manual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/user_manual/introduction.aux | 25 ++ docs/user_manual/introduction.tex | 5 + docs/user_manual/main.aux | 23 ++ docs/user_manual/main.fdb_latexmk | 86 ++++++ docs/user_manual/main.fls | 491 ++++++++++++++++++++++++++++++ docs/user_manual/main.log | 262 ++++++++++++++++ docs/user_manual/main.out | 1 + docs/user_manual/main.synctex.gz | Bin 0 -> 2230 bytes docs/user_manual/main.tex | 32 ++ docs/user_manual/main.toc | 2 + 10 files changed, 927 insertions(+) create mode 100644 docs/user_manual/introduction.aux create mode 100644 docs/user_manual/introduction.tex create mode 100644 docs/user_manual/main.aux create mode 100644 docs/user_manual/main.fdb_latexmk create mode 100644 docs/user_manual/main.fls create mode 100644 docs/user_manual/main.log create mode 100644 docs/user_manual/main.out create mode 100644 docs/user_manual/main.synctex.gz create mode 100644 docs/user_manual/main.tex create mode 100644 docs/user_manual/main.toc diff --git a/docs/user_manual/introduction.aux b/docs/user_manual/introduction.aux new file mode 100644 index 0000000..d6daaf3 --- /dev/null +++ b/docs/user_manual/introduction.aux @@ -0,0 +1,25 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.1}\protected@file@percent } +\@setckpt{introduction}{ +\setcounter{page}{3} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{1} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{1} +\setcounter{section@level}{1} +} diff --git a/docs/user_manual/introduction.tex b/docs/user_manual/introduction.tex new file mode 100644 index 0000000..ced5af9 --- /dev/null +++ b/docs/user_manual/introduction.tex @@ -0,0 +1,5 @@ +\section{Introduction} + + Welcome to Effovex, a software system for document preparation. + + This document describes how to use the version \version of Effovex. \ No newline at end of file diff --git a/docs/user_manual/main.aux b/docs/user_manual/main.aux new file mode 100644 index 0000000..efd0639 --- /dev/null +++ b/docs/user_manual/main.aux @@ -0,0 +1,23 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\babel@aux[2]{} +\@nameuse{bbl@beforestart} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\babel@aux{english}{} +\@input{introduction.aux} +\gdef \@abspage@last{2} diff --git a/docs/user_manual/main.fdb_latexmk b/docs/user_manual/main.fdb_latexmk new file mode 100644 index 0000000..f948b96 --- /dev/null +++ b/docs/user_manual/main.fdb_latexmk @@ -0,0 +1,86 @@ +# Fdb version 3 +["pdflatex"] 1669289984 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669290514 + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669289985 689 3f7c69efa43598b0ad38cd34985c505c "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669290514 164 f13b638ee55a3b785e47f2e6257290d7 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669289985 792 834200dc306d4f24df176e8e56de3862 "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669289985 103 9814c2d956916adb9290eca4e25c967a "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669289984 521 f0c249d37f382f9baf59a8413c83ff74 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669289985 91 b7edcdb1e955970ee2a909be3244a72f "pdflatex" + "/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1639192684 2971 def0b6c1f0b107b3b936def894055589 "" + "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1639192684 3524 cb3e574dea2d1052e39280babc910dc8 "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm" 1639192684 3584 2d666ecf6d466d8b007246bc2f94d9da "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm" 1639192684 3584 13049b61b922a28b158a38aeff75ee9b "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1639192684 3584 adb004a0c8e7c46ee66cad73671f37b4 "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1639192684 3584 f80ddd985bd00e29e9a6047ebd9d4781 "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm" 1639192684 3584 3169d30142b88a27d4ab0e3468e963a2 "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1728.tfm" 1639192684 3584 3c76ccb63eda935a68ba65ba9da29f1a "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1639192684 1524 4414a8315f39513458b80dfc63bff03a "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1639192684 1512 f21f83efb36853c0b70002322c1ab3ad "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1639192684 1520 eccf95517727cb11801f4f1aee3a21b4 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1639192684 1288 655e228510b4c2a1abe905c368440826 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1639192684 1300 b62933e007d01cfd073f79b963c01526 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1639192684 1292 21c1c5bfeaebccffdb478fd231a0997d "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1639192684 1124 6c73e740cf17375f03eec0ee63599741 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1639192684 1116 933a60c408fc0a863a92debe84b2d294 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1639192684 1120 8b7d695260f3cff42e636090a8002094 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb" 1639192684 145408 43d44302ca7d82d487f511f83e309505 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb" 1639192684 135942 859a90cad7494a1e79c94baf546d7de5 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb" 1639192684 138258 6525c253f16cededa14c7fd0da7f67b2 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb" 1639192684 136101 f533469f523533d38317ab5729d00c8a "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb" 1639192684 131078 d96015a2fa5c350129e933ca070b2484 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb" 1639192684 131438 3aa300b3e40e5c8ba7b4e5c6cebc5dd6 "" + "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1639192684 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1639192684 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" + "/usr/share/texmf-dist/tex/generic/babel-english/english.ldf" 1639192684 7008 9ff5fdcc865b01beca2b0fe4a46231d4 "" + "/usr/share/texmf-dist/tex/generic/babel/babel.def" 1639192684 118719 e672239d75d9419ba29850a1b391bd00 "" + "/usr/share/texmf-dist/tex/generic/babel/babel.sty" 1639192684 37894 44955682e4f134137b9d1033fb86e0ef "" + "/usr/share/texmf-dist/tex/generic/babel/txtbabel.def" 1639192684 5230 84624d139fa443f96294434bccf82f8c "" + "/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1639192684 40635 c40361e206be584d448876bba8a64a3b "" + "/usr/share/texmf-dist/tex/generic/bitset/bitset.sty" 1639192684 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" + "/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1639192684 7734 b98cbb34c81f667027c1e3ebdbfce34b "" + "/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1639192684 8371 9d55b8bd010bc717624922fb3477d92e "" + "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1639192684 6501 4011d89d9621e0b0901138815ba5ff29 "" + "/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1639192684 8356 7bbb2c2373aa810be568c29e333da8ed "" + "/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty" 1639192684 31769 002a487f55041f8e805cfbf6385ffd97 "" + "/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1639192684 5412 d5a2436094cd7be85769db90f29250a6 "" + "/usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1639192684 13807 952b0226d4efca026f0e19dd266dcc22 "" + "/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1639192684 17859 4409f8f50cd365c68e684407e5350b1b "" + "/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1639192684 19007 15924f7228aca6c6d184b115f4baa231 "" + "/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1639192684 20089 80423eac55aa175305d35b49e04fe23b "" + "/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1639192684 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" + "/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1639192684 19336 ce7ae9438967282886b3b036cfad1e4d "" + "/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1639192684 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" + "/usr/share/texmf-dist/tex/latex/base/article.cls" 1639192684 20145 aad8c3dd3bc36e260347b84002182bc2 "" + "/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1639192684 2973 00085839f5881178c538db5970d3c38e "" + "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1639192684 2596 b3a02e33035865e9f0457e064d436fb8 "" + "/usr/share/texmf-dist/tex/latex/base/fontenc.sty" 1639192684 4947 8cb7717f0cc771eca0fda15160c7fee9 "" + "/usr/share/texmf-dist/tex/latex/base/inputenc.sty" 1639192684 5050 0d3b77275060ca09a40635b830c3c904 "" + "/usr/share/texmf-dist/tex/latex/base/size10.clo" 1639192684 8449 a72d5d4e612221b46000c3d71724e0ef "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1639192684 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def" 1639192684 19103 48d29b6e2a64cb717117ef65f107b404 "" + "/usr/share/texmf-dist/tex/latex/graphics/color.sty" 1639192684 7102 5b27b7e61091c6128cd6300e21704e4b "" + "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1639192684 2590 e3b24ff953e5b58d924f163d25380312 "" + "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1639192684 17914 4c28a13fc3d975e6e81c9bea1d697276 "" + "/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def" 1639192684 49890 ad792e908af8bc5c293b806bd181e58d "" + "/usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def" 1639192684 1777 31eee4f3f5c138e44a4e16abfcaefa41 "" + "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1639192684 230839 177eac084bda18ae827a77792a17292e "" + "/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1639192684 13242 133e617c5eebffdd05e421624022b267 "" + "/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1639192684 14132 3a8b7a8250bdb5871e322188be7c9ff6 "" + "/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1639192684 117004 7c05c6dde5b2b6a14f97dd4137739212 "" + "/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1639192684 22521 d2fceb764a442a2001d257ef11db7618 "" + "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1639192684 27164 3d5f7887a89df4eb2f6e86ba26ef3254 "" + "/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1639192684 5766 13a9e8766c47f30327caf893ece86ac8 "" + "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1639192684 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" + "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1639192684 9715 b051d5b493d9fe5f4bc251462d039e5f "" + "/usr/share/texmf-dist/tex/latex/tools/xspace.sty" 1639192684 4546 3e6071704acf4f66392376b7b66ae02c "" + "/usr/share/texmf-dist/tex/latex/url/url.sty" 1639192684 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/share/texmf-dist/web2c/texmf.cnf" 1655305253 39967 c1691bf11496e9d6ea53f7eba5c4754e "" + "/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1666812724 334227 92f850e77170e97d49db3fab2645ba0e "" + "/usr/share/texmf-var/web2c/pdftex/pdflatex.fmt" 1666812714 2724585 b6375174b219d1c10c09304c4f573890 "" + (generated) + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" diff --git a/docs/user_manual/main.fls b/docs/user_manual/main.fls new file mode 100644 index 0000000..5e3a297 --- /dev/null +++ b/docs/user_manual/main.fls @@ -0,0 +1,491 @@ +PWD /home/pigeonmoelleux/Documents/ENS/M1/Génie logiciel/effovex/docs/user_manual +INPUT /usr/share/texmf-dist/web2c/texmf.cnf +INPUT /usr/share/texmf-var/web2c/pdftex/pdflatex.fmt +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty +INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty +INPUT /usr/share/texmf-dist/tex/generic/babel/babel.def +INPUT /usr/share/texmf-dist/tex/generic/babel/txtbabel.def +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1728.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map +OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out +INPUT /usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb diff --git a/docs/user_manual/main.log b/docs/user_manual/main.log new file mode 100644 index 0000000..c648017 --- /dev/null +++ b/docs/user_manual/main.log @@ -0,0 +1,262 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/VoidLinux) (preloaded format=pdflatex 2022.10.26) 24 NOV 2022 12:39 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**"/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" +(/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex +LaTeX2e <2020-10-01> patch level 4 +L3 programming layer <2021-02-18> (/usr/share/texmf-dist/tex/latex/base/article.cls +Document Class: article 2020/04/10 v1.4m Standard LaTeX document class +(/usr/share/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option) +) +\c@part=\count179 +\c@section=\count180 +\c@subsection=\count181 +\c@subsubsection=\count182 +\c@paragraph=\count183 +\c@subparagraph=\count184 +\c@figure=\count185 +\c@table=\count186 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) (/usr/share/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2020/08/01 v1.3d Input encoding file +\inpenc@prehook=\toks15 +\inpenc@posthook=\toks16 +) (/usr/share/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2020/08/10 v2.0s Standard LaTeX package +) (/usr/share/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2021/03/24 3.56 The Babel package + (/usr/share/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2021/03/24 3.56 Babel common definitions +\babel@savecnt=\count187 +\U@D=\dimen139 +\l@babelnohyphens=\language87 + (/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) +\bbl@readstream=\read2 +) +\bbl@dirlevel=\count188 + (/usr/share/texmf-dist/tex/generic/babel-english/english.ldf +Language: english 2017/06/06 v3.3r English support from the babel system +Package babel Info: \l@canadian = using hyphenrules for english +(babel) (\language0) on input line 102. +Package babel Info: \l@australian = using hyphenrules for ukenglish +(babel) (\language21) on input line 105. +Package babel Info: \l@newzealand = using hyphenrules for ukenglish +(babel) (\language21) on input line 108. +)) (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2021-02-27 v7.00k Hypertext links for LaTeX + (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2020/03/06 v1.0d TeX engine tests +) (/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) + (/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks17 +) (/usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +) (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) +) +\@linkdim=\dimen140 +\Hy@linkcounter=\count189 +\Hy@pagecounter=\count190 + (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2021-02-27 v7.00k Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) (/usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def +File: hyperref-langpatches.def 2021-02-27 v7.00k Hyperref: patches for babel languages +) (/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) (/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count191 + (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2021-02-27 v7.00k Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +Package hyperref Info: Hyper figures OFF on input line 4192. +Package hyperref Info: Link nesting OFF on input line 4197. +Package hyperref Info: Hyper index ON on input line 4200. +Package hyperref Info: Plain pages OFF on input line 4207. +Package hyperref Info: Backreferencing OFF on input line 4212. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4445. +\c@Hy@tempcnt=\count192 + (/usr/share/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4804. +\XeTeXLinkMargin=\dimen141 + (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + (/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) +)) +\Fld@menulength=\count193 +\Field@Width=\dimen142 +\Fld@charsize=\dimen143 +Package hyperref Info: Hyper figures OFF on input line 6075. +Package hyperref Info: Link nesting OFF on input line 6080. +Package hyperref Info: Hyper index ON on input line 6083. +Package hyperref Info: backreferencing OFF on input line 6090. +Package hyperref Info: Link coloring OFF on input line 6095. +Package hyperref Info: Link coloring with OCG OFF on input line 6100. +Package hyperref Info: PDF/A mode OFF on input line 6105. +LaTeX Info: Redefining \ref on input line 6145. +LaTeX Info: Redefining \pageref on input line 6149. + (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2020/08/17 v1.0a Emulation of the original atbegshi package +with kernel methods +) +\Hy@abspage=\count194 +\c@Item=\count195 +\c@Hfootnote=\count196 +) +Package hyperref Info: Driver (autodetected): hpdftex. + (/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2021-02-27 v7.00k Hyperref driver for pdfTeX + (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atvery package +with kernel methods +) +\Fld@listcount=\count197 +\c@bookmark@seq@number=\count198 + (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) + (/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 286. +) +\Hy@SectionHShift=\skip49 +) (/usr/share/texmf-dist/tex/latex/tools/xspace.sty +Package: xspace 2014/10/28 v1.13 Space after command names (DPC,MH) +) +Package hyperref Info: Option `colorlinks' set `true' on input line 16. + (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2021-03-18 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count199 +\l__pdf_internal_box=\box47 +) (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux)) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. + (/usr/share/texmf-dist/tex/latex/graphics/color.sty +Package: color 2020/02/24 v1.2b Standard LaTeX Color (DPC) + (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package color Info: Driver file: pdftex.def on input line 147. + (/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex + (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count266 +\scratchdimen=\dimen144 +\scratchbox=\box48 +\nofMPsegments=\count267 +\nofMParguments=\count268 +\everyMPshowfont=\toks18 +\MPscratchCnt=\count269 +\MPscratchDim=\dimen145 +\MPnumerator=\count270 +\makeMPintoPDFobject=\count271 +\everyMPtoPDFconversion=\toks19 +))) +Package hyperref Info: Link coloring ON on input line 24. + (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section + (/usr/share/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count272 +) +LaTeX Info: Redefining \ref on input line 24. +LaTeX Info: Redefining \pageref on input line 24. +LaTeX Info: Redefining \nameref on input line 24. + (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out) (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out) +\@outlinefile=\write3 +\openout3 = `main.out'. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 27. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 27. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 27. + (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc) +\tf@toc=\write4 +\openout4 = `main.toc'. + + [1 + +{/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] +\openout2 = `introduction.aux'. + + (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex) [2 + +] (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux)) +Package rerunfilecheck Info: File `main.out' has not changed. +(rerunfilecheck) Checksum: 9814C2D956916ADB9290ECA4E25C967A;103. + ) +Here is how much of TeX's memory you used: + 8478 strings out of 478994 + 124311 string characters out of 5864718 + 432663 words of memory out of 5000000 + 25865 multiletter control sequences out of 15000+600000 + 410780 words of font info for 42 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 71i,6n,74p,278b,335s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}</usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb> +Output written on "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" (2 pages, 80465 bytes). +PDF statistics: + 49 PDF objects out of 1000 (max. 8388607) + 38 compressed objects within 1 object stream + 5 named destinations out of 1000 (max. 500000) + 9 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/docs/user_manual/main.out b/docs/user_manual/main.out new file mode 100644 index 0000000..ac59f8e --- /dev/null +++ b/docs/user_manual/main.out @@ -0,0 +1 @@ +\BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1 diff --git a/docs/user_manual/main.synctex.gz b/docs/user_manual/main.synctex.gz new file mode 100644 index 0000000000000000000000000000000000000000..aa872cc3e8ce327830c2a0c5f74cc65f352cde56 GIT binary patch literal 2230 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 E0MONRO#lD@ literal 0 HcmV?d00001 diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex new file mode 100644 index 0000000..0225303 --- /dev/null +++ b/docs/user_manual/main.tex @@ -0,0 +1,32 @@ +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english]{babel} + +\usepackage{hyperref} +\usepackage{xspace} + +\setlength\parindent{0pt} + +\hypersetup{ + colorlinks=true, + linkcolor=red, + urlcolor=blue +} + +\newcommand{\version}{1.0.1\xspace} + +\title{Effovex User Manual \\ {\Large Version \version}} +\author{A.Guilmin-Crépon, B.Patiachvili and J.Abou-Samra} +\date{\today} + +\begin{document} + + \maketitle + + \tableofcontents + + \include{introduction.tex} + +\end{document} \ No newline at end of file diff --git a/docs/user_manual/main.toc b/docs/user_manual/main.toc new file mode 100644 index 0000000..60d64c8 --- /dev/null +++ b/docs/user_manual/main.toc @@ -0,0 +1,2 @@ +\babel@toc {english}{} +\contentsline {section}{\numberline {1}Introduction}{2}{section.1}% -- GitLab From 525e4ea11a6809b9c96db2ac3594cc7077cb5b8f Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Thu, 24 Nov 2022 15:08:26 +0100 Subject: [PATCH 05/20] Clear git repo --- docs/user_manual/.gitignore | 7 +++++ docs/user_manual/introduction.aux | 3 ++- docs/user_manual/introduction.tex | 5 +++- docs/user_manual/main.fdb_latexmk | 24 +++++++++-------- docs/user_manual/main.fls | 7 +++++ docs/user_manual/main.log | 41 ++++++++++++++++++------------ docs/user_manual/main.out | 1 + docs/user_manual/main.synctex.gz | Bin 2230 -> 3536 bytes docs/user_manual/main.tex | 2 +- docs/user_manual/main.toc | 1 + 10 files changed, 62 insertions(+), 29 deletions(-) create mode 100644 docs/user_manual/.gitignore diff --git a/docs/user_manual/.gitignore b/docs/user_manual/.gitignore new file mode 100644 index 0000000..93c9873 --- /dev/null +++ b/docs/user_manual/.gitignore @@ -0,0 +1,7 @@ +* + +!.gitignore + +!*.tex +!*.sty +!*.cls \ No newline at end of file diff --git a/docs/user_manual/introduction.aux b/docs/user_manual/introduction.aux index d6daaf3..edd6560 100644 --- a/docs/user_manual/introduction.aux +++ b/docs/user_manual/introduction.aux @@ -1,6 +1,7 @@ \relax \providecommand\hyper@newdestlabel[2]{} \@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{to}{2}{section*.2}\protected@file@percent } \@setckpt{introduction}{ \setcounter{page}{3} \setcounter{equation}{0} @@ -20,6 +21,6 @@ \setcounter{table}{0} \setcounter{Item}{0} \setcounter{Hfootnote}{0} -\setcounter{bookmark@seq@number}{1} +\setcounter{bookmark@seq@number}{2} \setcounter{section@level}{1} } diff --git a/docs/user_manual/introduction.tex b/docs/user_manual/introduction.tex index ced5af9..82ddef3 100644 --- a/docs/user_manual/introduction.tex +++ b/docs/user_manual/introduction.tex @@ -2,4 +2,7 @@ Welcome to Effovex, a software system for document preparation. - This document describes how to use the version \version of Effovex. \ No newline at end of file + This document describes how to use the version \version of Effovex from the point of view of a user. Technical explanations and documentation to implement further features can be found on \href{https://TODO.com}{\texttt{https://TODO.com}}. + + \subsection*{} + \addcontentsline{toc}{subsection}{to} \ No newline at end of file diff --git a/docs/user_manual/main.fdb_latexmk b/docs/user_manual/main.fdb_latexmk index f948b96..2aad085 100644 --- a/docs/user_manual/main.fdb_latexmk +++ b/docs/user_manual/main.fdb_latexmk @@ -1,19 +1,21 @@ # Fdb version 3 -["pdflatex"] 1669289984 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669290514 - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669289985 689 3f7c69efa43598b0ad38cd34985c505c "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669290514 164 f13b638ee55a3b785e47f2e6257290d7 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669289985 792 834200dc306d4f24df176e8e56de3862 "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669289985 103 9814c2d956916adb9290eca4e25c967a "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669289984 521 f0c249d37f382f9baf59a8413c83ff74 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669289985 91 b7edcdb1e955970ee2a909be3244a72f "pdflatex" +["pdflatex"] 1669298509 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669298509 + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669298509 777 2124f9ccc103fce4ac5be1354935fb0d "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669298508 398 f254a22cc39ea503d99d3e9e6ffbaa41 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669298509 792 834200dc306d4f24df176e8e56de3862 "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669298509 166 7b1546629ce4eba28ee579cf334e3fdd "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669297835 521 f4a97b0e8ed3b2e41435cf071d1d8712 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669298509 138 02cf52ff0ab92c3c4bbdde5985bcffcd "pdflatex" "/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1639192684 2971 def0b6c1f0b107b3b936def894055589 "" "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1639192684 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm" 1639192684 3584 2d666ecf6d466d8b007246bc2f94d9da "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm" 1639192684 3584 402da0b29eafbad07963b1224b222f18 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm" 1639192684 3584 13049b61b922a28b158a38aeff75ee9b "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1639192684 3584 adb004a0c8e7c46ee66cad73671f37b4 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1639192684 3584 f80ddd985bd00e29e9a6047ebd9d4781 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm" 1639192684 3584 3169d30142b88a27d4ab0e3468e963a2 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1728.tfm" 1639192684 3584 3c76ccb63eda935a68ba65ba9da29f1a "" + "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm" 1639192684 1536 06717a2b50de47d4087ac0e6cd759455 "" "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1639192684 1524 4414a8315f39513458b80dfc63bff03a "" "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1639192684 1512 f21f83efb36853c0b70002322c1ab3ad "" "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1639192684 1520 eccf95517727cb11801f4f1aee3a21b4 "" @@ -29,6 +31,7 @@ "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb" 1639192684 136101 f533469f523533d38317ab5729d00c8a "" "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb" 1639192684 131078 d96015a2fa5c350129e933ca070b2484 "" "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb" 1639192684 131438 3aa300b3e40e5c8ba7b4e5c6cebc5dd6 "" + "/usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb" 1639192684 169201 9ebf99020dde51a5086e186761a34e8f "" "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1639192684 71627 94eb9990bed73c364d7f53f960cc8c5b "" "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1639192684 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" "/usr/share/texmf-dist/tex/generic/babel-english/english.ldf" 1639192684 7008 9ff5fdcc865b01beca2b0fe4a46231d4 "" @@ -56,6 +59,7 @@ "/usr/share/texmf-dist/tex/latex/base/fontenc.sty" 1639192684 4947 8cb7717f0cc771eca0fda15160c7fee9 "" "/usr/share/texmf-dist/tex/latex/base/inputenc.sty" 1639192684 5050 0d3b77275060ca09a40635b830c3c904 "" "/usr/share/texmf-dist/tex/latex/base/size10.clo" 1639192684 8449 a72d5d4e612221b46000c3d71724e0ef "" + "/usr/share/texmf-dist/tex/latex/base/t1cmtt.fd" 1639192684 2444 92c1f2a3fb5fbd5ac60f99eac55c9b29 "" "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1639192684 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" "/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def" 1639192684 19103 48d29b6e2a64cb717117ef65f107b404 "" "/usr/share/texmf-dist/tex/latex/graphics/color.sty" 1639192684 7102 5b27b7e61091c6128cd6300e21704e4b "" @@ -78,9 +82,9 @@ "/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1666812724 334227 92f850e77170e97d49db3fab2645ba0e "" "/usr/share/texmf-var/web2c/pdftex/pdflatex.fmt" 1666812714 2724585 b6375174b219d1c10c09304c4f573890 "" (generated) + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" diff --git a/docs/user_manual/main.fls b/docs/user_manual/main.fls index 5e3a297..aec95f6 100644 --- a/docs/user_manual/main.fls +++ b/docs/user_manual/main.fls @@ -476,6 +476,12 @@ INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduct INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux @@ -489,3 +495,4 @@ INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb +INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb diff --git a/docs/user_manual/main.log b/docs/user_manual/main.log index c648017..af690a0 100644 --- a/docs/user_manual/main.log +++ b/docs/user_manual/main.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/VoidLinux) (preloaded format=pdflatex 2022.10.26) 24 NOV 2022 12:39 +This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/VoidLinux) (preloaded format=pdflatex 2022.10.26) 24 NOV 2022 15:01 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -229,7 +229,12 @@ LaTeX Font Info: External font `cmex10' loaded for size (Font) <8> on input line 27. LaTeX Font Info: External font `cmex10' loaded for size (Font) <6> on input line 27. - (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc) + (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 3. +) \tf@toc=\write4 \openout4 = `main.toc'. @@ -238,25 +243,29 @@ LaTeX Font Info: External font `cmex10' loaded for size {/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] \openout2 = `introduction.aux'. - (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex) [2 + (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex +LaTeX Font Info: Trying to load font information for T1+cmtt on input line 5. + (/usr/share/texmf-dist/tex/latex/base/t1cmtt.fd +File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions +)) [2 ] (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux)) Package rerunfilecheck Info: File `main.out' has not changed. -(rerunfilecheck) Checksum: 9814C2D956916ADB9290ECA4E25C967A;103. +(rerunfilecheck) Checksum: 7B1546629CE4EBA28EE579CF334E3FDD;166. ) Here is how much of TeX's memory you used: - 8478 strings out of 478994 - 124311 string characters out of 5864718 - 432663 words of memory out of 5000000 - 25865 multiletter control sequences out of 15000+600000 - 410780 words of font info for 42 fonts, out of 8000000 for 9000 + 8504 strings out of 478994 + 124976 string characters out of 5864718 + 432667 words of memory out of 5000000 + 25885 multiletter control sequences out of 15000+600000 + 411869 words of font info for 44 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 71i,6n,74p,278b,335s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}</usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb> -Output written on "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" (2 pages, 80465 bytes). + 71i,6n,74p,477b,335s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}</usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb> +Output written on "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" (2 pages, 100488 bytes). PDF statistics: - 49 PDF objects out of 1000 (max. 8388607) - 38 compressed objects within 1 object stream - 5 named destinations out of 1000 (max. 500000) - 9 words of extra memory for PDF output out of 10000 (max. 10000000) + 59 PDF objects out of 1000 (max. 8388607) + 47 compressed objects within 1 object stream + 6 named destinations out of 1000 (max. 500000) + 17 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/docs/user_manual/main.out b/docs/user_manual/main.out index ac59f8e..ff4dae8 100644 --- a/docs/user_manual/main.out +++ b/docs/user_manual/main.out @@ -1 +1,2 @@ \BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1 +\BOOKMARK [2][-]{section*.2}{\376\377\000t\000o}{section.1}% 2 diff --git a/docs/user_manual/main.synctex.gz b/docs/user_manual/main.synctex.gz index aa872cc3e8ce327830c2a0c5f74cc65f352cde56..4e8fef8d22efedecdf5d9973ba4a786856d62f6e 100644 GIT binary patch literal 3536 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 KNJwy5Jpce?x8?Hy literal 2230 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 E0MONRO#lD@ diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex index 0225303..2916bd3 100644 --- a/docs/user_manual/main.tex +++ b/docs/user_manual/main.tex @@ -15,7 +15,7 @@ urlcolor=blue } -\newcommand{\version}{1.0.1\xspace} +\newcommand{\version}{0.1.0\xspace} \title{Effovex User Manual \\ {\Large Version \version}} \author{A.Guilmin-Crépon, B.Patiachvili and J.Abou-Samra} diff --git a/docs/user_manual/main.toc b/docs/user_manual/main.toc index 60d64c8..9c649bd 100644 --- a/docs/user_manual/main.toc +++ b/docs/user_manual/main.toc @@ -1,2 +1,3 @@ \babel@toc {english}{} \contentsline {section}{\numberline {1}Introduction}{2}{section.1}% +\contentsline {subsection}{to}{2}{section*.2}% -- GitLab From 8bd4fe7ecd6c188c9988426c8a8042069cb1a2f9 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Thu, 24 Nov 2022 15:09:57 +0100 Subject: [PATCH 06/20] Suppression fichiers auxiliaires de tex --- docs/user_manual/introduction.aux | 26 -- docs/user_manual/main.aux | 23 -- docs/user_manual/main.fdb_latexmk | 90 ------ docs/user_manual/main.fls | 498 ------------------------------ docs/user_manual/main.log | 271 ---------------- docs/user_manual/main.out | 2 - docs/user_manual/main.synctex.gz | Bin 3536 -> 0 bytes docs/user_manual/main.tex | 32 -- docs/user_manual/main.toc | 3 - 9 files changed, 945 deletions(-) delete mode 100644 docs/user_manual/introduction.aux delete mode 100644 docs/user_manual/main.aux delete mode 100644 docs/user_manual/main.fdb_latexmk delete mode 100644 docs/user_manual/main.fls delete mode 100644 docs/user_manual/main.log delete mode 100644 docs/user_manual/main.out delete mode 100644 docs/user_manual/main.synctex.gz delete mode 100644 docs/user_manual/main.tex delete mode 100644 docs/user_manual/main.toc diff --git a/docs/user_manual/introduction.aux b/docs/user_manual/introduction.aux deleted file mode 100644 index edd6560..0000000 --- a/docs/user_manual/introduction.aux +++ /dev/null @@ -1,26 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{to}{2}{section*.2}\protected@file@percent } -\@setckpt{introduction}{ -\setcounter{page}{3} -\setcounter{equation}{0} -\setcounter{enumi}{0} -\setcounter{enumii}{0} -\setcounter{enumiii}{0} -\setcounter{enumiv}{0} -\setcounter{footnote}{0} -\setcounter{mpfootnote}{0} -\setcounter{part}{0} -\setcounter{section}{1} -\setcounter{subsection}{0} -\setcounter{subsubsection}{0} -\setcounter{paragraph}{0} -\setcounter{subparagraph}{0} -\setcounter{figure}{0} -\setcounter{table}{0} -\setcounter{Item}{0} -\setcounter{Hfootnote}{0} -\setcounter{bookmark@seq@number}{2} -\setcounter{section@level}{1} -} diff --git a/docs/user_manual/main.aux b/docs/user_manual/main.aux deleted file mode 100644 index efd0639..0000000 --- a/docs/user_manual/main.aux +++ /dev/null @@ -1,23 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\babel@aux[2]{} -\@nameuse{bbl@beforestart} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\babel@aux{english}{} -\@input{introduction.aux} -\gdef \@abspage@last{2} diff --git a/docs/user_manual/main.fdb_latexmk b/docs/user_manual/main.fdb_latexmk deleted file mode 100644 index 2aad085..0000000 --- a/docs/user_manual/main.fdb_latexmk +++ /dev/null @@ -1,90 +0,0 @@ -# Fdb version 3 -["pdflatex"] 1669298509 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669298509 - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669298509 777 2124f9ccc103fce4ac5be1354935fb0d "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669298508 398 f254a22cc39ea503d99d3e9e6ffbaa41 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669298509 792 834200dc306d4f24df176e8e56de3862 "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669298509 166 7b1546629ce4eba28ee579cf334e3fdd "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669297835 521 f4a97b0e8ed3b2e41435cf071d1d8712 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669298509 138 02cf52ff0ab92c3c4bbdde5985bcffcd "pdflatex" - "/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1639192684 2971 def0b6c1f0b107b3b936def894055589 "" - "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1639192684 3524 cb3e574dea2d1052e39280babc910dc8 "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm" 1639192684 3584 2d666ecf6d466d8b007246bc2f94d9da "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm" 1639192684 3584 402da0b29eafbad07963b1224b222f18 "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm" 1639192684 3584 13049b61b922a28b158a38aeff75ee9b "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1639192684 3584 adb004a0c8e7c46ee66cad73671f37b4 "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1639192684 3584 f80ddd985bd00e29e9a6047ebd9d4781 "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm" 1639192684 3584 3169d30142b88a27d4ab0e3468e963a2 "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1728.tfm" 1639192684 3584 3c76ccb63eda935a68ba65ba9da29f1a "" - "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm" 1639192684 1536 06717a2b50de47d4087ac0e6cd759455 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1639192684 1524 4414a8315f39513458b80dfc63bff03a "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1639192684 1512 f21f83efb36853c0b70002322c1ab3ad "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1639192684 1520 eccf95517727cb11801f4f1aee3a21b4 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1639192684 1288 655e228510b4c2a1abe905c368440826 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1639192684 1300 b62933e007d01cfd073f79b963c01526 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1639192684 1292 21c1c5bfeaebccffdb478fd231a0997d "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1639192684 1124 6c73e740cf17375f03eec0ee63599741 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1639192684 1116 933a60c408fc0a863a92debe84b2d294 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1639192684 1120 8b7d695260f3cff42e636090a8002094 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb" 1639192684 145408 43d44302ca7d82d487f511f83e309505 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb" 1639192684 135942 859a90cad7494a1e79c94baf546d7de5 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb" 1639192684 138258 6525c253f16cededa14c7fd0da7f67b2 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb" 1639192684 136101 f533469f523533d38317ab5729d00c8a "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb" 1639192684 131078 d96015a2fa5c350129e933ca070b2484 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb" 1639192684 131438 3aa300b3e40e5c8ba7b4e5c6cebc5dd6 "" - "/usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb" 1639192684 169201 9ebf99020dde51a5086e186761a34e8f "" - "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1639192684 71627 94eb9990bed73c364d7f53f960cc8c5b "" - "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1639192684 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" - "/usr/share/texmf-dist/tex/generic/babel-english/english.ldf" 1639192684 7008 9ff5fdcc865b01beca2b0fe4a46231d4 "" - "/usr/share/texmf-dist/tex/generic/babel/babel.def" 1639192684 118719 e672239d75d9419ba29850a1b391bd00 "" - "/usr/share/texmf-dist/tex/generic/babel/babel.sty" 1639192684 37894 44955682e4f134137b9d1033fb86e0ef "" - "/usr/share/texmf-dist/tex/generic/babel/txtbabel.def" 1639192684 5230 84624d139fa443f96294434bccf82f8c "" - "/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1639192684 40635 c40361e206be584d448876bba8a64a3b "" - "/usr/share/texmf-dist/tex/generic/bitset/bitset.sty" 1639192684 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" - "/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1639192684 7734 b98cbb34c81f667027c1e3ebdbfce34b "" - "/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1639192684 8371 9d55b8bd010bc717624922fb3477d92e "" - "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1639192684 6501 4011d89d9621e0b0901138815ba5ff29 "" - "/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1639192684 8356 7bbb2c2373aa810be568c29e333da8ed "" - "/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty" 1639192684 31769 002a487f55041f8e805cfbf6385ffd97 "" - "/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1639192684 5412 d5a2436094cd7be85769db90f29250a6 "" - "/usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1639192684 13807 952b0226d4efca026f0e19dd266dcc22 "" - "/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1639192684 17859 4409f8f50cd365c68e684407e5350b1b "" - "/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1639192684 19007 15924f7228aca6c6d184b115f4baa231 "" - "/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1639192684 20089 80423eac55aa175305d35b49e04fe23b "" - "/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1639192684 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" - "/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1639192684 19336 ce7ae9438967282886b3b036cfad1e4d "" - "/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1639192684 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" - "/usr/share/texmf-dist/tex/latex/base/article.cls" 1639192684 20145 aad8c3dd3bc36e260347b84002182bc2 "" - "/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1639192684 2973 00085839f5881178c538db5970d3c38e "" - "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1639192684 2596 b3a02e33035865e9f0457e064d436fb8 "" - "/usr/share/texmf-dist/tex/latex/base/fontenc.sty" 1639192684 4947 8cb7717f0cc771eca0fda15160c7fee9 "" - "/usr/share/texmf-dist/tex/latex/base/inputenc.sty" 1639192684 5050 0d3b77275060ca09a40635b830c3c904 "" - "/usr/share/texmf-dist/tex/latex/base/size10.clo" 1639192684 8449 a72d5d4e612221b46000c3d71724e0ef "" - "/usr/share/texmf-dist/tex/latex/base/t1cmtt.fd" 1639192684 2444 92c1f2a3fb5fbd5ac60f99eac55c9b29 "" - "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1639192684 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" - "/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def" 1639192684 19103 48d29b6e2a64cb717117ef65f107b404 "" - "/usr/share/texmf-dist/tex/latex/graphics/color.sty" 1639192684 7102 5b27b7e61091c6128cd6300e21704e4b "" - "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1639192684 2590 e3b24ff953e5b58d924f163d25380312 "" - "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1639192684 17914 4c28a13fc3d975e6e81c9bea1d697276 "" - "/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def" 1639192684 49890 ad792e908af8bc5c293b806bd181e58d "" - "/usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def" 1639192684 1777 31eee4f3f5c138e44a4e16abfcaefa41 "" - "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1639192684 230839 177eac084bda18ae827a77792a17292e "" - "/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1639192684 13242 133e617c5eebffdd05e421624022b267 "" - "/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1639192684 14132 3a8b7a8250bdb5871e322188be7c9ff6 "" - "/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1639192684 117004 7c05c6dde5b2b6a14f97dd4137739212 "" - "/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1639192684 22521 d2fceb764a442a2001d257ef11db7618 "" - "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1639192684 27164 3d5f7887a89df4eb2f6e86ba26ef3254 "" - "/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1639192684 5766 13a9e8766c47f30327caf893ece86ac8 "" - "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1639192684 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" - "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1639192684 9715 b051d5b493d9fe5f4bc251462d039e5f "" - "/usr/share/texmf-dist/tex/latex/tools/xspace.sty" 1639192684 4546 3e6071704acf4f66392376b7b66ae02c "" - "/usr/share/texmf-dist/tex/latex/url/url.sty" 1639192684 12796 8edb7d69a20b857904dd0ea757c14ec9 "" - "/usr/share/texmf-dist/web2c/texmf.cnf" 1655305253 39967 c1691bf11496e9d6ea53f7eba5c4754e "" - "/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1666812724 334227 92f850e77170e97d49db3fab2645ba0e "" - "/usr/share/texmf-var/web2c/pdftex/pdflatex.fmt" 1666812714 2724585 b6375174b219d1c10c09304c4f573890 "" - (generated) - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log" diff --git a/docs/user_manual/main.fls b/docs/user_manual/main.fls deleted file mode 100644 index aec95f6..0000000 --- a/docs/user_manual/main.fls +++ /dev/null @@ -1,498 +0,0 @@ -PWD /home/pigeonmoelleux/Documents/ENS/M1/Génie logiciel/effovex/docs/user_manual -INPUT /usr/share/texmf-dist/web2c/texmf.cnf -INPUT /usr/share/texmf-var/web2c/pdftex/pdflatex.fmt -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texmf-dist/tex/generic/babel/babel.def -INPUT /usr/share/texmf-dist/tex/generic/babel/txtbabel.def -INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1728.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map -OUTPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd -INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd -INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd -INPUT /usr/share/texmf-dist/tex/latex/base/t1cmtt.fd -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ectt1000.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out -INPUT /usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb -INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb diff --git a/docs/user_manual/main.log b/docs/user_manual/main.log deleted file mode 100644 index af690a0..0000000 --- a/docs/user_manual/main.log +++ /dev/null @@ -1,271 +0,0 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/VoidLinux) (preloaded format=pdflatex 2022.10.26) 24 NOV 2022 15:01 -entering extended mode - restricted \write18 enabled. - file:line:error style messages enabled. - %&-line parsing enabled. -**"/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" -(/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex -LaTeX2e <2020-10-01> patch level 4 -L3 programming layer <2021-02-18> (/usr/share/texmf-dist/tex/latex/base/article.cls -Document Class: article 2020/04/10 v1.4m Standard LaTeX document class -(/usr/share/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option) -) -\c@part=\count179 -\c@section=\count180 -\c@subsection=\count181 -\c@subsubsection=\count182 -\c@paragraph=\count183 -\c@subparagraph=\count184 -\c@figure=\count185 -\c@table=\count186 -\abovecaptionskip=\skip47 -\belowcaptionskip=\skip48 -\bibindent=\dimen138 -) (/usr/share/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2020/08/01 v1.3d Input encoding file -\inpenc@prehook=\toks15 -\inpenc@posthook=\toks16 -) (/usr/share/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2020/08/10 v2.0s Standard LaTeX package -) (/usr/share/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2021/03/24 3.56 The Babel package - (/usr/share/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2021/03/24 3.56 Babel common definitions -\babel@savecnt=\count187 -\U@D=\dimen139 -\l@babelnohyphens=\language87 - (/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) -\bbl@readstream=\read2 -) -\bbl@dirlevel=\count188 - (/usr/share/texmf-dist/tex/generic/babel-english/english.ldf -Language: english 2017/06/06 v3.3r English support from the babel system -Package babel Info: \l@canadian = using hyphenrules for english -(babel) (\language0) on input line 102. -Package babel Info: \l@australian = using hyphenrules for ukenglish -(babel) (\language21) on input line 105. -Package babel Info: \l@newzealand = using hyphenrules for ukenglish -(babel) (\language21) on input line 108. -)) (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2021-02-27 v7.00k Hypertext links for LaTeX - (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) -) (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2020/03/06 v1.0d TeX engine tests -) (/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) - (/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks17 -) (/usr/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) -) (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) -) (/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) -) (/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) -) (/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) -) (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) -) (/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) -) -\@linkdim=\dimen140 -\Hy@linkcounter=\count189 -\Hy@pagecounter=\count190 - (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2021-02-27 v7.00k Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) (/usr/share/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -File: hyperref-langpatches.def 2021-02-27 v7.00k Hyperref: patches for babel languages -) (/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) -) (/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) -) -\Hy@SavedSpaceFactor=\count191 - (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2021-02-27 v7.00k Hyperref: PDF Unicode definition (HO) -Now handling font encoding PU ... -... no UTF-8 mapping file for font encoding PU -) -Package hyperref Info: Hyper figures OFF on input line 4192. -Package hyperref Info: Link nesting OFF on input line 4197. -Package hyperref Info: Hyper index ON on input line 4200. -Package hyperref Info: Plain pages OFF on input line 4207. -Package hyperref Info: Backreferencing OFF on input line 4212. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4445. -\c@Hy@tempcnt=\count192 - (/usr/share/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip16 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 4804. -\XeTeXLinkMargin=\dimen141 - (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty -Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) - (/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) -)) -\Fld@menulength=\count193 -\Field@Width=\dimen142 -\Fld@charsize=\dimen143 -Package hyperref Info: Hyper figures OFF on input line 6075. -Package hyperref Info: Link nesting OFF on input line 6080. -Package hyperref Info: Hyper index ON on input line 6083. -Package hyperref Info: backreferencing OFF on input line 6090. -Package hyperref Info: Link coloring OFF on input line 6095. -Package hyperref Info: Link coloring with OCG OFF on input line 6100. -Package hyperref Info: PDF/A mode OFF on input line 6105. -LaTeX Info: Redefining \ref on input line 6145. -LaTeX Info: Redefining \pageref on input line 6149. - (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -Package: atbegshi-ltx 2020/08/17 v1.0a Emulation of the original atbegshi package -with kernel methods -) -\Hy@abspage=\count194 -\c@Item=\count195 -\c@Hfootnote=\count196 -) -Package hyperref Info: Driver (autodetected): hpdftex. - (/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2021-02-27 v7.00k Hyperref driver for pdfTeX - (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atvery package -with kernel methods -) -\Fld@listcount=\count197 -\c@bookmark@seq@number=\count198 - (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) - (/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) -) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 286. -) -\Hy@SectionHShift=\skip49 -) (/usr/share/texmf-dist/tex/latex/tools/xspace.sty -Package: xspace 2014/10/28 v1.13 Space after command names (DPC,MH) -) -Package hyperref Info: Option `colorlinks' set `true' on input line 16. - (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -File: l3backend-pdftex.def 2021-03-18 L3 backend support: PDF output (pdfTeX) -\l__color_backend_stack_int=\count199 -\l__pdf_internal_box=\box47 -) (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux)) -\openout1 = `main.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 24. -LaTeX Font Info: ... okay on input line 24. - (/usr/share/texmf-dist/tex/latex/graphics/color.sty -Package: color 2020/02/24 v1.2b Standard LaTeX Color (DPC) - (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package color Info: Driver file: pdftex.def on input line 147. - (/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex - (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count266 -\scratchdimen=\dimen144 -\scratchbox=\box48 -\nofMPsegments=\count267 -\nofMParguments=\count268 -\everyMPshowfont=\toks18 -\MPscratchCnt=\count269 -\MPscratchDim=\dimen145 -\MPnumerator=\count270 -\makeMPintoPDFobject=\count271 -\everyMPtoPDFconversion=\toks19 -))) -Package hyperref Info: Link coloring ON on input line 24. - (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section - (/usr/share/texmf-dist/tex/latex/refcount/refcount.sty -Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) -) (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) -) -\c@section@level=\count272 -) -LaTeX Info: Redefining \ref on input line 24. -LaTeX Info: Redefining \pageref on input line 24. -LaTeX Info: Redefining \nameref on input line 24. - (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out) (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out) -\@outlinefile=\write3 -\openout3 = `main.out'. - -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 27. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 27. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 27. - (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 3. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 3. -) -\tf@toc=\write4 -\openout4 = `main.toc'. - - [1 - -{/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] -\openout2 = `introduction.aux'. - - (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex -LaTeX Font Info: Trying to load font information for T1+cmtt on input line 5. - (/usr/share/texmf-dist/tex/latex/base/t1cmtt.fd -File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions -)) [2 - -] (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux (/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux)) -Package rerunfilecheck Info: File `main.out' has not changed. -(rerunfilecheck) Checksum: 7B1546629CE4EBA28EE579CF334E3FDD;166. - ) -Here is how much of TeX's memory you used: - 8504 strings out of 478994 - 124976 string characters out of 5864718 - 432667 words of memory out of 5000000 - 25885 multiletter control sequences out of 15000+600000 - 411869 words of font info for 44 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 71i,6n,74p,477b,335s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}</usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1728.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb> -Output written on "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" (2 pages, 100488 bytes). -PDF statistics: - 59 PDF objects out of 1000 (max. 8388607) - 47 compressed objects within 1 object stream - 6 named destinations out of 1000 (max. 500000) - 17 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/docs/user_manual/main.out b/docs/user_manual/main.out deleted file mode 100644 index ff4dae8..0000000 --- a/docs/user_manual/main.out +++ /dev/null @@ -1,2 +0,0 @@ -\BOOKMARK [1][-]{section.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1 -\BOOKMARK [2][-]{section*.2}{\376\377\000t\000o}{section.1}% 2 diff --git a/docs/user_manual/main.synctex.gz b/docs/user_manual/main.synctex.gz deleted file mode 100644 index 4e8fef8d22efedecdf5d9973ba4a786856d62f6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3536 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 KNJwy5Jpce?x8?Hy diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex deleted file mode 100644 index 2916bd3..0000000 --- a/docs/user_manual/main.tex +++ /dev/null @@ -1,32 +0,0 @@ -\documentclass{article} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[english]{babel} - -\usepackage{hyperref} -\usepackage{xspace} - -\setlength\parindent{0pt} - -\hypersetup{ - colorlinks=true, - linkcolor=red, - urlcolor=blue -} - -\newcommand{\version}{0.1.0\xspace} - -\title{Effovex User Manual \\ {\Large Version \version}} -\author{A.Guilmin-Crépon, B.Patiachvili and J.Abou-Samra} -\date{\today} - -\begin{document} - - \maketitle - - \tableofcontents - - \include{introduction.tex} - -\end{document} \ No newline at end of file diff --git a/docs/user_manual/main.toc b/docs/user_manual/main.toc deleted file mode 100644 index 9c649bd..0000000 --- a/docs/user_manual/main.toc +++ /dev/null @@ -1,3 +0,0 @@ -\babel@toc {english}{} -\contentsline {section}{\numberline {1}Introduction}{2}{section.1}% -\contentsline {subsection}{to}{2}{section*.2}% -- GitLab From f7279d5f277b56f45a9407627a210fd2db0ba979 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:13:47 +0100 Subject: [PATCH 07/20] Some cargo-compare simplifications --- cargo-compare/src/main.rs | 150 +++++++++++--------------------------- 1 file changed, 43 insertions(+), 107 deletions(-) diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs index c55349e..45849ef 100644 --- a/cargo-compare/src/main.rs +++ b/cargo-compare/src/main.rs @@ -7,13 +7,32 @@ use clap::Parser; use html_builder::{Buffer, Html5, Node}; use similar::{ChangeTag, TextDiff}; use std::collections::HashMap; +use std::fmt::Display; use std::fmt::Write as FmtWrite; use std::fs::{create_dir_all, read_to_string, remove_dir_all, rename, File}; use std::io::Write; use std::path::{Path, PathBuf}; -use std::process::{Command, ExitStatus, Output}; +use std::process::{Command, ExitStatus}; use walkdir::WalkDir; +trait ErrorConversion<T> { + fn convert(self) -> Result<T, String> + where + Self: Sized; +} + +impl<T, U> ErrorConversion<T> for Result<T, U> +where + U: Display, +{ + fn convert(self) -> Result<T, String> { + match self { + Ok(t) => Ok(t), + Err(err) => Err(format!("I/O error in testing script: {}", err)), + } + } +} + #[derive(Parser)] #[command(version)] struct Cli { @@ -25,31 +44,19 @@ struct Cli { baseline: bool, } -// A few wrappers around fs functions, returning Result<..., String>. - /// Find all files with extension `ext` in the given directory. // TODO: Use a glob crate? fn glob_ext(dir: &Path, ext: &str) -> Result<Vec<PathBuf>, String> { let mut result = Vec::new(); for entry_res in WalkDir::new(dir) { - match entry_res { - Err(err) => { - return Err(format!( - "I/O error while traversing directory {}: {}", - dir.to_string_lossy(), - err - )) - } - Ok(entry) => { - let path = entry.path(); - if path.is_file() { - if let Some(found_ext) = path.extension() { - // UTF-8 validation - if let Some(string) = found_ext.to_str() { - if string == ext { - result.push(path.to_path_buf()); - } - } + let entry = entry_res.convert()?; + let path = entry.path(); + if path.is_file() { + if let Some(found_ext) = path.extension() { + // UTF-8 validation + if let Some(string) = found_ext.to_str() { + if string == ext { + result.push(path.to_path_buf()); } } } @@ -58,42 +65,6 @@ fn glob_ext(dir: &Path, ext: &str) -> Result<Vec<PathBuf>, String> { Ok(result) } -/// Remove everything under the given directory. -fn nuke_dir(path: &Path) -> Result<(), String> { - if path.is_dir() { - match remove_dir_all(path) { - Ok(()) => Ok(()), - Err(err) => Err(format!( - "cannot remove directory {}: {}", - path.to_string_lossy(), - err - )), - } - } else { - Ok(()) - } -} - -/// Create all directory parents of the given path. -fn mkdirs(path: &Path) -> Result<(), String> { - match create_dir_all(path) { - Ok(()) => Ok(()), - Err(err) => Err(format!( - "cannot create directory {}: {}", - path.to_string_lossy(), - err - )), - } -} - -/// Run a command. -fn run(cmd: &mut Command) -> Result<Output, String> { - match cmd.output() { - Err(err) => Err(format!("failed to spawn command: {}", err)), - Ok(output) => Ok(output), - } -} - /// Convert PDF file to PNG, putting the result in the same directory /// as the original. Uses the `convert` command provided by /// ImageMagick. @@ -101,14 +72,13 @@ fn run(cmd: &mut Command) -> Result<Output, String> { // dependency on ImageMagick? fn pdf2png(path: &Path) -> Result<(), String> { assert!(path.extension().unwrap().to_str().unwrap() == "pdf"); - let mut command = Command::new("convert"); let output_path = path.with_extension("png"); - let status = run(command - .arg("-colorspace") - .arg("RGB") + let mut command = Command::new("convert"); + let with_args = command + .args(["-colorspace", "RGB"]) .arg(path) - .arg(output_path))? - .status; + .arg(output_path); + let status = with_args.output().convert()?.status; if status.success() { Ok(()) } else { @@ -116,32 +86,6 @@ fn pdf2png(path: &Path) -> Result<(), String> { } } -/// Move a file. -fn mv(f1: &Path, f2: &Path) -> Result<(), String> { - if let Err(err) = rename(f1, f2) { - Err(format!( - "can't move {} to {}: {}", - f1.to_string_lossy(), - f1.to_string_lossy(), - err - )) - } else { - Ok(()) - } -} - -/// Create a file and return the `File` object. -fn create_file(path: &Path) -> Result<File, String> { - match File::create(path) { - Err(err) => Err(format!( - "failed to create {}: {}", - path.to_string_lossy(), - err - )), - Ok(file) => Ok(file), - } -} - /// All information about a given test in the baseline and the /// comparison directory. #[derive(Clone, Debug)] @@ -172,13 +116,14 @@ fn compile_tests(cli: &Cli, output_dir: &Path) -> Result<Vec<TestInfo>, String> let path_under_output_dir: &Path = &output_dir.join(path_under_tests); // Create directory if it doesn't exist. let prefix: &Path = path_under_output_dir.parent().unwrap(); - mkdirs(prefix)?; + //mkdirs(prefix)?; + create_dir_all(prefix).convert()?; // TODO: implement -o,--output option in effovex. let output_path_owned: PathBuf = path.with_extension("pdf"); let output_path: &Path = &output_path_owned; let mut command = Command::new(&cli.executable); let log_path = &path_under_output_dir.with_extension("log"); - let file = create_file(log_path.as_path())?; + let file = File::create(log_path.as_path()).convert()?; let exec = command.arg(&path).stderr(file); match exec.output() { Err(err) => { @@ -189,7 +134,7 @@ fn compile_tests(cli: &Cli, output_dir: &Path) -> Result<Vec<TestInfo>, String> let final_output_file: Option<PathBuf> = if output_path.is_file() { // move output to baseline/ let output_wanted = output_dir.join(path_under_tests).with_extension("pdf"); - mv(output_path, &output_wanted)?; + rename(output_path, &output_wanted).convert()?; Some(output_wanted.with_extension("png")) } else { None @@ -260,17 +205,6 @@ fn add_baseline_data(inp: Vec<TestInfo>) -> Result<Vec<TestInfo>, String> { Ok(res) } -fn read_log(path: &Path) -> Result<String, String> { - match read_to_string(path) { - Err(err) => Err(format!( - "failed to read file {}: {}", - path.to_string_lossy(), - err - )), - Ok(string) => Ok(string), - } -} - fn pretty_diff(log1: String, log2: String, out: &mut Node) { let diff = TextDiff::from_lines(&log1, &log2); for change in diff.iter_all_changes() { @@ -314,12 +248,12 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { { let mut log_row = table.tr(); let str1 = if let Some(path1) = baseline_log_path { - read_log(path1)? + read_to_string(path1).convert()? } else { String::new() }; let str2 = if let Some(path2) = output_log_path { - read_log(path2)? + read_to_string(path2).convert()? } else { String::new() }; @@ -370,7 +304,7 @@ fn run_comparison(cli: &Cli, output_dir: &Path, mut infos: Vec<TestInfo>) -> Res infos = add_baseline_data(infos)?; let html = gen_html(&infos)?; let html_file = output_dir.join("index.html"); - match create_file(&html_file)?.write(html.as_bytes()) { + match File::create(&html_file).convert()?.write(html.as_bytes()) { Ok(_) => Ok(()), Err(err) => Err(format!( "I/O error while writing file {}: {}", @@ -389,7 +323,9 @@ fn main() -> Result<(), String> { }; let output_dir_name = cli.output_dir.as_ref().unwrap_or(&output_dir_default); let output_dir = Path::new(&output_dir_name); - nuke_dir(output_dir)?; + if output_dir.is_dir() { + remove_dir_all(output_dir).convert()?; + } let infos = compile_tests(&cli, &output_dir)?; run_comparison(&cli, &output_dir, infos)?; Ok(()) -- GitLab From 48905d5256dd839d177b4404a40536a33327e447 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:25:32 +0100 Subject: [PATCH 08/20] Minor typos --- effovex/src/error.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/effovex/src/error.rs b/effovex/src/error.rs index a4e493c..861ae15 100644 --- a/effovex/src/error.rs +++ b/effovex/src/error.rs @@ -2,7 +2,7 @@ use std::fmt::Display; use parser::error::ParserError; -/// Enumeration grouping all possible errors that can occurre during compilation +/// Enumeration grouping all possible errors that can occurr during compilation #[derive(Debug, Clone, PartialEq, Eq)] pub enum Error { FileNotReadableError(String), @@ -14,11 +14,11 @@ impl Display for Error { match self { Error::FileNotReadableError(path) => write!( f, - "File not Readable Error : the file {} could not been read", + "File not Readable Error: the file {} could not be read", path ), Error::ParserError(err) => { - write!(f, "Parser Error : {}", err) + write!(f, "Parser Error: {}", err) } } } -- GitLab From d017a9671b8cc31bd8962ae5b2ff985699729173 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:53:35 +0100 Subject: [PATCH 09/20] cargo-compare: Check exit status --- cargo-compare/src/main.rs | 54 ++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs index 45849ef..545460e 100644 --- a/cargo-compare/src/main.rs +++ b/cargo-compare/src/main.rs @@ -89,7 +89,6 @@ fn pdf2png(path: &Path) -> Result<(), String> { /// All information about a given test in the baseline and the /// comparison directory. #[derive(Clone, Debug)] -#[allow(dead_code)] struct TestInfo { /// Path to `.fx` file. input_path: PathBuf, @@ -209,9 +208,9 @@ fn pretty_diff(log1: String, log2: String, out: &mut Node) { let diff = TextDiff::from_lines(&log1, &log2); for change in diff.iter_all_changes() { let (color, tag) = match change.tag() { - ChangeTag::Delete => ("#ff0000", "-"), - ChangeTag::Insert => ("#00ff00", "+"), - ChangeTag::Equal => ("#000000", ""), + ChangeTag::Delete => ("#ff0000", "- "), + ChangeTag::Insert => ("#00ff00", "+ "), + ChangeTag::Equal => ("#000000", "= "), }; let mut node = out.span().attr(&format!("style=\"color:{}\"", color)); writeln!(node, "{}{}", tag, change).unwrap(); @@ -231,22 +230,33 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { baseline_log_path, output_path, output_log_path, - status: _, // TODO + status, } in infos { - // TODO only show differences - let mut para = body.p().attr("style=\"text-align:center\""); - para.code() - .write_str(&input_path.to_string_lossy()) - .unwrap(); - let mut table = body.table().attr("style=\"border: 1px solid black\""); - let mut header_row = table.tr(); - header_row.th().write_str("Old").unwrap(); - header_row.th().write_str("New").unwrap(); - header_row.th().write_str("Comparison").unwrap(); - // Uh, NLL doesn't work here? { - let mut log_row = table.tr(); + // TODO only show differences + let mut para = body.p(); + para.b().write_str("File: ").unwrap(); + para.code() + .write_str(&input_path.to_string_lossy()) + .unwrap(); + } + if let Some(stat) = status { + let mut para = body.p(); + para.b().write_str("Passes: ").unwrap(); + if stat.success() { + para.write_str("yes").unwrap(); + } else { + para.write_str(&format!( + "no (error code {})", + stat.code().expect("command should have been able to start") + )) + .unwrap(); + } + } + { + let mut para = body.p(); + para.b().write_str("Log:").unwrap(); let str1 = if let Some(path1) = baseline_log_path { read_to_string(path1).convert()? } else { @@ -257,10 +267,13 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { } else { String::new() }; - log_row.td().pre().write_str(&str1).unwrap(); - log_row.td().pre().write_str(&str2).unwrap(); - pretty_diff(str1, str2, &mut log_row.td().pre()); + pretty_diff(str1, str2, &mut para.pre()); } + let mut table = body.table().attr("style=\"border: 1px solid black\""); + let mut header_row = table.tr(); + header_row.th().write_str("Old").unwrap(); + header_row.th().write_str("New").unwrap(); + header_row.th().write_str("Comparison").unwrap(); { let mut img_row = table.tr(); // TODO: escaping? @@ -279,7 +292,6 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { } img_row.td(); } - // TODO images } return Ok(buf.finish()); } -- GitLab From b54caba81de6dbf0f8dd929363d6c47dc7870c40 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Thu, 24 Nov 2022 16:18:33 +0100 Subject: [PATCH 10/20] =?UTF-8?q?D=C3=A9but=20user=20manual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/user_manual/getting_started.tex | 15 ++++++++++++ docs/user_manual/introduction.tex | 27 +++++++++++++++++++-- docs/user_manual/main.tex | 36 ++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 docs/user_manual/getting_started.tex create mode 100644 docs/user_manual/main.tex diff --git a/README.md b/README.md index 1a77f36..c52c2a6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Effovex -Effovex (pronounced “f of xâ€) will be a document typesetter focused on (or perhaps entirely devoted to) mathematical formulae. This is a software enginnering project by Antoine Guilmin Crépon, Balthazar Patiachvili and Jean Abou Samra at M1 MPRI in ENS Paris-Saclay. +Effovex (pronounced “f of xâ€) is a software system for document preparation. This is created for a software enginnering project by Antoine Guilmin Crépon, Balthazar Patiachvili and Jean Abou Samra at M1 MPRI in ENS Paris-Saclay. ## Installation diff --git a/docs/user_manual/getting_started.tex b/docs/user_manual/getting_started.tex new file mode 100644 index 0000000..6ee49f9 --- /dev/null +++ b/docs/user_manual/getting_started.tex @@ -0,0 +1,15 @@ +\section{Getting started} + + This section presents : + + \begin{itemize} + \item how to compile a document~; + \item how to detect and correct errors that can occurres~; + \item how to visualize it. + \end{itemize} + + \subsection{Effovex files} + + Effovex files have by convention the extension \texttt{.fx}. + + For this section, save the following effovex code in \texttt{test.fx}. \ No newline at end of file diff --git a/docs/user_manual/introduction.tex b/docs/user_manual/introduction.tex index 82ddef3..67b92c2 100644 --- a/docs/user_manual/introduction.tex +++ b/docs/user_manual/introduction.tex @@ -4,5 +4,28 @@ This document describes how to use the version \version of Effovex from the point of view of a user. Technical explanations and documentation to implement further features can be found on \href{https://TODO.com}{\texttt{https://TODO.com}}. - \subsection*{} - \addcontentsline{toc}{subsection}{to} \ No newline at end of file + \subsection{Motivation} + + This project has been created for a engineering project course at M1 MPRI in ENS Paris-Saclay, France. + + The goal is here to create a language with a compiler to compose documents with a syntax near the one of \LaTeX, but without the concept of expansion. Thus, our language and compiler can have more precise error messages and better guarantees. + + \subsection{Conventions} + + In all this document, the following conventions will be used : + + \begin{itemize} + \item effovex code will be in \texttt{teletype font}~; + \item definitions and examples will be in \textit{italic font}~; + \item names of packages will be in \textsf{sans serif font}. + \end{itemize} + + Moreover, examples of effovex code and the output result will be framed to improve their visibility. + + \subsection{Installation} + + Nowadays, Effovex needs to be built from sources. The easiest way is to download cargo\footnote{\url{https://doc.rust-lang.org/cargo/getting-started/installation.html}}, then to clone the git repository\footnote{\url{https://gitlab.crans.org/pigeonmoelleux/effovex}}, and finally build the project at the root directory. + + \subsection{Overview} + + %TODO \ No newline at end of file diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex new file mode 100644 index 0000000..add7c33 --- /dev/null +++ b/docs/user_manual/main.tex @@ -0,0 +1,36 @@ +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english]{babel} + +\usepackage{hyperref} +\usepackage{xspace} + +\setlength\parindent{0pt} + +\hypersetup{ + colorlinks=true, + linkcolor=red, + urlcolor=blue +} + +\newcommand{\version}{0.1.0\xspace} + +\title{Effovex User Manual \\ {\Large Version \version}} +\author{A.Guilmin-Crépon, B.Patiachvili and J.Abou-Samra} +\date{\today} + +\begin{document} + + \maketitle + + \tableofcontents + + \newpage + + \input{introduction.tex} + + \input{getting_started.tex} + +\end{document} \ No newline at end of file -- GitLab From ac8dc383eaba62029fe45fbe7b42b06078c2fc83 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Sun, 27 Nov 2022 19:11:55 +0100 Subject: [PATCH 11/20] =?UTF-8?q?Commit=20r=C3=A9gulier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ROADMAP.md | 104 ---------------------------------- presentation/.gitignore | 3 - presentation/presentation.tex | 78 ------------------------- 3 files changed, 185 deletions(-) delete mode 100644 ROADMAP.md delete mode 100644 presentation/.gitignore delete mode 100644 presentation/presentation.tex diff --git a/ROADMAP.md b/ROADMAP.md deleted file mode 100644 index 9ec728a..0000000 --- a/ROADMAP.md +++ /dev/null @@ -1,104 +0,0 @@ -Some unsorted thoughts from Jean, feel free to edit and/or discuss: - -It's not entirely clear so far what exactly the scope of the project -would be. Once we can draw some math formulae on the screen, we could -try to add integration with text. On the other hand, there is a lot -to be done just for math formulae too; it is a never-ending process on -its own. - -One nice thing about at least keeping the math part usable -independently from the text part is that Effovex could then -(theoretically) be used in contexts other than PDF articles: web pages -(cf. MathJax), plots (cf. matplotlib's minimalistic formula renderer), -other text typesetting systems (cf. rinohtype which used to use -matplotlib for formula rendering but dropped it because of poor -quality and is not able to typeset formulae at the moment), ... - -Speaking of which, output in formats other than PDF would be -desirable. PNG, JPEG and SVG would be nice. - -In C, people use the Cairo library for outputting to different -formats. A search on crates.io for bindings to Cairo yields all of -these: - -https://crates.io/crates/cairo -https://crates.io/crates/cairo-rs -https://crates.io/crates/cairo-rs-colors -https://crates.io/crates/cairo-sys -https://crates.io/crates/cairo-svgpath -https://crates.io/crates/cairo-sys-rs - -which sounds promising. There may be alternative approaches though. - -TODO: - -- check if there would be crates unrelated to Cairo doing the job. -- check what the dependency on Cairo means on the packaging level: - does install effovex from Cargo require first installing Cairo from - the system package manager? - - - -On extensibility: it'd be nice to be able to write custom commands -embedded in the input in a real programming language (unlike TeX), -e.g., to draw custom symbols or things like that. - -On the other hand, it remains desirable to do this project in Rust -because of speed (critical e.g. on a web page providing interactive -equation editing). - -Maybe integrate with an extension language? Python? To be seen later. - - - -One very nice thing would be to have integration of this custom math -mode into LaTeX itself, so people could switch gradually. - -LaTeX to Effovex conversion could be something to explore, although it -might be hard. - - -On syntax: - -We agree that many things from TeX syntax ought to have a more -convenient notation. Some examples: - - -arrows: f : A -> B - -P => Q (implication) - -f : x |-> x+k - -inequality: a /= b (a != b was considered too but it could be equally parsed as (a!) = b ) - -In general, "\not" on a symbol with a slash, e.g., "a does not divide be" would be "a /| b". - -Fractions: 1//2 - -Group delimiters: probably square brackets []. TeX uses curly -brackets, but they are also customarily used for sets. Although it's -true that some people use square brackets in alternance with -parentheses in deeply nested mathematical expressions. - -Delimiters () [] {} should scale automatically, no need for \left and \right. - -Commands would be introduced with @ and not \ because @ is virtually -unused in math/CS whereas \ stands for set difference. - -It would be nice to support custom notations à la Coq, not just custom -commands. An example in internship: writing out equations with the -notation "m >>= f" would have been more convenient if this notation -could be entered into the system, rather than rewriting as -"\bind{m}{f}". Jean is going to look into parsing tooling for Rust. - -There is also an idea floating around to make some alphabetic tokens -commands that can be used without "@", like sin, cos, tan, ln, log, -etc. The problem in TeX is that often you forget that "\", and thre -is no error but the result is ugly. - -However, this should probably not be done if not explicitly requested -by the user, since these combinations of letters could equally be -products of variables. Unless we choose to require separating -variables by spaces ("2 x y" instead of "2xy"), which might be -cumbersome. diff --git a/presentation/.gitignore b/presentation/.gitignore deleted file mode 100644 index e33478b..0000000 --- a/presentation/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!*.tex -!.gitignore diff --git a/presentation/presentation.tex b/presentation/presentation.tex deleted file mode 100644 index 8a7013e..0000000 --- a/presentation/presentation.tex +++ /dev/null @@ -1,78 +0,0 @@ -\documentclass[12pt, aspectratio=169, 169]{beamer} - -\mode<presentation>{ - \usetheme{Warsaw} - \useoutertheme{shadow} - \useoutertheme{infolines} -} - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[french]{babel} - -\title[Effovex]{Présentation de projet: Effovex} -\author[J.A.Samra \& A.Guilmin-Crépon \& B.Patiachvili]{Jean Abou Samra, Antoine Guilmin-Crépon, Balthazar Patiachvili} -\date[06/10/2022]{06 octobre 2022} - -\newcommand{\jump}[1][1]{\vspace{#1\baselineskip}} - -\begin{document} - - \maketitle - - \begin{frame}{Fonctionnalités} - - \begin{block}{Description} - Création d'un langage et d'un compilateur associé en Rust pour produire des documents PDF, SVG et PNG. - \end{block} - - \begin{block}{Mi-parcours} - Avoir une base fonctionnelle capable de générer du texte et des bases de mathématiques - \end{block} - - \begin{block}{Rendu final} - Finalisation de l'interface pour les packages et création de quelques packages de démonstration - \end{block} - - \end{frame} - - \begin{frame}{Langage et librairies} - - \begin{block}{} - \large - \begin{center} - Rust - \end{center} \pause - \jump - - Bibliothèques~: - \begin{itemize} - \item \textbf{Lexer et parser} : nom \pause $\longrightarrow$ parser dynamique \pause - \item \textbf{Génération}~: cairo \pause $\longrightarrow$ génération de PDF, SVG, PNG, \dots \pause - \item \textbf{Création de packages}~: libloading - \end{itemize} - - \end{block} - - \end{frame} - - \begin{frame}{Structuration et répartition} - - \begin{block}{} - $\underbrace{\text{Langage effovex}}_{\text{Tous}} \longrightarrow \underbrace{\text{Parser}}_{\text{Jean}} \xrightarrow{\quad \text{AST} \quad} \underbrace{\text{Conversion AST-cairo}}_{\text{Balthazar}} \xrightarrow{\text{cairo}} \underbrace{\text{Génération}}_{\text{Antoine}}$ - \end{block} - \jump - - Interface pour l'ajout de packages : Balthazar \pause - \jump - - Exemples de packages~: - \begin{itemize} - \item Arbres de preuves - \item Tableaux - \item Diagrammes commutatifs - \end{itemize} - - \end{frame} - -\end{document} \ No newline at end of file -- GitLab From 60b07a2843a0b50d11e2a9cc2c1a7d3afdfbb341 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Sun, 27 Nov 2022 19:17:30 +0100 Subject: [PATCH 12/20] Correction doc type parser --- docs/user_manual/main.fdb_latexmk | 22 +++++++++++----------- examples/good/basic_2.fx | 7 +++++++ examples/good/basic_3.fx | 7 +++++++ parser/src/effovex.pest | 2 +- 4 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 examples/good/basic_2.fx create mode 100644 examples/good/basic_3.fx diff --git a/docs/user_manual/main.fdb_latexmk b/docs/user_manual/main.fdb_latexmk index f948b96..ebdaf60 100644 --- a/docs/user_manual/main.fdb_latexmk +++ b/docs/user_manual/main.fdb_latexmk @@ -1,11 +1,11 @@ # Fdb version 3 -["pdflatex"] 1669289984 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669290514 - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669289985 689 3f7c69efa43598b0ad38cd34985c505c "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669290514 164 f13b638ee55a3b785e47f2e6257290d7 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669289985 792 834200dc306d4f24df176e8e56de3862 "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669289985 103 9814c2d956916adb9290eca4e25c967a "pdflatex" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669289984 521 f0c249d37f382f9baf59a8413c83ff74 "" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669289985 91 b7edcdb1e955970ee2a909be3244a72f "pdflatex" +["pdflatex"] 1669289984 "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" "main" 1669572937 + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" 1669572937 689 3f7c69efa43598b0ad38cd34985c505c "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.tex" 1669572937 164 f13b638ee55a3b785e47f2e6257290d7 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" 1669572937 792 834200dc306d4f24df176e8e56de3862 "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" 1669572937 103 9814c2d956916adb9290eca4e25c967a "pdflatex" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.tex" 1669572937 521 f0c249d37f382f9baf59a8413c83ff74 "" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" 1669572937 91 b7edcdb1e955970ee2a909be3244a72f "pdflatex" "/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1639192684 2971 def0b6c1f0b107b3b936def894055589 "" "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1639192684 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm" 1639192684 3584 2d666ecf6d466d8b007246bc2f94d9da "" @@ -78,9 +78,9 @@ "/usr/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1666812724 334227 92f850e77170e97d49db3fab2645ba0e "" "/usr/share/texmf-var/web2c/pdftex/pdflatex.fmt" 1666812714 2724585 b6375174b219d1c10c09304c4f573890 "" (generated) - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.pdf" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log" - "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/introduction.aux" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.out" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.aux" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.toc" + "/home/pigeonmoelleux/M1/Génie logiciel/effovex/docs/user_manual/main.log" diff --git a/examples/good/basic_2.fx b/examples/good/basic_2.fx new file mode 100644 index 0000000..84ed38a --- /dev/null +++ b/examples/good/basic_2.fx @@ -0,0 +1,7 @@ +document(PNG) + +@begin(document) + + Hello world! + +@end(document) \ No newline at end of file diff --git a/examples/good/basic_3.fx b/examples/good/basic_3.fx new file mode 100644 index 0000000..352e1fb --- /dev/null +++ b/examples/good/basic_3.fx @@ -0,0 +1,7 @@ +document(SVG) + +@begin(document) + + Hello world! + +@end(document) \ No newline at end of file diff --git a/parser/src/effovex.pest b/parser/src/effovex.pest index b4907dd..c151454 100644 --- a/parser/src/effovex.pest +++ b/parser/src/effovex.pest @@ -9,7 +9,7 @@ restricted_name = { "begin" | "end" | "fn" | "env" } name = @{ !restricted_name ~ (alpha ~ (alpha | digit)*) } output_fmt = { "PDF" | "pdf" | "SVG" | "svg" | "PNG" | "png" } -doc_type = @{ "document(" ~ output_fmt ~ ")" } +doc_type = ${ "document(" ~ output_fmt ~ ")" } arg = ${ "(" ~ name ~ ")" } abstract_arg = ${ "#" ~ name } -- GitLab From 1a1ab09a7af8ec69d00acea84a98ca683a72bbb8 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Sun, 27 Nov 2022 19:18:41 +0100 Subject: [PATCH 13/20] =?UTF-8?q?Mise=20=C3=A0=20jour=20.gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5d0ac10..39eabed 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ /baseline /comparison .vscode -*.pdf \ No newline at end of file +*.pdf +*.png +*.svg \ No newline at end of file -- GitLab From 5332cee81ad1cf5f71e9d45cb31bee8615b33fdb Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Mon, 28 Nov 2022 20:23:23 +0100 Subject: [PATCH 14/20] =?UTF-8?q?Commit=20r=C3=A9gulier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- README.md | 2 +- docs/user_manual/basic_concepts.tex | 35 ++++++++++++ docs/user_manual/getting_started.tex | 81 ++++++++++++++++++++++++---- docs/user_manual/introduction.tex | 6 ++- docs/user_manual/main.tex | 49 +++++++++++++++-- 6 files changed, 159 insertions(+), 18 deletions(-) create mode 100644 docs/user_manual/basic_concepts.tex diff --git a/.gitignore b/.gitignore index 5d0ac10..39eabed 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ /baseline /comparison .vscode -*.pdf \ No newline at end of file +*.pdf +*.png +*.svg \ No newline at end of file diff --git a/README.md b/README.md index c52c2a6..3299f89 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,6 @@ The output file will be placed in the same directory as the input file. ## User manual -The complete user manual can be found at [TODO](.). +The complete user manual can be found at https://perso.crans.org/pigeonmoelleux/M1/G%C3%A9nie%20logiciel/User_manual.pdf. The source files are in [docs/user_manual/](docs/user_manual). \ No newline at end of file diff --git a/docs/user_manual/basic_concepts.tex b/docs/user_manual/basic_concepts.tex new file mode 100644 index 0000000..83ee6bc --- /dev/null +++ b/docs/user_manual/basic_concepts.tex @@ -0,0 +1,35 @@ +\section{Basic concepts} + + \subsection{Effovex document} + + An Effovex document is a mix of declarations, text and commands. Let's take a simple example : + + \begin{lstlisting} + document(PDF) + + fn foo(bar) { + Hi #bar ! + } + + @begin(document) + + Hello world! + + @foo(space) + + @end(document) + \end{lstlisting} + + After the compilation, the output will be a PDF document with two lines printed~: <<~Hello world!~>> and <<~Hi space!~>>. + \jump + + The code can be split in two parts : + + \begin{itemize} + \item what will be output, corresponding to the part inside \lstinline{@begin(document)} and \lstinline{@end(document)}~; + \item what will not be output, corresponding to the part not included between \lstinline{@begin(document)} and \lstinline{@end(document)}. + \end{itemize} + + \subsection{La commande \texttt{\textcolor{codepurple}{document}}} + + Cette commande permet de définir le type de document de retour souhaité. \ No newline at end of file diff --git a/docs/user_manual/getting_started.tex b/docs/user_manual/getting_started.tex index 6ee49f9..59d08c9 100644 --- a/docs/user_manual/getting_started.tex +++ b/docs/user_manual/getting_started.tex @@ -1,15 +1,76 @@ -\section{Getting started} +\section{Getting started} \label{txt:getting_started} - This section presents : + \subsection{Effovex files} - \begin{itemize} - \item how to compile a document~; - \item how to detect and correct errors that can occurres~; - \item how to visualize it. - \end{itemize} + Effovex files have by convention the extension \texttt{.fx}. They are classical text files, so any text editor (Vim, Emacs, VSCode, \dots) can modify it. + \jump - \subsection{Effovex files} + For this section, save the following Effovex code in \texttt{test.fx}. + \jump + + \begin{lstlisting} + document(PDF) + + @begin(document) + + Hello world! + + @end(document) + \end{lstlisting} + \jump + + Not understanding this code is not a problem : the goal in this section is not to learn how to code in Effovex, but to set up the tools to be able to code. + + \subsection{Compilation} \label{txt:compilation} + + The compilation is the step that convert the \texttt{.fx} file into the chosen output, which can be a PDF, a PNG or a SVG file. + + On a UNIX system, the compilation can be made by running the command \texttt{effovex} in a command interpreter : + + \begin{lstlisting} + effovex test.fx + \end{lstlisting} + + Effovex is quiet : nothing will be written if the compilation is successful, and the output file will be located at the same path as the input file. + + \subsection{Error detection and correction} + + Save the following code in a \texttt{error.fx}, then compile it as described in \ref{txt:compilation}. + \jump + + \begin{lstlisting} + document(PDF) + + fn foo { + bar + } + + fn foo { + Second definition ! + } + + @begin(document) + + Hello world! + + @end(document) + \end{lstlisting} + + Something went wrong here : Effovex has stopped the compilation and displayed at the error output : + + \begin{lstlisting} + Parser Error : Already Defined Error : at Line 11 Column 1 : the function named foo has already been defined at Line 3 Column 1 + \end{lstlisting} + + Whenever Effovex detects an error, it will indicate : + + \begin{itemize} + \item the compilation step that failed (\texttt{Parser Error})~; + \item the nature of the error (\texttt{Already Defined Error})~; + \item the precise location of the error (\texttt{Line 11 Column 1})~; + \item a description of the error. + \end{itemize} - Effovex files have by convention the extension \texttt{.fx}. + \subsection{Visualization} - For this section, save the following effovex code in \texttt{test.fx}. \ No newline at end of file + There are a lot of applications that can be used to see PDF, PNG and SVG files. The easiest are your browser (Firefox, Chrome, \dots) or dedicated applications (zathura, ImageMagick, \dots). \ No newline at end of file diff --git a/docs/user_manual/introduction.tex b/docs/user_manual/introduction.tex index 67b92c2..2606f89 100644 --- a/docs/user_manual/introduction.tex +++ b/docs/user_manual/introduction.tex @@ -2,7 +2,7 @@ Welcome to Effovex, a software system for document preparation. - This document describes how to use the version \version of Effovex from the point of view of a user. Technical explanations and documentation to implement further features can be found on \href{https://TODO.com}{\texttt{https://TODO.com}}. + This document describes how to use the version \version of Effovex from the point of view of a user. Technical explanations and documentation to implement further features can be found on \url{https://TODO.com}. \subsection{Motivation} @@ -28,4 +28,6 @@ \subsection{Overview} - %TODO \ No newline at end of file + \begin{itemize} + \item The section \ref{txt:getting_started} presents the basic tools to be able to code in Effovex. + \end{itemize} \ No newline at end of file diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex index add7c33..c12713d 100644 --- a/docs/user_manual/main.tex +++ b/docs/user_manual/main.tex @@ -4,18 +4,59 @@ \usepackage[T1]{fontenc} \usepackage[english]{babel} -\usepackage{hyperref} \usepackage{xspace} \setlength\parindent{0pt} +\usepackage{xcolor} +\definecolor{codepurple}{rgb}{0.58,0,0.82} + +\usepackage{hyperref} \hypersetup{ colorlinks=true, linkcolor=red, urlcolor=blue } + +\usepackage{listings} +\usepackage{lstautogobble} +\lstset{ + autogobble=true, + showstringspaces=false, + basicstyle=\ttfamily, + showtabs=false, + tabsize=4, + breaklines=true, + keywords={document, begin, end, fn, env}, + frame=single, + escapeinside={(*}{*)}, + keywordstyle=\color{codepurple}, + moredelim=*[s][\ttfamily]{@}{@} +} + +\lstset{ + literate = + {á}{{\'a}}1 + {à }{{\`a}}1 + {Â}{{\^A}}1 + {ã}{{\~a}}1 + {é}{{\'e}}1 + {É}{{\'E}}1 + {è}{{\`e}}1 + {ê}{{\^e}}1 + {ó}{{\'o}}1 + {ü}{{\^u}}1 + {î}{{\^i}}1 + {ç}{{\c{c}}}1 + {Å“}{{\oe}}1 + {Å’}{{\OE}}1 + {->}{$\longrightarrow$}1 + {<-}{$\longleftarrow$}1 + {=/=}{$\ne$}1 +} \newcommand{\version}{0.1.0\xspace} +\newcommand{\jump}[1][1]{\vspace{#1\baselineskip}} \title{Effovex User Manual \\ {\Large Version \version}} \author{A.Guilmin-Crépon, B.Patiachvili and J.Abou-Samra} @@ -27,10 +68,10 @@ \tableofcontents - \newpage + \include{introduction.tex} - \input{introduction.tex} + \include{getting_started.tex} - \input{getting_started.tex} + \include{basic_concepts.tex} \end{document} \ No newline at end of file -- GitLab From 972c1888229f23ef185b8a6b7331b65bce5bdb21 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Tue, 29 Nov 2022 16:44:43 +0100 Subject: [PATCH 15/20] =?UTF-8?q?Avanc=C3=A9e=20user=20manual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/user_manual/.gitignore | 4 ++- docs/user_manual/basic_concepts.tex | 38 +++++++++++++++++++++++++++-- docs/user_manual/main.tex | 3 +++ examples/good/paragraph_1.fx | 11 +++++++++ 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 examples/good/paragraph_1.fx diff --git a/docs/user_manual/.gitignore b/docs/user_manual/.gitignore index 93c9873..843e710 100644 --- a/docs/user_manual/.gitignore +++ b/docs/user_manual/.gitignore @@ -4,4 +4,6 @@ !*.tex !*.sty -!*.cls \ No newline at end of file +!*.cls + +!paragraph_1.pdf \ No newline at end of file diff --git a/docs/user_manual/basic_concepts.tex b/docs/user_manual/basic_concepts.tex index 83ee6bc..796bee0 100644 --- a/docs/user_manual/basic_concepts.tex +++ b/docs/user_manual/basic_concepts.tex @@ -30,6 +30,40 @@ \item what will not be output, corresponding to the part not included between \lstinline{@begin(document)} and \lstinline{@end(document)}. \end{itemize} - \subsection{La commande \texttt{\textcolor{codepurple}{document}}} + \subsection{The \texttt{\textcolor{codepurple}{document}} command} - Cette commande permet de définir le type de document de retour souhaité. \ No newline at end of file + This command allows to define the wanted type of the output document. Its syntax is simple : + + \begin{lstlisting} + document(<type of (*\texttt{document}*) wanted>) + \end{lstlisting} + + The available types are : PDF, PNG et SVG. + + \subsection{Document structure} + + \subsubsection{Paragraphs} + + An Effovex document is composed of several paragraphs separated by at least one empty line : + + \begin{lstlisting} + document(PDF) + + @begin(document) + + First paragraph + + Second paragraph which is really long to show that + returning to the next line is not taken + in account by Effovex : only empty lines are searched for text formatting. + + @end(document) + \end{lstlisting} + + This code will output the following document : + + \begin{center} + \fbox{ + \includegraphics[scale=0.6,trim=30 600 30 0]{paragraph_1.pdf} + } + \end{center} \ No newline at end of file diff --git a/docs/user_manual/main.tex b/docs/user_manual/main.tex index c12713d..d0334ed 100644 --- a/docs/user_manual/main.tex +++ b/docs/user_manual/main.tex @@ -5,6 +5,7 @@ \usepackage[english]{babel} \usepackage{xspace} +\usepackage{graphicx} \setlength\parindent{0pt} @@ -29,6 +30,8 @@ breaklines=true, keywords={document, begin, end, fn, env}, frame=single, + numbers=left, + numberstyle=\small, escapeinside={(*}{*)}, keywordstyle=\color{codepurple}, moredelim=*[s][\ttfamily]{@}{@} diff --git a/examples/good/paragraph_1.fx b/examples/good/paragraph_1.fx new file mode 100644 index 0000000..41de6d5 --- /dev/null +++ b/examples/good/paragraph_1.fx @@ -0,0 +1,11 @@ +document(PDF) + +@begin(document) + + First paragraph + + Second paragraph which is really long to show that + returning to the next line is not taken + in account by Effovex : only empty lines are searched for text formatting. + +@end(document) \ No newline at end of file -- GitLab From d1b77a1439be039d07692f702615df7bce1a5c45 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Sun, 27 Nov 2022 19:17:30 +0100 Subject: [PATCH 16/20] Correction doc type parser --- examples/good/basic_2.fx | 7 +++++++ examples/good/basic_3.fx | 7 +++++++ parser/src/effovex.pest | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 examples/good/basic_2.fx create mode 100644 examples/good/basic_3.fx diff --git a/examples/good/basic_2.fx b/examples/good/basic_2.fx new file mode 100644 index 0000000..84ed38a --- /dev/null +++ b/examples/good/basic_2.fx @@ -0,0 +1,7 @@ +document(PNG) + +@begin(document) + + Hello world! + +@end(document) \ No newline at end of file diff --git a/examples/good/basic_3.fx b/examples/good/basic_3.fx new file mode 100644 index 0000000..352e1fb --- /dev/null +++ b/examples/good/basic_3.fx @@ -0,0 +1,7 @@ +document(SVG) + +@begin(document) + + Hello world! + +@end(document) \ No newline at end of file diff --git a/parser/src/effovex.pest b/parser/src/effovex.pest index b4907dd..c151454 100644 --- a/parser/src/effovex.pest +++ b/parser/src/effovex.pest @@ -9,7 +9,7 @@ restricted_name = { "begin" | "end" | "fn" | "env" } name = @{ !restricted_name ~ (alpha ~ (alpha | digit)*) } output_fmt = { "PDF" | "pdf" | "SVG" | "svg" | "PNG" | "png" } -doc_type = @{ "document(" ~ output_fmt ~ ")" } +doc_type = ${ "document(" ~ output_fmt ~ ")" } arg = ${ "(" ~ name ~ ")" } abstract_arg = ${ "#" ~ name } -- GitLab From f212a834d8d038dd00fb422b28c80f6fea86d47c Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:13:47 +0100 Subject: [PATCH 17/20] Some cargo-compare simplifications --- cargo-compare/src/main.rs | 150 +++++++++++--------------------------- 1 file changed, 43 insertions(+), 107 deletions(-) diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs index c55349e..45849ef 100644 --- a/cargo-compare/src/main.rs +++ b/cargo-compare/src/main.rs @@ -7,13 +7,32 @@ use clap::Parser; use html_builder::{Buffer, Html5, Node}; use similar::{ChangeTag, TextDiff}; use std::collections::HashMap; +use std::fmt::Display; use std::fmt::Write as FmtWrite; use std::fs::{create_dir_all, read_to_string, remove_dir_all, rename, File}; use std::io::Write; use std::path::{Path, PathBuf}; -use std::process::{Command, ExitStatus, Output}; +use std::process::{Command, ExitStatus}; use walkdir::WalkDir; +trait ErrorConversion<T> { + fn convert(self) -> Result<T, String> + where + Self: Sized; +} + +impl<T, U> ErrorConversion<T> for Result<T, U> +where + U: Display, +{ + fn convert(self) -> Result<T, String> { + match self { + Ok(t) => Ok(t), + Err(err) => Err(format!("I/O error in testing script: {}", err)), + } + } +} + #[derive(Parser)] #[command(version)] struct Cli { @@ -25,31 +44,19 @@ struct Cli { baseline: bool, } -// A few wrappers around fs functions, returning Result<..., String>. - /// Find all files with extension `ext` in the given directory. // TODO: Use a glob crate? fn glob_ext(dir: &Path, ext: &str) -> Result<Vec<PathBuf>, String> { let mut result = Vec::new(); for entry_res in WalkDir::new(dir) { - match entry_res { - Err(err) => { - return Err(format!( - "I/O error while traversing directory {}: {}", - dir.to_string_lossy(), - err - )) - } - Ok(entry) => { - let path = entry.path(); - if path.is_file() { - if let Some(found_ext) = path.extension() { - // UTF-8 validation - if let Some(string) = found_ext.to_str() { - if string == ext { - result.push(path.to_path_buf()); - } - } + let entry = entry_res.convert()?; + let path = entry.path(); + if path.is_file() { + if let Some(found_ext) = path.extension() { + // UTF-8 validation + if let Some(string) = found_ext.to_str() { + if string == ext { + result.push(path.to_path_buf()); } } } @@ -58,42 +65,6 @@ fn glob_ext(dir: &Path, ext: &str) -> Result<Vec<PathBuf>, String> { Ok(result) } -/// Remove everything under the given directory. -fn nuke_dir(path: &Path) -> Result<(), String> { - if path.is_dir() { - match remove_dir_all(path) { - Ok(()) => Ok(()), - Err(err) => Err(format!( - "cannot remove directory {}: {}", - path.to_string_lossy(), - err - )), - } - } else { - Ok(()) - } -} - -/// Create all directory parents of the given path. -fn mkdirs(path: &Path) -> Result<(), String> { - match create_dir_all(path) { - Ok(()) => Ok(()), - Err(err) => Err(format!( - "cannot create directory {}: {}", - path.to_string_lossy(), - err - )), - } -} - -/// Run a command. -fn run(cmd: &mut Command) -> Result<Output, String> { - match cmd.output() { - Err(err) => Err(format!("failed to spawn command: {}", err)), - Ok(output) => Ok(output), - } -} - /// Convert PDF file to PNG, putting the result in the same directory /// as the original. Uses the `convert` command provided by /// ImageMagick. @@ -101,14 +72,13 @@ fn run(cmd: &mut Command) -> Result<Output, String> { // dependency on ImageMagick? fn pdf2png(path: &Path) -> Result<(), String> { assert!(path.extension().unwrap().to_str().unwrap() == "pdf"); - let mut command = Command::new("convert"); let output_path = path.with_extension("png"); - let status = run(command - .arg("-colorspace") - .arg("RGB") + let mut command = Command::new("convert"); + let with_args = command + .args(["-colorspace", "RGB"]) .arg(path) - .arg(output_path))? - .status; + .arg(output_path); + let status = with_args.output().convert()?.status; if status.success() { Ok(()) } else { @@ -116,32 +86,6 @@ fn pdf2png(path: &Path) -> Result<(), String> { } } -/// Move a file. -fn mv(f1: &Path, f2: &Path) -> Result<(), String> { - if let Err(err) = rename(f1, f2) { - Err(format!( - "can't move {} to {}: {}", - f1.to_string_lossy(), - f1.to_string_lossy(), - err - )) - } else { - Ok(()) - } -} - -/// Create a file and return the `File` object. -fn create_file(path: &Path) -> Result<File, String> { - match File::create(path) { - Err(err) => Err(format!( - "failed to create {}: {}", - path.to_string_lossy(), - err - )), - Ok(file) => Ok(file), - } -} - /// All information about a given test in the baseline and the /// comparison directory. #[derive(Clone, Debug)] @@ -172,13 +116,14 @@ fn compile_tests(cli: &Cli, output_dir: &Path) -> Result<Vec<TestInfo>, String> let path_under_output_dir: &Path = &output_dir.join(path_under_tests); // Create directory if it doesn't exist. let prefix: &Path = path_under_output_dir.parent().unwrap(); - mkdirs(prefix)?; + //mkdirs(prefix)?; + create_dir_all(prefix).convert()?; // TODO: implement -o,--output option in effovex. let output_path_owned: PathBuf = path.with_extension("pdf"); let output_path: &Path = &output_path_owned; let mut command = Command::new(&cli.executable); let log_path = &path_under_output_dir.with_extension("log"); - let file = create_file(log_path.as_path())?; + let file = File::create(log_path.as_path()).convert()?; let exec = command.arg(&path).stderr(file); match exec.output() { Err(err) => { @@ -189,7 +134,7 @@ fn compile_tests(cli: &Cli, output_dir: &Path) -> Result<Vec<TestInfo>, String> let final_output_file: Option<PathBuf> = if output_path.is_file() { // move output to baseline/ let output_wanted = output_dir.join(path_under_tests).with_extension("pdf"); - mv(output_path, &output_wanted)?; + rename(output_path, &output_wanted).convert()?; Some(output_wanted.with_extension("png")) } else { None @@ -260,17 +205,6 @@ fn add_baseline_data(inp: Vec<TestInfo>) -> Result<Vec<TestInfo>, String> { Ok(res) } -fn read_log(path: &Path) -> Result<String, String> { - match read_to_string(path) { - Err(err) => Err(format!( - "failed to read file {}: {}", - path.to_string_lossy(), - err - )), - Ok(string) => Ok(string), - } -} - fn pretty_diff(log1: String, log2: String, out: &mut Node) { let diff = TextDiff::from_lines(&log1, &log2); for change in diff.iter_all_changes() { @@ -314,12 +248,12 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { { let mut log_row = table.tr(); let str1 = if let Some(path1) = baseline_log_path { - read_log(path1)? + read_to_string(path1).convert()? } else { String::new() }; let str2 = if let Some(path2) = output_log_path { - read_log(path2)? + read_to_string(path2).convert()? } else { String::new() }; @@ -370,7 +304,7 @@ fn run_comparison(cli: &Cli, output_dir: &Path, mut infos: Vec<TestInfo>) -> Res infos = add_baseline_data(infos)?; let html = gen_html(&infos)?; let html_file = output_dir.join("index.html"); - match create_file(&html_file)?.write(html.as_bytes()) { + match File::create(&html_file).convert()?.write(html.as_bytes()) { Ok(_) => Ok(()), Err(err) => Err(format!( "I/O error while writing file {}: {}", @@ -389,7 +323,9 @@ fn main() -> Result<(), String> { }; let output_dir_name = cli.output_dir.as_ref().unwrap_or(&output_dir_default); let output_dir = Path::new(&output_dir_name); - nuke_dir(output_dir)?; + if output_dir.is_dir() { + remove_dir_all(output_dir).convert()?; + } let infos = compile_tests(&cli, &output_dir)?; run_comparison(&cli, &output_dir, infos)?; Ok(()) -- GitLab From c6c932cb796980c92697e5890677068e7a82623f Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:25:32 +0100 Subject: [PATCH 18/20] Minor typos --- effovex/src/error.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/effovex/src/error.rs b/effovex/src/error.rs index a4e493c..861ae15 100644 --- a/effovex/src/error.rs +++ b/effovex/src/error.rs @@ -2,7 +2,7 @@ use std::fmt::Display; use parser::error::ParserError; -/// Enumeration grouping all possible errors that can occurre during compilation +/// Enumeration grouping all possible errors that can occurr during compilation #[derive(Debug, Clone, PartialEq, Eq)] pub enum Error { FileNotReadableError(String), @@ -14,11 +14,11 @@ impl Display for Error { match self { Error::FileNotReadableError(path) => write!( f, - "File not Readable Error : the file {} could not been read", + "File not Readable Error: the file {} could not be read", path ), Error::ParserError(err) => { - write!(f, "Parser Error : {}", err) + write!(f, "Parser Error: {}", err) } } } -- GitLab From f8ea3cfe3ea275b118f29cfe4e76c909fb1bf172 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra <jean@abou-samra.fr> Date: Thu, 24 Nov 2022 15:53:35 +0100 Subject: [PATCH 19/20] cargo-compare: Check exit status --- cargo-compare/src/main.rs | 54 ++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/cargo-compare/src/main.rs b/cargo-compare/src/main.rs index 45849ef..545460e 100644 --- a/cargo-compare/src/main.rs +++ b/cargo-compare/src/main.rs @@ -89,7 +89,6 @@ fn pdf2png(path: &Path) -> Result<(), String> { /// All information about a given test in the baseline and the /// comparison directory. #[derive(Clone, Debug)] -#[allow(dead_code)] struct TestInfo { /// Path to `.fx` file. input_path: PathBuf, @@ -209,9 +208,9 @@ fn pretty_diff(log1: String, log2: String, out: &mut Node) { let diff = TextDiff::from_lines(&log1, &log2); for change in diff.iter_all_changes() { let (color, tag) = match change.tag() { - ChangeTag::Delete => ("#ff0000", "-"), - ChangeTag::Insert => ("#00ff00", "+"), - ChangeTag::Equal => ("#000000", ""), + ChangeTag::Delete => ("#ff0000", "- "), + ChangeTag::Insert => ("#00ff00", "+ "), + ChangeTag::Equal => ("#000000", "= "), }; let mut node = out.span().attr(&format!("style=\"color:{}\"", color)); writeln!(node, "{}{}", tag, change).unwrap(); @@ -231,22 +230,33 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { baseline_log_path, output_path, output_log_path, - status: _, // TODO + status, } in infos { - // TODO only show differences - let mut para = body.p().attr("style=\"text-align:center\""); - para.code() - .write_str(&input_path.to_string_lossy()) - .unwrap(); - let mut table = body.table().attr("style=\"border: 1px solid black\""); - let mut header_row = table.tr(); - header_row.th().write_str("Old").unwrap(); - header_row.th().write_str("New").unwrap(); - header_row.th().write_str("Comparison").unwrap(); - // Uh, NLL doesn't work here? { - let mut log_row = table.tr(); + // TODO only show differences + let mut para = body.p(); + para.b().write_str("File: ").unwrap(); + para.code() + .write_str(&input_path.to_string_lossy()) + .unwrap(); + } + if let Some(stat) = status { + let mut para = body.p(); + para.b().write_str("Passes: ").unwrap(); + if stat.success() { + para.write_str("yes").unwrap(); + } else { + para.write_str(&format!( + "no (error code {})", + stat.code().expect("command should have been able to start") + )) + .unwrap(); + } + } + { + let mut para = body.p(); + para.b().write_str("Log:").unwrap(); let str1 = if let Some(path1) = baseline_log_path { read_to_string(path1).convert()? } else { @@ -257,10 +267,13 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { } else { String::new() }; - log_row.td().pre().write_str(&str1).unwrap(); - log_row.td().pre().write_str(&str2).unwrap(); - pretty_diff(str1, str2, &mut log_row.td().pre()); + pretty_diff(str1, str2, &mut para.pre()); } + let mut table = body.table().attr("style=\"border: 1px solid black\""); + let mut header_row = table.tr(); + header_row.th().write_str("Old").unwrap(); + header_row.th().write_str("New").unwrap(); + header_row.th().write_str("Comparison").unwrap(); { let mut img_row = table.tr(); // TODO: escaping? @@ -279,7 +292,6 @@ fn gen_html(infos: &Vec<TestInfo>) -> Result<String, String> { } img_row.td(); } - // TODO images } return Ok(buf.finish()); } -- GitLab From c9dbc20095e316ec1842a09ed6a44eb7967d67f2 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux <pigeonmoelleux@crans.org> Date: Tue, 29 Nov 2022 17:59:58 +0100 Subject: [PATCH 20/20] Changement AST pour simplifier la conversion --- cargo-compare/Cargo.toml | 2 -- converter/src/converter.rs | 4 +-- converter/src/verifier.rs | 57 +++++++++++++++----------------------- parser/src/ast.rs | 42 ++++++++++++++++++++++++++-- parser/src/error.rs | 8 ++---- parser/src/lib.rs | 4 +-- parser/src/parser.rs | 54 +++++++++++++++++++++++------------- parser/src/pretty.rs | 20 ++++++------- 8 files changed, 113 insertions(+), 78 deletions(-) diff --git a/cargo-compare/Cargo.toml b/cargo-compare/Cargo.toml index bc984e9..674dc58 100644 --- a/cargo-compare/Cargo.toml +++ b/cargo-compare/Cargo.toml @@ -3,8 +3,6 @@ name = "cargo-compare" version = "0.1.0" edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] clap = { version = "4.0.17", features = ["derive"]} html-builder = "0.4.0" diff --git a/converter/src/converter.rs b/converter/src/converter.rs index 8e42ccb..e883066 100644 --- a/converter/src/converter.rs +++ b/converter/src/converter.rs @@ -1,7 +1,7 @@ use cairo::{Context, PdfSurface}; use pango::{units_from_double, FontDescription, Layout}; use parser::{ParserError, ShowableType, AST}; -use std::cell::RefCell; +use std::{cell::RefCell, collections::HashMap}; use crate::verifier; @@ -36,7 +36,7 @@ impl Displayable for Newline { pub struct PrintableAST { pub context: Context, pub doctype: parser::Type, - pub declarations: Vec<Box<parser::Declaration>>, + pub declarations: HashMap<(parser::DeclarationType, String), Box<parser::Declaration>>, pub shown: Vec<Box<dyn Displayable>>, } diff --git a/converter/src/verifier.rs b/converter/src/verifier.rs index 0df0630..9666b84 100644 --- a/converter/src/verifier.rs +++ b/converter/src/verifier.rs @@ -14,45 +14,34 @@ pub fn verifier(ast: &mut RefCell<AST>) -> Result<(), ParserError> { let owned_ast = ast.get_mut(); let mut declaration_signatures: HashMap<(DeclarationType, String), (usize, Loc)> = HashMap::new(); - owned_ast.declarations.iter().try_for_each(|declaration| { - match &**declaration { - Declaration::DefFunc(loc, name, args, _) => { - match declaration_signatures.insert( - (DeclarationType::Function, name.to_owned()), - (args.len(), *loc), - ) { - None => {} - Some((_, previous_loc)) => { - return Err(ParserError::AlreadyDefinedDeclaration( - *loc, - previous_loc, - DeclarationType::Function, - name.to_owned(), - )) + owned_ast + .declarations + .iter() + .try_for_each(|((_, _), declaration)| { + match &**declaration { + Declaration::DefFunc(loc, name, args, _) => { + match declaration_signatures.insert( + (DeclarationType::Function, name.to_owned()), + (args.len(), *loc), + ) { + None => {} + Some(_) => unreachable!("Already Defined Declaration Error happened but has already been tested") } } - } - Declaration::DefEnv(loc, name, args, _, _) => { - match declaration_signatures.insert( - (DeclarationType::Environment, name.to_owned()), - (args.len(), *loc), - ) { - None => {} - Some((_, previous_loc)) => { - return Err(ParserError::AlreadyDefinedDeclaration( - *loc, - previous_loc, - DeclarationType::Environment, - name.to_owned(), - )) + Declaration::DefEnv(loc, name, args, _, _) => { + match declaration_signatures.insert( + (DeclarationType::Environment, name.to_owned()), + (args.len(), *loc), + ) { + None => {} + Some(_) => unreachable!("Already Defined Declaration Error happened but has already been tested") } } - } - }; - return Ok(()); - })?; + }; + return Ok(()); + })?; - for declaration in &owned_ast.declarations { + for ((_, _), declaration) in &owned_ast.declarations { match declarations_verifier(declaration, &declaration_signatures) { Ok(()) => {} Err(err) => return Err(err), diff --git a/parser/src/ast.rs b/parser/src/ast.rs index 406e92d..377ffe4 100644 --- a/parser/src/ast.rs +++ b/parser/src/ast.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use crate::error::Loc; /// Document type of the output @@ -82,14 +84,25 @@ pub struct Showable { pub showable_type: ShowableType, } +/// Enumeration of possible declaration types +/// +/// Only two values are possible : Function and Environment +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub enum DeclarationType { + Function, + Environment, +} + /// Abstract syntax tree corresponding to the output of the parsing phase #[derive(Clone, PartialEq, Eq)] pub struct AST { /// Type of the document pub doc_type: Type, - /// List of declared functions and environment - pub declarations: Vec<Box<Declaration>>, + /// Hashmap of declared functions and environment + /// + /// Each declaration is accessible from the unique key (declaration type, declaration name) + pub declarations: HashMap<(DeclarationType, String), Box<Declaration>>, /// List of displayed objects in the final document pub shown: Vec<Box<Showable>>, @@ -113,3 +126,28 @@ impl Showable { }; } } + +impl Declaration { + pub fn location(&self) -> Loc { + return match self { + Self::DefFunc(loc, _, _, _) => *loc, + Self::DefEnv(loc, _, _, _, _) => *loc, + }; + } + + pub fn name(&self) -> String { + return match self { + Self::DefFunc(_, name, _, _) => name.clone(), + Self::DefEnv(_, name, _, _, _) => name.clone(), + }; + } +} + +impl From<&Declaration> for DeclarationType { + fn from(declaration: &Declaration) -> Self { + return match declaration { + Declaration::DefFunc(_, _, _, _) => DeclarationType::Function, + Declaration::DefEnv(_, _, _, _, _) => DeclarationType::Environment, + }; + } +} diff --git a/parser/src/error.rs b/parser/src/error.rs index 9d7ef0a..d98799b 100644 --- a/parser/src/error.rs +++ b/parser/src/error.rs @@ -2,6 +2,8 @@ use std::fmt::Display; use pest::{error::LineColLocation, Position}; +use crate::ast::DeclarationType; + /// Location structure /// /// Contains the line and the column of a character in the file @@ -11,12 +13,6 @@ pub struct Loc { pub column: usize, } -#[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub enum DeclarationType { - Function, - Environment, -} - /// Parser errors enumeration /// /// Each error type correspond to an error that can occurres during the parsing diff --git a/parser/src/lib.rs b/parser/src/lib.rs index a2dc5b2..c225df6 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -10,6 +10,6 @@ pub mod error; pub mod parser; mod pretty; -pub use crate::ast::{Declaration, Showable, ShowableType, Type, AST}; -pub use crate::error::{DeclarationType, Loc, ParserError}; +pub use crate::ast::{Declaration, DeclarationType, Showable, ShowableType, Type, AST}; +pub use crate::error::{Loc, ParserError}; pub use crate::parser::effovex_parser; diff --git a/parser/src/parser.rs b/parser/src/parser.rs index faf72ad..0abed0a 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -1,10 +1,11 @@ use std::cell::RefCell; +use std::collections::HashMap; use std::vec; use pest::iterators::{Pair, Pairs}; use pest::Parser; -use crate::ast::{Declaration, Showable, ShowableType, Type, AST}; +use crate::ast::{Declaration, DeclarationType, Showable, ShowableType, Type, AST}; use crate::error::{Loc, ParserError}; #[derive(Parser, Debug)] @@ -319,30 +320,39 @@ fn ast_improver<'a>(boxed_ast: Box<AST>) -> Result<Box<AST>, ParserError> { let mut improved_ast = AST { doc_type: ast.doc_type, - declarations: vec![], + declarations: HashMap::new(), shown: vec![], }; - for boxed_dec in ast.declarations { + for ((_, _), boxed_dec) in ast.declarations { match *boxed_dec { Declaration::DefFunc(loc, name, args, returned) => { - improved_ast - .declarations - .push(Box::new(Declaration::DefFunc( + match improved_ast.declarations.insert( + (DeclarationType::Function, name.clone()), + Box::new(Declaration::DefFunc(loc, name, args, text_merger(returned))), + ) { + None => {} + Some(_) => { + unreachable!("Already Defined Declaration Error happened but has already been tested") + } + } + } + Declaration::DefEnv(loc, name, args, beg, end) => { + match improved_ast.declarations.insert( + (DeclarationType::Environment, name.clone()), + Box::new(Declaration::DefEnv( loc, name, args, - text_merger(returned), - ))) - } - Declaration::DefEnv(loc, name, args, beg, end) => { - improved_ast.declarations.push(Box::new(Declaration::DefEnv( - loc, - name, - args, - text_merger(beg), - text_merger(end), - ))) + text_merger(beg), + text_merger(end), + )), + ) { + None => {} + Some(_) => { + unreachable!("Already Defined Declaration Error happened but has already been tested") + } + } } } } @@ -356,7 +366,7 @@ fn ast_improver<'a>(boxed_ast: Box<AST>) -> Result<Box<AST>, ParserError> { fn pest_pairs_to_ast<'a>(pairs: &Pairs<'a, Rule>) -> Result<RefCell<AST>, ParserError> { let mut ast = AST { doc_type: Type::PDF, - declarations: vec![], + declarations: HashMap::new(), shown: vec![], }; @@ -374,8 +384,12 @@ fn pest_pairs_to_ast<'a>(pairs: &Pairs<'a, Rule>) -> Result<RefCell<AST>, Parser }) } Rule::declaration => { - let declaration = pest_pair_to_declaration(pair); - ast.declarations.push(declaration?) + let declaration = pest_pair_to_declaration(pair)?; + let location = declaration.location(); + match ast.declarations.insert((DeclarationType::from(&*declaration), declaration.name()), declaration) { + None => {} + Some(old_declaration) => return Err(ParserError::AlreadyDefinedDeclaration(location, old_declaration.location(), DeclarationType::from(&*old_declaration), old_declaration.name())) + } } Rule::called_env => { pair.into_inner().map(|inner_pair| { diff --git a/parser/src/pretty.rs b/parser/src/pretty.rs index b4726e5..f199876 100644 --- a/parser/src/pretty.rs +++ b/parser/src/pretty.rs @@ -261,17 +261,17 @@ impl<'a> Display for AST { print_node("Declarations", f, &indent, false)?; indent.push(true); if self.declarations.len() > 0 { - for dec in &self.declarations[0..self.declarations.len() - 1] { - print_declaration(dec.to_owned(), f, &mut indent, false)?; + let mut counter = 0; + for ((_, _), dec) in &self.declarations { + counter += 1; + if counter == self.declarations.len() { + indent.pop(); + indent.push(false); + print_declaration(dec.to_owned(), f, &mut indent, true)?; + } else { + print_declaration(dec.to_owned(), f, &mut indent, false)?; + } } - indent.pop(); - indent.push(false); - print_declaration( - self.declarations[self.declarations.len() - 1].to_owned(), - f, - &mut indent, - true, - )?; } indent.pop(); -- GitLab