Compare commits
36 commits
Author | SHA1 | Date | |
---|---|---|---|
e3959adc80 | |||
85c9bf3443 | |||
52bc1d6e36 | |||
b76cba89ec | |||
8b80c13436 | |||
40fc6bb998 | |||
c59e07de17 | |||
095deb0a3b | |||
449a5a3f93 | |||
4cc8f21738 | |||
465f2d7685 | |||
29e35b91a4 | |||
2c89c943c4 | |||
c2e343d54e | |||
d7802681e1 | |||
628397e87e | |||
79dac60a83 | |||
fec0a00b98 | |||
d011381222 | |||
91256c5c16 | |||
84fe2cc463 | |||
184beafd09 | |||
0806530e92 | |||
aaba9ae07c | |||
758fa4c90e | |||
83d632886c | |||
f1f4c2aa85 | |||
a6a87e467f | |||
de87f85c45 | |||
e213dad6b3 | |||
f84cbb80dd | |||
4d65d8efd4 | |||
5c59396e5d | |||
8acc6e91d1 | |||
1e1166404b | |||
f2aabbf7c5 |
20 changed files with 470 additions and 77 deletions
7
Makefile
Normal file
7
Makefile
Normal file
|
@ -0,0 +1,7 @@
|
|||
VC = git
|
||||
|
||||
all:
|
||||
|
||||
|
||||
clean:
|
||||
@$(VC) clean -Xdf
|
67
README.md
67
README.md
|
@ -3,10 +3,12 @@
|
|||
- [C](#c)
|
||||
- [C++](#c-1)
|
||||
- [LaTeX](#latex)
|
||||
- [Book](#book)
|
||||
- [Document](#document)
|
||||
- [Examen](#examen)
|
||||
- [Presentation](#presentation)
|
||||
- [Python](#python)
|
||||
- [OCaml](#ocaml)
|
||||
- [Python](#python)
|
||||
- [Rust](#rust)
|
||||
- [Typescript](#typescript)
|
||||
|
||||
|
@ -16,8 +18,8 @@ Copy and paste [`c/`](./c/) directory, and you should be good to go!
|
|||
|
||||
- Remember to change executable's name and change std's target in
|
||||
the [`Makefile`](./c/Makefile).
|
||||
- **Run `make` to compile the program.**
|
||||
- **Run `make dev` to compile the program in debug mode.**
|
||||
- **Run `make` to compile the program in release mode.**
|
||||
- **Run `make debug` to compile the program in debug mode.**
|
||||
- **Run `make clean` to clean artifacts.**
|
||||
|
||||
## C++
|
||||
|
@ -26,14 +28,28 @@ Copy and paste [`cpp/`](./cpp/) directory, and you should be good to go!
|
|||
|
||||
- Remember to change executable's name and change std's target in
|
||||
the [`Makefile`](./cpp/Makefile).
|
||||
- **Run `make` to compile the program.**
|
||||
- **Run `make dev` to compile the program in debug mode.**
|
||||
- **Run `make` to compile the program in release mode.**
|
||||
- **Run `make debug` to compile the program in debug mode.**
|
||||
- **Run `make clean` to clean artifacts.**
|
||||
|
||||
## LaTeX
|
||||
|
||||
### Book
|
||||
|
||||
This is for complex document.
|
||||
|
||||
Copy and paste [`latex/book`](./latex/book/) directory,
|
||||
and you should be good to go!
|
||||
|
||||
- **Run `make` to compile the document.**
|
||||
- **Run `make clean` to clean artifacts.**
|
||||
|
||||
> It is by default configured to output `book.pdf`.
|
||||
|
||||
### Document
|
||||
|
||||
This is for simple document.
|
||||
|
||||
Copy and paste [`latex/document`](./latex/document/) directory,
|
||||
and you should be good to go!
|
||||
|
||||
|
@ -42,30 +58,33 @@ and you should be good to go!
|
|||
|
||||
> It is by default configured to output `document.pdf`.
|
||||
|
||||
### Examen
|
||||
|
||||
This is for simple test.
|
||||
|
||||
Copy and paste [`latex/exam`](./latex/exam/) directory,
|
||||
and you should be good to go!
|
||||
|
||||
- **Run `make` to compile the document.**
|
||||
- **Run `make clean` to clean artifacts.**
|
||||
|
||||
> It is by default configured to output `test.pdf`.
|
||||
|
||||
### Presentation
|
||||
|
||||
This is for presentations.
|
||||
|
||||
Copy and paste [`latex/presentation`](./latex/presentation/) directory,
|
||||
and you should be good to go!
|
||||
|
||||
- **Run `make updatepackage` to download/update dependencie (projektor).**
|
||||
- **Run `make updatepackage` to download/update dependencie**
|
||||
**([projektor](https://git.mylloon.fr/Anri/projektor)).**
|
||||
- **Run `make` to compile the document.**
|
||||
- **Run `make clean` to clean artifacts.**
|
||||
|
||||
> It is by default configured to build `slides.tex` and output `slides.pdf`.
|
||||
> There is a more advanced file with more examples named `slides_advanced.tex`.
|
||||
|
||||
## Python
|
||||
|
||||
Copy and paste [`python/`](./python/) directory, and you should be good to go!
|
||||
|
||||
- **Run `python main.py` to start the program.**
|
||||
|
||||
> It's recommended to use virtual environnement:
|
||||
>
|
||||
> - `virtualenv .` → create the virtual env in the current folder
|
||||
> - `activate` → activate the virtual env
|
||||
> - Now, it won't affect your other projects
|
||||
|
||||
## OCaml
|
||||
|
||||
Copy and paste [`ocaml/`](./ocaml/) directory, and you should be good to go!
|
||||
|
@ -84,6 +103,18 @@ Copy and paste [`ocaml/`](./ocaml/) directory, and you should be good to go!
|
|||
> It's recommended to have this one as a "working example", and still create
|
||||
> new projects via `dune init proj`.
|
||||
|
||||
## Python
|
||||
|
||||
Copy and paste [`python/`](./python/) directory, and you should be good to go!
|
||||
|
||||
- **Run `python main.py` to start the program.**
|
||||
|
||||
> It's recommended to use virtual environnement:
|
||||
>
|
||||
> - `virtualenv .` → create the virtual env in the current folder
|
||||
> - `activate` → activate the virtual env
|
||||
> - Now, it won't affect your other projects
|
||||
|
||||
## Rust
|
||||
|
||||
Copy and paste [`rust/`](./rust/) directory, and you should be good to go!
|
||||
|
|
27
c/Makefile
27
c/Makefile
|
@ -2,9 +2,9 @@ CC = gcc
|
|||
RM = rm
|
||||
|
||||
SOURCES = $(wildcard src/*.c)
|
||||
OBJETS = $(patsubst %.c,%.o,$(notdir $(SOURCES)))
|
||||
OBJECTS = $(patsubst %.c,%.o,$(notdir $(SOURCES)))
|
||||
|
||||
CFLAGS = -std=c11 -pedantic
|
||||
CFLAGS = -std=c17 -pedantic
|
||||
LDFLAGS =
|
||||
|
||||
EXE = example
|
||||
|
@ -13,19 +13,22 @@ EXE_EXT = out
|
|||
%.o: src/%.c
|
||||
$(CC) -c $< -o $@ $(CFLAGS)
|
||||
|
||||
compilation: $(OBJETS)
|
||||
$(CC) -o $(EXE).$(EXE_EXT) $(OBJETS) $(LDFLAGS)
|
||||
release: CFLAGS += -O3
|
||||
release: compilation
|
||||
|
||||
main: CFLAGS += -O3
|
||||
main: compilation
|
||||
debug: CFLAGS += -Wall -Wextra -Wshadow -Wcast-align -Wstrict-prototypes
|
||||
debug: CFLAGS += -fanalyzer -fsanitize=undefined -g -Og
|
||||
debug: LDFLAGS += -fsanitize=undefined -fsanitize=leak
|
||||
debug: compilation
|
||||
|
||||
dev: CFLAGS += -Wall -Wextra -Wshadow -Wcast-align -Wstrict-prototypes
|
||||
dev: CFLAGS += -fanalyzer -fsanitize=undefined -g -Og
|
||||
dev: LDFLAGS += -fsanitize=undefined
|
||||
dev: compilation
|
||||
compilation: $(OBJECTS)
|
||||
$(CC) -o $(EXE).$(EXE_EXT) $(OBJECTS) $(LDFLAGS)
|
||||
|
||||
all:
|
||||
main
|
||||
release
|
||||
|
||||
clean:
|
||||
$(RM) $(OBJETS) $(EXE).$(EXE_EXT)
|
||||
$(RM) $(OBJECTS)
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(EXE).$(EXE_EXT)
|
||||
|
|
25
cpp/Makefile
25
cpp/Makefile
|
@ -2,9 +2,9 @@ CXX = g++
|
|||
RM = rm
|
||||
|
||||
SOURCES = $(wildcard src/*.cpp)
|
||||
OBJETS = $(patsubst %.cpp,%.o,$(notdir $(SOURCES)))
|
||||
OBJECTS = $(patsubst %.cpp,%.o,$(notdir $(SOURCES)))
|
||||
|
||||
CXXFLAGS = --std=c++11
|
||||
CXXFLAGS = -std=c++17 -pedantic
|
||||
|
||||
EXE = example
|
||||
EXE_EXT = out
|
||||
|
@ -12,18 +12,21 @@ EXE_EXT = out
|
|||
%.o: src/%.cpp
|
||||
$(CXX) -c -o $@ $< $(CXXFLAGS)
|
||||
|
||||
compilation: $(OBJETS)
|
||||
$(CXX) -o $(EXE).$(EXE_EXT) $(OBJETS)
|
||||
release: CXXFLAGS += -O3
|
||||
release: compilation
|
||||
|
||||
main: CXXFLAGS += -O3
|
||||
main: compilation
|
||||
debug: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -g
|
||||
debug: CXXFLAGS += -Wold-style-cast -Wsign-conversion
|
||||
debug: compilation
|
||||
|
||||
dev: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic -g
|
||||
dev: CXXFLAGS += -Wold-style-cast -Wsign-conversion
|
||||
dev: compilation
|
||||
compilation: $(OBJECTS)
|
||||
$(CXX) -o $(EXE).$(EXE_EXT) $(OBJECTS)
|
||||
|
||||
all:
|
||||
main
|
||||
release
|
||||
|
||||
clean:
|
||||
$(RM) $(OBJETS) $(EXE).$(EXE_EXT)
|
||||
$(RM) $(OBJECTS)
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(EXE).$(EXE_EXT)
|
||||
|
|
8
latex/book/.gitignore
vendored
Normal file
8
latex/book/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
*
|
||||
|
||||
!.gitignore
|
||||
!Makefile
|
||||
!*.tex
|
||||
!*.bib
|
||||
|
||||
!sections/
|
22
latex/book/Makefile
Normal file
22
latex/book/Makefile
Normal file
|
@ -0,0 +1,22 @@
|
|||
NAME = book
|
||||
|
||||
PDF = $(NAME).pdf
|
||||
|
||||
TEXMK = latexmk -lualatex -shell-escape -interaction=nonstopmode
|
||||
QPDF = qpdf --linearize --replace-input
|
||||
RM = rm -rf
|
||||
|
||||
.PHONY: $(PDF)
|
||||
|
||||
all: $(PDF)
|
||||
|
||||
$(PDF): %.pdf: %.tex
|
||||
$(TEXMK) $<
|
||||
@$(QPDF) $@ 2>/dev/null |:
|
||||
|
||||
EXTS = aux fdb_latexmk fls log nav out snm synctex.gz toc bbl blg sta
|
||||
clean:
|
||||
$(RM) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(PDF)
|
80
latex/book/book.tex
Normal file
80
latex/book/book.tex
Normal file
|
@ -0,0 +1,80 @@
|
|||
\DocumentMetadata{testphase = {phase-II,sec,toc,graphic,minipage,float,text}}
|
||||
\documentclass[a4paper]{article}
|
||||
|
||||
% Files
|
||||
\usepackage[subpreambles=true]{standalone}
|
||||
\usepackage{import}
|
||||
|
||||
% Font
|
||||
\usepackage[T1]{fontenc}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\usepackage[nopatch=footnote]{microtype}
|
||||
|
||||
% Languages
|
||||
\usepackage[french]{babel}
|
||||
\frenchsetup{SmallCapsFigTabCaptions=false}
|
||||
\usepackage{csquotes}
|
||||
\MakeOuterQuote{"}
|
||||
|
||||
% Add \extra info to title
|
||||
\makeatletter
|
||||
\providecommand{\extra}[1]{
|
||||
\apptocmd{\@author}{
|
||||
\end{tabular}
|
||||
\par\vspace*{0.7em}
|
||||
\begin{tabular}[t]{c}
|
||||
#1}{}{}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% Change page dimensions
|
||||
%\usepackage[
|
||||
% a4paper,
|
||||
% left=20mm,
|
||||
% top=20mm,
|
||||
%]{geometry}
|
||||
|
||||
% Bibliography
|
||||
\bibliographystyle{unsrt}
|
||||
\nocite{*}
|
||||
|
||||
% Metadatas
|
||||
\def\docTitle{TITLE}
|
||||
\def\docAuthor{YOU}
|
||||
\def\authorMail{mailto:place@holder.com}
|
||||
\def\docSubject{SUBJECT}
|
||||
\def\docLocation{LOCATION}
|
||||
|
||||
% Dependencies
|
||||
\usepackage[
|
||||
pdfauthor={\docAuthor}, % author metadata
|
||||
pdftitle={\docTitle}, % title metadata
|
||||
pdfsubject={\docSubject}, % subject metadata
|
||||
hidelinks, % clickable links in table of contents
|
||||
]{hyperref}
|
||||
|
||||
\title{\docTitle}
|
||||
\author{\docAuthor}
|
||||
\extra{\docSubject~$\cdot$ \docLocation}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\flushbottom
|
||||
\tableofcontents
|
||||
\clearpage
|
||||
|
||||
\section{First section}
|
||||
\import{sections/}{section1}
|
||||
|
||||
\section{Second section}
|
||||
\import{sections/}{section2}
|
||||
|
||||
\section{Third section}
|
||||
\import{sections/}{section3}
|
||||
|
||||
\clearpage
|
||||
\appendix
|
||||
\bibliography{sources}
|
||||
|
||||
\end{document}
|
11
latex/book/sections/section1.tex
Normal file
11
latex/book/sections/section1.tex
Normal file
|
@ -0,0 +1,11 @@
|
|||
\documentclass[class=article]{standalone}
|
||||
|
||||
% Code integration
|
||||
%\usepackage{minted}
|
||||
%\usemintedstyle{emacs}
|
||||
|
||||
\begin{document}
|
||||
|
||||
Here is the first section.
|
||||
|
||||
\end{document}
|
11
latex/book/sections/section2.tex
Normal file
11
latex/book/sections/section2.tex
Normal file
|
@ -0,0 +1,11 @@
|
|||
\documentclass[class=article]{standalone}
|
||||
|
||||
% Code integration
|
||||
%\usepackage{minted}
|
||||
%\usemintedstyle{emacs}
|
||||
|
||||
\begin{document}
|
||||
|
||||
Here is the second section.
|
||||
|
||||
\end{document}
|
11
latex/book/sections/section3.tex
Normal file
11
latex/book/sections/section3.tex
Normal file
|
@ -0,0 +1,11 @@
|
|||
\documentclass[class=article]{standalone}
|
||||
|
||||
% Code integration
|
||||
%\usepackage{minted}
|
||||
%\usemintedstyle{emacs}
|
||||
|
||||
\begin{document}
|
||||
|
||||
Here is the third section.
|
||||
|
||||
\end{document}
|
4
latex/book/sources.bib
Normal file
4
latex/book/sources.bib
Normal file
|
@ -0,0 +1,4 @@
|
|||
@misc{example,
|
||||
author = {John Doe},
|
||||
howpublished = {\url{https://example.com}}
|
||||
}
|
|
@ -1,16 +1,20 @@
|
|||
NAME = document
|
||||
|
||||
TEX = $(NAME).tex
|
||||
SRC = $(TEX)
|
||||
PDF = $(TEX:.tex=.pdf)
|
||||
PDF = $(NAME).pdf
|
||||
|
||||
TEXMK = latexmk -lualatex -shell-escape -interaction=nonstopmode
|
||||
QPDF = qpdf --linearize --replace-input
|
||||
RM = rm -rf
|
||||
|
||||
all: $(PDF)
|
||||
|
||||
$(PDF): %.pdf: %.tex
|
||||
$(TEXMK) $<
|
||||
@$(QPDF) $@ 2>/dev/null |:
|
||||
|
||||
EXTS = aux fdb_latexmk fls log nav out snm synctex.gz toc
|
||||
clean:
|
||||
rm -rf $(PDF) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
$(RM) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(PDF)
|
||||
|
|
|
@ -1,36 +1,57 @@
|
|||
\DocumentMetadata{testphase = {phase-III,math}}
|
||||
\documentclass{article}
|
||||
\DocumentMetadata{testphase = {phase-III,math,firstaid}}
|
||||
\documentclass[a4paper]{article}
|
||||
|
||||
\usepackage[T1]{fontenc} % encoding
|
||||
\renewcommand{\familydefault}{\sfdefault} % sans-serif font
|
||||
% Font
|
||||
\usepackage[T1]{fontenc}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\usepackage[nopatch=footnote]{microtype}
|
||||
|
||||
\usepackage[french]{babel} % langages
|
||||
% Code integration
|
||||
%\usepackage{minted}
|
||||
%\setminted{autogobble,breaklines}
|
||||
%\usemintedstyle{emacs}
|
||||
|
||||
% Languages
|
||||
\usepackage[french]{babel}
|
||||
\frenchsetup{SmallCapsFigTabCaptions=false}
|
||||
\usepackage{csquotes}
|
||||
\MakeOuterQuote{"}
|
||||
|
||||
% \usepackage[ % change page dimensions
|
||||
% Add \extra info to title
|
||||
\makeatletter
|
||||
\providecommand{\extra}[1]{
|
||||
\apptocmd{\@author}{
|
||||
\end{tabular}
|
||||
\par\vspace*{0.7em}
|
||||
\begin{tabular}[t]{c}
|
||||
#1}{}{}
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% Change page dimensions
|
||||
%\usepackage[
|
||||
% a4paper,
|
||||
% left=20mm,
|
||||
% top=20mm,
|
||||
%]{geometry}
|
||||
|
||||
% \usepackage{minted} % code integration
|
||||
% \usemintedstyle{emacs}
|
||||
|
||||
\newcommand{\settitle}{TITLE}
|
||||
\newcommand{\setauthor}{YOU}
|
||||
\newcommand{\setsubject}{SUBJECT}
|
||||
\newcommand{\setlocation}{LOCATION}
|
||||
\newcommand{\setmail}{mailto:place@holder.com}
|
||||
% Metadatas
|
||||
\def\docTitle{TITLE}
|
||||
\def\docAuthor{YOU}
|
||||
\def\authorMail{mailto:place@holder.com}
|
||||
\def\docSubject{SUBJECT}
|
||||
\def\docLocation{LOCATION}
|
||||
|
||||
\usepackage[
|
||||
pdfauthor={\setauthor}, % author metadata
|
||||
pdftitle={\settitle}, % title metadata
|
||||
pdfsubject={\setsubject}, % subject metadata
|
||||
pdfauthor={\docAuthor}, % author metadata
|
||||
pdftitle={\docTitle}, % title metadata
|
||||
pdfsubject={\docSubject}, % subject metadata
|
||||
hidelinks, % clickable links in table of contents
|
||||
]{hyperref}
|
||||
|
||||
\title{\settitle}
|
||||
\author{\href{\setmail}{\setauthor}\\\setsubject~$\cdot$ \setlocation}
|
||||
\title{\docTitle}
|
||||
\author{\href{\authorMail}{\docAuthor}}
|
||||
\extra{\docSubject~$\cdot$ \docLocation}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
|
|
5
latex/exam/.gitignore
vendored
Normal file
5
latex/exam/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
*
|
||||
|
||||
!.gitignore
|
||||
!Makefile
|
||||
!*.tex
|
20
latex/exam/Makefile
Normal file
20
latex/exam/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
NAME = test
|
||||
|
||||
PDF = $(NAME).pdf
|
||||
|
||||
TEXMK = latexmk -lualatex -shell-escape -interaction=nonstopmode
|
||||
QPDF = qpdf --linearize --replace-input
|
||||
RM = rm -rf
|
||||
|
||||
all: $(PDF)
|
||||
|
||||
$(PDF): %.pdf: %.tex
|
||||
$(TEXMK) $<
|
||||
@$(QPDF) $@ 2>/dev/null |:
|
||||
|
||||
EXTS = aux fdb_latexmk fls log nav out snm synctex.gz toc
|
||||
clean:
|
||||
$(RM) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(PDF)
|
144
latex/exam/test.tex
Normal file
144
latex/exam/test.tex
Normal file
|
@ -0,0 +1,144 @@
|
|||
\documentclass[a4paper,12pt,addpoints]{exam}
|
||||
|
||||
% Font
|
||||
\usepackage[T1]{fontenc}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\usepackage{microtype}
|
||||
|
||||
% Code integration
|
||||
%\usepackage{minted}
|
||||
%\setminted{autogobble,breaklines}
|
||||
%\usemintedstyle{emacs}
|
||||
|
||||
% Languages
|
||||
\usepackage[french]{babel}
|
||||
\frenchsetup{SmallCapsFigTabCaptions=false}
|
||||
\usepackage{csquotes}
|
||||
\MakeOuterQuote{"}
|
||||
|
||||
% Change page dimensions
|
||||
%\usepackage[
|
||||
% a4paper,
|
||||
% left=20mm,
|
||||
% top=20mm,
|
||||
%]{geometry}
|
||||
|
||||
% Metadatas
|
||||
\def\docTitle{TITLE}
|
||||
\def\docSubject{SUBJECT}
|
||||
\def\docLocation{LOCATION}
|
||||
\def\docTimeAllocated{1 heure 30 minutes}
|
||||
|
||||
\usepackage[
|
||||
pdfauthor={\docLocation}, % author metadata
|
||||
pdftitle={\docTitle}, % title metadata
|
||||
pdfsubject={\docSubject}, % subject metadata
|
||||
pdfkeywords={examen, test, \docSubject},
|
||||
]{hyperref}
|
||||
|
||||
% Style marks
|
||||
\pointsinrightmargin
|
||||
%\usepackage{color}
|
||||
%\colorsolutionboxes
|
||||
|
||||
% Style head an foot
|
||||
\pagestyle{headandfoot}
|
||||
\runningheadrule
|
||||
\firstpageheader{\docSubject}{}{\docLocation}
|
||||
\runningheader{\docSubject}{\docTitle}{\docLocation}
|
||||
\cfoot{\thepage}
|
||||
|
||||
% Style question
|
||||
\renewcommand\questionlabel{\textbf{Exercice \Roman{question}.}}
|
||||
%\renewcommand\questionshook{\setlength{\labelwidth}{1in}} % realign points
|
||||
\renewcommand\partlabel{\arabic{partno}.}
|
||||
\renewcommand\subpartlabel{\alph{subpart}.}
|
||||
\renewcommand\subsubpartlabel{\greeknum{subsubpart}.}
|
||||
|
||||
% Show answers
|
||||
%\printanswers
|
||||
|
||||
\begin{document}
|
||||
% \definecolor{SolutionBoxColor}{gray}{1} % invisible answer area outline
|
||||
|
||||
\begin{center}
|
||||
{\LARGE\bfseries\docTitle} \\
|
||||
\docTimeAllocated~-- /\numpoints~\points
|
||||
\end{center}
|
||||
|
||||
\begin{center}
|
||||
\parbox{14cm}{\centering
|
||||
\textbf{Tout document autorisé.
|
||||
Tout dispositif de communication est interdit. } \\
|
||||
Sauf indication contraire, toute assertion doit être démontrée. \\
|
||||
Le sujet est composé de \totalnumpages~pages.}
|
||||
\end{center}
|
||||
|
||||
\begin{tabular}{r@{}p{0.8\textwidth}}
|
||||
Nom & ~: \hrulefill \\[0.5em]
|
||||
Prénom & ~: \hrulefill
|
||||
\end{tabular}
|
||||
|
||||
% Additional information
|
||||
%\vspace{1cm}
|
||||
%\parbox{14cm}{Nota :
|
||||
% \begin{itemize}
|
||||
% \item Les exercices sont indépendants.
|
||||
% \item Toute réponse hors du cadre sera ignorée.
|
||||
% \end{itemize}}
|
||||
|
||||
\vspace{1cm}
|
||||
\begin{questions}
|
||||
\question
|
||||
ÉNONCÉ DE L'EXERCICE 1
|
||||
\begin{parts}
|
||||
\part[6]
|
||||
ÉNONCÉ DE LA QUESTION 1
|
||||
\begin{solutionorbox}[3cm]
|
||||
RÉPONSE DE LA QUESTION 1
|
||||
\end{solutionorbox}
|
||||
|
||||
\part[2]
|
||||
ÉNONCÉ DE LA QUESTION 2
|
||||
\begin{solutionorbox}[3cm]
|
||||
RÉPONSE DE LA QUESTION 2
|
||||
\end{solutionorbox}
|
||||
\end{parts}
|
||||
|
||||
\question
|
||||
ÉNONCÉ DE L'EXERCICE 2
|
||||
\begin{parts}
|
||||
\part[3]
|
||||
ÉNONCÉ DE LA QUESTION 1
|
||||
\begin{solutionorbox}[4cm]
|
||||
RÉPONSE DE LA QUESTION 1
|
||||
\end{solutionorbox}
|
||||
|
||||
\part[2]
|
||||
ÉNONCÉ DE LA QUESTION 2
|
||||
\begin{solutionorbox}[4cm]
|
||||
RÉPONSE DE LA QUESTION 2
|
||||
\end{solutionorbox}
|
||||
\end{parts}
|
||||
|
||||
\question
|
||||
ÉNONCÉ DE L'EXERCICE 3
|
||||
\begin{parts}
|
||||
\part[3]
|
||||
ÉNONCÉ DE LA QUESTION 1
|
||||
\begin{solutionorbox}[3cm]
|
||||
RÉPONSE DE LA QUESTION 1
|
||||
\end{solutionorbox}
|
||||
|
||||
\part[4]
|
||||
ÉNONCÉ DE LA QUESTION 2
|
||||
\begin{solutionorbox}[3cm]
|
||||
RÉPONSE DE LA QUESTION 2
|
||||
\end{solutionorbox}
|
||||
\end{parts}
|
||||
\end{questions}
|
||||
|
||||
\begin{center}
|
||||
Fin de l'examen.
|
||||
\end{center}
|
||||
\end{document}
|
|
@ -1,12 +1,12 @@
|
|||
NAME = slides
|
||||
|
||||
TEX = $(NAME).tex
|
||||
SRC = $(TEX)
|
||||
PDF = $(TEX:.tex=.pdf)
|
||||
PKG = projektor.sty
|
||||
PDF = $(NAME).pdf
|
||||
|
||||
TEXMK = latexmk -lualatex -shell-escape -interaction=nonstopmode
|
||||
QPDF = qpdf --linearize --replace-input
|
||||
WGET = wget -q --show-progress
|
||||
RM = rm -rf
|
||||
|
||||
|
||||
all: $(PDF)
|
||||
|
@ -14,13 +14,18 @@ all: $(PDF)
|
|||
$(PDF): %.pdf: %.tex
|
||||
ifneq (,$(wildcard $(PKG)))
|
||||
@$(TEXMK) $<
|
||||
@$(QPDF) $@ 2>/dev/null |:
|
||||
else
|
||||
@echo "Can't proceed, $(PKG) missing."
|
||||
@$(MAKE) updatepackage
|
||||
@$(MAKE) $@
|
||||
endif
|
||||
|
||||
EXTS = aux fdb_latexmk fls log nav out snm synctex.gz toc vrb
|
||||
clean:
|
||||
rm -rf $(PDF) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
$(RM) _minted-$(NAME)/ $(foreach ext,$(EXTS),$(NAME).$(ext))
|
||||
|
||||
full-clean: clean
|
||||
$(RM) $(PDF) $(PKG)
|
||||
|
||||
updatepackage:
|
||||
@$(WGET) https://git.mylloon.fr/Anri/projektor/raw/branch/main/projektor.sty \
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
\date{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{frame}[t,plain]{\contentsname}
|
||||
|
@ -25,5 +24,4 @@
|
|||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\end{document}
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
\date{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section[FIRST SECTION]{SECTION} % title and subtitle reversed
|
||||
|
@ -39,9 +38,11 @@
|
|||
|
||||
\appendix
|
||||
\begin{frame}{Sources}
|
||||
\begin{itemize}\begin{multicols}{2}
|
||||
\begin{itemize}
|
||||
\begin{multicols}{2}
|
||||
\item \href{https://fr.wikipedia.org/}{\nolinkurl{wikipedia.org}}
|
||||
\end{multicols}\end{itemize}
|
||||
\end{multicols}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
||||
|
|
|
@ -8,3 +8,7 @@ license = "AGPL-3.0-or-later"
|
|||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
|
||||
|
||||
[lints.clippy]
|
||||
pedantic = "warn"
|
||||
|
|
Loading…
Reference in a new issue