Compare commits

..

4 Commits

Author SHA1 Message Date
4ccbee3d98 slides: fix title page spacing, enable LIP6 and Sorbonne
- Reserve a left margin in the partner logo grid so a full grid stays
  clear of the affiliations.
- Let the space above the title shrink when the title page overflows,
  so the logos keep a bottom margin equal to the side margins.
- Enable the LIP6 and Sorbonne Université partners in the example deck.
- Note that author and institute blocks must stay plain: table and
  flushleft wrappers add vertical space.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 15:16:26 +01:00
khannurien
296b08e420 additions and updates 2026-10-21 14:56:15 +00:00
a8426be8bd added ubo open factory to partners 2026-10-12 10:59:10 +02:00
a144218951 slides: tables updates 2026-10-12 10:54:32 +02:00
11 changed files with 196 additions and 107 deletions

View File

@@ -6,13 +6,13 @@
%% LOAD SUPPORTING PACKAGES %% LOAD SUPPORTING PACKAGES
% We want to use US letter paper with one-inch margins % We want to use A4 paper with one-inch margins
\RequirePackage{geometry} \RequirePackage{geometry}
\geometry{letterpaper, margin=1.0in} \geometry{a4paper, margin=1.0in}
% Alternatives:
% PDFLaTeX commands % \geometry{letterpaper, margin=1.0in} % US Letter
\pdfpagewidth=\paperwidth % \geometry{legalpaper, margin=1.0in} % US Legal
\pdfpageheight=\paperheight % \geometry{a5paper, margin=0.75in} % A5
% And we should use T1 for the output encoding, because the default results % And we should use T1 for the output encoding, because the default results
% in a big mess with accented characters in the PDF % in a big mess with accented characters in the PDF

View File

@@ -4,6 +4,21 @@
\usepackage{lmodern} \usepackage{lmodern}
\usepackage{carlletter} \usepackage{carlletter}
\usepackage[dvipsnames]{xcolor}
\usepackage{circledsteps}
% status pills: \TODO, \TODO{text}, likewise \FIXME and \DONE
\usepackage{xparse} % for the optional {text} argument
\usepackage{xspace}
\NewDocumentCommand{\pill}{m m m g}{%
\CircledParamOpts{inner color=#1, outer color=#2, fill color=#2}{1}{%
\textbf{#3}\IfValueT{#4}{ \textbf{--} #4}%
}%
\IfNoValueT{#4}{\xspace}% keep the space in "\TODO bla"
}
\newcommand{\DONE}{\pill{black}{LimeGreen}{DONE}}
\newcommand{\TODO}{\pill{black}{Goldenrod}{TODO}}
\newcommand{\FIXME}{\pill{white}{Red}{FIXME}}
\usepackage{graphicx} \usepackage{graphicx}
\graphicspath{{img/}} \graphicspath{{img/}}
@@ -12,33 +27,33 @@
\begin{document} \begin{document}
Vincent Lannurien \\ Vincent Lannurien \\
64 rue Paul Masson \\ 64 rue Paul Masson \\
29200 Brest 29200 Brest
\begin{flushright} \begin{flushright}
À l'attention de ... À l'attention de ...
\end{flushright} \end{flushright}
\begin{flushright} \begin{flushright}
le , à, \\ le , à, \\
\end{flushright} \end{flushright}
\vspace{40px} \vspace{40px}
Madame, Monsieur, Madame, Monsieur,
\vspace{20px} \vspace{20px}
... ...
\vspace{40px} \vspace{40px}
\begin{flushright} \begin{flushright}
Vincent Lannurien Vincent Lannurien
\vspace{20px} \vspace{20px}
\includegraphics[width=4cm]{signature.png} \includegraphics[width=4cm]{signature.png}
\end{flushright} \end{flushright}
\end{document} \end{document}

View File

@@ -67,6 +67,18 @@
% colorlet commands reference: https://texdoc.org/serve/tikzposter/0 % colorlet commands reference: https://texdoc.org/serve/tikzposter/0
% color names reference: https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/e/ef/OLxcolorList2.png % color names reference: https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/e/ef/OLxcolorList2.png
\usepackage[dvipsnames]{xcolor} \usepackage[dvipsnames]{xcolor}
% status pills: \TODO, \TODO{text}, likewise \FIXME and \DONE
\usepackage{xparse} % for the optional {text} argument
\usepackage{xspace}
\NewDocumentCommand{\pill}{m m m g}{%
\CircledParamOpts{inner color=#1, outer color=#2, fill color=#2}{1}{%
\textbf{#3}\IfValueT{#4}{ \textbf{--} #4}%
}%
\IfNoValueT{#4}{\xspace}% keep the space in "\TODO bla"
}
\newcommand{\DONE}{\pill{black}{LimeGreen}{DONE}}
\newcommand{\TODO}{\pill{black}{Goldenrod}{TODO}}
\newcommand{\FIXME}{\pill{white}{Red}{FIXME}}
\definecolor{accent}{HTML}{4D7EA8} \definecolor{accent}{HTML}{4D7EA8}
\definecolor{foreground}{HTML}{272932} \definecolor{foreground}{HTML}{272932}
\definecolor{background}{HTML}{FFFFFF} \definecolor{background}{HTML}{FFFFFF}

View File

@@ -25,6 +25,19 @@
\MakeOuterQuote{"} \MakeOuterQuote{"}
\usepackage{enumitem} \usepackage{enumitem}
\usepackage[dvipsnames]{xcolor} \usepackage[dvipsnames]{xcolor}
\usepackage{circledsteps}
% status pills: \TODO, \TODO{text}, likewise \FIXME and \DONE
\usepackage{xparse} % for the optional {text} argument
\usepackage{xspace}
\NewDocumentCommand{\pill}{m m m g}{%
\CircledParamOpts{inner color=#1, outer color=#2, fill color=#2}{1}{%
\textbf{#3}\IfValueT{#4}{ \textbf{--} #4}%
}%
\IfNoValueT{#4}{\xspace}% keep the space in "\TODO bla"
}
\newcommand{\DONE}{\pill{black}{LimeGreen}{DONE}}
\newcommand{\TODO}{\pill{black}{Goldenrod}{TODO}}
\newcommand{\FIXME}{\pill{white}{Red}{FIXME}}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{titlesec} \usepackage{titlesec}
\usepackage{booktabs} \usepackage{booktabs}

View File

@@ -60,22 +60,22 @@
%%%%%%%%%%%% %%%%%%%%%%%%
\begin{document} \begin{document}
\maketitle \maketitle
\romantableofcontents \romantableofcontents
\section*{Glossaire} \section*{Glossaire}
\addcontentsline{toc}{section}{Glossaire} \addcontentsline{toc}{section}{Glossaire}
\printglossaries \printglossaries
\newpage \newpage
\input{sections/1_introduction} \input{sections/1_introduction}
\newpage \newpage
% \nocite{*} % \nocite{*}
\printbibliography \printbibliography
\newpage \newpage
\appendix \appendix
\section{Annexes} \section{Annexes}
\end{document} \end{document}

View File

@@ -86,6 +86,18 @@
\newcommand{\cmark}{{\color{YellowGreen}\ding{51}}} \newcommand{\cmark}{{\color{YellowGreen}\ding{51}}}
\newcommand{\xmark}{{\color{BrickRed}\ding{55}}} \newcommand{\xmark}{{\color{BrickRed}\ding{55}}}
\newcommand{\imark}{{\color{Orange}\ding{109}}} \newcommand{\imark}{{\color{Orange}\ding{109}}}
% status pills: \TODO, \TODO{text}, likewise \FIXME and \DONE
\RequirePackage{xparse} % for the optional {text} argument
\RequirePackage{xspace}
\NewDocumentCommand{\pill}{m m m g}{%
\CircledParamOpts{inner color=#1, outer color=#2, fill color=#2}{1}{%
\textbf{#3}\IfValueT{#4}{ \textbf{--} #4}%
}%
\IfNoValueT{#4}{\xspace}% keep the space in "\TODO bla"
}
\newcommand{\DONE}{\pill{black}{LimeGreen}{DONE}}
\newcommand{\TODO}{\pill{black}{Goldenrod}{TODO}}
\newcommand{\FIXME}{\pill{white}{Red}{FIXME}}
% Figures % Figures

View File

@@ -5,7 +5,7 @@ property of their respective institutions; availability here does not grant
unrestricted use or imply endorsement. Follow the applicable branding rules. unrestricted use or imply endorsement. Follow the applicable branding rules.
| File | Official asset source | | File | Official asset source |
| --- | --- | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `labsticc.png` | [IMT Atlantique / Lab-STICC](https://www.imt-atlantique.fr/sites/default/files/users/user1867/logo-lab-sticc.png) | | `labsticc.png` | [IMT Atlantique / Lab-STICC](https://www.imt-atlantique.fr/sites/default/files/users/user1867/logo-lab-sticc.png) |
| `ubo.png` | Official inline SVG labelled `Logo UBO` on [UBO's branding page](https://www.univ-brest.fr/fr/page/charte-graphique-ubo-et-logos-disposition-des-partenaires), rendered to a transparent 3,161 × 1,299 PNG at 600 DPI | | `ubo.png` | Official inline SVG labelled `Logo UBO` on [UBO's branding page](https://www.univ-brest.fr/fr/page/charte-graphique-ubo-et-logos-disposition-des-partenaires), rendered to a transparent 3,161 × 1,299 PNG at 600 DPI |
| `ensta.png` | Official blue vertical ENSTA / IP Paris transparent PNG (`Ensta-logotype-05-bleu-rvb.png`) from the [ENSTA RGB logo archive](https://www.ensta.fr/sites/default/files/content/article/pdf/LogoENSTA_RVB.zip), linked from [ENSTA's branding page](https://www.ensta.fr/logo-et-charte-graphique); cropped to 3,638 × 2,286 pixels | | `ensta.png` | Official blue vertical ENSTA / IP Paris transparent PNG (`Ensta-logotype-05-bleu-rvb.png`) from the [ENSTA RGB logo archive](https://www.ensta.fr/sites/default/files/content/article/pdf/LogoENSTA_RVB.zip), linked from [ENSTA's branding page](https://www.ensta.fr/logo-et-charte-graphique); cropped to 3,638 × 2,286 pixels |
@@ -15,6 +15,7 @@ unrestricted use or imply endorsement. Follow the applicable branding rules.
| `sorbonne.png` | [Sorbonne Université SVG](https://www.sorbonne-universite.fr/sites/default/files/media/2019-10/logo_4.svg), rendered to PNG | | `sorbonne.png` | [Sorbonne Université SVG](https://www.sorbonne-universite.fr/sites/default/files/media/2019-10/logo_4.svg), rendered to PNG |
| `academia-sinica.png` | [Academia Sinica](https://www.sinica.edu.tw/images/AS_logo_2.png), referenced by its [official website](https://www.sinica.edu.tw/en) | | `academia-sinica.png` | [Academia Sinica](https://www.sinica.edu.tw/images/AS_logo_2.png), referenced by its [official website](https://www.sinica.edu.tw/en) |
| `taipei.png` | [University of Taipei masthead](https://www.utaipei.edu.tw/var/file/0/1000/img/1583/366369593.jpg), linked from its [official website](https://www.utaipei.edu.tw/) | | `taipei.png` | [University of Taipei masthead](https://www.utaipei.edu.tw/var/file/0/1000/img/1583/366369593.jpg), linked from its [official website](https://www.utaipei.edu.tw/) |
| `ubo-open-factory.png` | [UBO Open Factory logo](https://www.univ-brest.fr/ubo-open-factory/sites/ubo-open-factory.www.univ-brest.fr/files/2023-10/logo-ubo-open-factory.png), linked from its [official website](https://www.univ-brest.fr/ubo-open-factory/fr) |
All nine files are tightly cropped RGBA PNGs with actual transparent pixels, All nine files are tightly cropped RGBA PNGs with actual transparent pixels,
not just an alpha channel containing an opaque white background. Existing alpha not just an alpha channel containing an opaque white background. Existing alpha

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -88,7 +88,8 @@
{ {
\int_set:Nn \l__slides_partner_count_int \int_set:Nn \l__slides_partner_count_int
{ \seq_count:N \l__slides_partner_files_seq } { \seq_count:N \l__slides_partner_files_seq }
\dim_set:Nn \l__slides_partner_width_dim {\linewidth} % Keep a margin on the left so a full grid stays clear of the affiliations.
\dim_set:Nn \l__slides_partner_width_dim {.82\linewidth}
\dim_set:Nn \l__slides_partner_maxheight_dim {.24\paperheight} \dim_set:Nn \l__slides_partner_maxheight_dim {.24\paperheight}
\dim_set:Nn \l__slides_partner_xgap_dim \dim_set:Nn \l__slides_partner_xgap_dim
{ \fp_to_dim:n {min(.04 * \dim_to_fp:n {\linewidth}, { \fp_to_dim:n {min(.04 * \dim_to_fp:n {\linewidth},
@@ -153,7 +154,7 @@
{ {
\int_compare:nNnT {##1} > {1} \int_compare:nNnT {##1} > {1}
{ \vskip \l__slides_partner_ygap_dim } { \vskip \l__slides_partner_ygap_dim }
\hbox_to_wd:nn {\l__slides_partner_width_dim} \hbox_to_wd:nn {\linewidth}
{ {
\hfil \hfil
\int_step_inline:nnn {##1} \int_step_inline:nnn {##1}

View File

@@ -1,6 +1,6 @@
\ProvidesClass{slides}[27/01/2025 v1] \ProvidesClass{slides}[27/01/2025 v1]
\PassOptionsToPackage{dvipsnames}{xcolor} \PassOptionsToPackage{dvipsnames, table}{xcolor}
\PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{naturalnames}{hyperref} \PassOptionsToPackage{naturalnames}{hyperref}
\LoadClass[aspectratio=169,10pt]{beamer} \LoadClass[aspectratio=169,10pt]{beamer}
@@ -55,6 +55,8 @@
% captions % captions
\RequirePackage{caption} \RequirePackage{caption}
\captionsetup{font=scriptsize,labelfont=scriptsize} \captionsetup{font=scriptsize,labelfont=scriptsize}
% do not prepend "Figure X:" in captions
\captionsetup[figure]{labelformat=empty}
% beamer theme % beamer theme
\usetheme{moloch} \usetheme{moloch}
@@ -124,35 +126,18 @@
\newcommand{\cmark}{{\color{YellowGreen}\ding{51}}} \newcommand{\cmark}{{\color{YellowGreen}\ding{51}}}
\newcommand{\xmark}{{\color{BrickRed}\ding{55}}} \newcommand{\xmark}{{\color{BrickRed}\ding{55}}}
\newcommand{\imark}{{\color{Orange}\ding{109}}} \newcommand{\imark}{{\color{Orange}\ding{109}}}
% pills % status pills: \TODO, \TODO{text}, likewise \FIXME and \DONE
\RequirePackage{xparse} \RequirePackage{xparse} % for the optional {text} argument
\NewDocumentCommand{\DONE}{g}{% \RequirePackage{xspace}
\IfNoValueTF{#1}{% \NewDocumentCommand{\pill}{m m m g}{%
\CircledParamOpts{inner color=black, outer color=LimeGreen, fill color=LimeGreen} \CircledParamOpts{inner color=#1, outer color=#2, fill color=#2}{1}{%
{1}{\textbf{DONE}}% \textbf{#3}\IfValueT{#4}{ \textbf{--} #4}%
}{%
\CircledParamOpts{inner color=black, outer color=LimeGreen, fill color=LimeGreen}
{1}{\textbf{DONE --} #1}%
}%
}
\NewDocumentCommand{\TODO}{g}{%
\IfNoValueTF{#1}{%
\CircledParamOpts{inner color=black, outer color=Goldenrod, fill color=Goldenrod}
{1}{\textbf{TODO}}%
}{%
\CircledParamOpts{inner color=black, outer color=Goldenrod, fill color=Goldenrod}
{1}{\textbf{TODO --} #1}%
}%
}
\NewDocumentCommand{\FIXME}{g}{%
\IfNoValueTF{#1}{%
\CircledParamOpts{inner color=white, outer color=Red, fill color=Red}
{1}{\textbf{FIXME}}%
}{%
\CircledParamOpts{inner color=white, outer color=Red, fill color=Red}
{1}{\textbf{FIXME --} #1}%
}% }%
\IfNoValueT{#4}{\xspace}% keep the space in "\TODO bla"
} }
\newcommand{\DONE}{\pill{black}{LimeGreen}{DONE}}
\newcommand{\TODO}{\pill{black}{Goldenrod}{TODO}}
\newcommand{\FIXME}{\pill{white}{Red}{FIXME}}
% custom font size for a slide (cf. https://tex.stackexchange.com/a/401409) % custom font size for a slide (cf. https://tex.stackexchange.com/a/401409)
\RequirePackage{environ} \RequirePackage{environ}
\newcommand{\customframefont}[1]{ \newcommand{\customframefont}[1]{
@@ -173,17 +158,25 @@
\RequirePackage{slides-partners} \RequirePackage{slides-partners}
\RequirePackage{subcaption} \RequirePackage{subcaption}
% tables % tables
\RequirePackage{array}
\RequirePackage{tabularx} \RequirePackage{tabularx}
\RequirePackage{booktabs} \RequirePackage{booktabs}
% various tabular columns with text wrapping % various tabular columns with text wrapping
\newcolumntype{L}{>{\arraybackslash}m{\linewidth}} \newcolumntype{F}{>{\arraybackslash}m{\linewidth}}
\newcolumntype{M}{>{\centering\arraybackslash}m{0.33\linewidth}} \newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{Y}{>{\centering\arraybackslash}m{0.15\linewidth}} \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{y}{>{\arraybackslash}m{0.15\linewidth}} \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}m{#1}}
% generic horizontally centered column with line breaks % avoid spacing between rules and row background
\newcolumntype{Z}{>{\centering\arraybackslash}X} \setlength{\abovetopsep}{0pt}
\setlength{\belowrulesep}{0pt}
\setlength{\aboverulesep}{0pt}
\setlength{\belowbottomsep}{0pt}
% vertical row padding
\renewcommand{\arraystretch}{1.5} % scales vertical row spacing
% vertical centering of text in all tabularx columns % vertical centering of text in all tabularx columns
\renewcommand\tabularxcolumn[1]{m{#1}} \renewcommand\tabularxcolumn[1]{m{#1}}
% alternate row color
\definecolor{rowgray}{gray}{0.94}
% links % links
\RequirePackage{hyperref} \RequirePackage{hyperref}
\hypersetup{ \hypersetup{
@@ -202,8 +195,10 @@
\setbeamertemplate{title page}{ \setbeamertemplate{title page}{
% Use the theme's margins rather than a full-paper-height box, which placed % Use the theme's margins rather than a full-paper-height box, which placed
% the footer almost on the page edge. Stretch only the space above the footer. % the footer almost on the page edge. Stretch only the space above the footer.
% If the content is too tall, shrink the top space so the footer keeps its
% bottom margin and the title moves up instead.
\begin{minipage}[t][\dimexpr\paperheight-2\beamer@leftmargin\relax][s]{\textwidth} \begin{minipage}[t][\dimexpr\paperheight-2\beamer@leftmargin\relax][s]{\textwidth}
\vspace*{.04\paperheight} \vspace*{\dimexpr .04\paperheight\relax minus 1fill}
\ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi \ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi
\ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi \ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi
\vspace{.2cm} \vspace{.2cm}
@@ -217,7 +212,7 @@
\column{0.44\linewidth} \column{0.44\linewidth}
\insertpartnerlogos \insertpartnerlogos
\end{columns} \end{columns}
\vspace*{.02\paperheight} \vspace*{0pt}
\end{minipage} \end{minipage}
} }
\makeatother \makeatother

View File

@@ -10,14 +10,17 @@
\partner{ubo} \partner{ubo}
\partner{ensta} \partner{ensta}
% \partner{ifremer} % \partner{ifremer}
% \partner{lip6} \partner{lip6}
% \partner{sorbonne} \partner{sorbonne}
% \partner{academia-sinica} % \partner{academia-sinica}
% \partner{taipei} % \partner{taipei}
% See README.md for supported formats and custom logo paths. % See README.md for supported formats and custom logo paths.
% Optional legacy title graphic (used only when no partners are enabled): % Optional legacy title graphic (used only when no partners are enabled):
% \titlegraphic{\flushright\includegraphics[height=1.3cm]{img/logos.png}\vspace{.5cm}} % \titlegraphic{\flushright\includegraphics[height=1.3cm]{img/logos.png}\vspace{.5cm}}
% Keep author and institute blocks plain: table or flushleft wrappers add
% vertical space, which pushes the title up and misaligns the affiliations
% with the partner logos.
\author{ \author{
\texorpdfstring{ \texorpdfstring{
\begin{tabular}{@{}l@{}} \begin{tabular}{@{}l@{}}
@@ -65,7 +68,7 @@
} }
\begin{framefont}{\small} \begin{framefont}{\small}
\begin{frame}[t]{Plan de la présentation} \begin{frame}[t]{Plan de la présentation}
\begin{columns} \begin{columns}
\column{0.5\textwidth} \column{0.5\textwidth}
\tableofcontents[hideallsubsections] \tableofcontents[hideallsubsections]
@@ -75,7 +78,7 @@
\includegraphics[width=0.9\columnwidth]{img/logos.png} \includegraphics[width=0.9\columnwidth]{img/logos.png}
\end{center} \end{center}
\end{columns} \end{columns}
\end{frame} \end{frame}
\end{framefont} \end{framefont}
\section{Contexte} \section{Contexte}
@@ -91,11 +94,48 @@
\end{center} \end{center}
\end{columns} \end{columns}
\TODO{bla}
\FIXME bla
\DONE
\addtocounter{footnote}{1} \addtocounter{footnote}{1}
\footnotetext{\fullcite{herofake}} \footnotetext{\fullcite{herofake}}
\end{frame} \end{frame}
\begin{frame}{...}
\begin{table}[ht]
\centering
\begin{tabular}{L{2cm} C{2.2cm} C{3.8cm} C{3.8cm}}
\toprule
\textbf{X} &
\textbf{Y} &
\textbf{\Circled{+}} &
\textbf{\Circled{-}} \\
\midrule
\rowcolor{rowgray}
\textbf{ABC}
& foo
& bar
& baz \\
\textbf{DEF}
& ?
& !
& mmh... \\
\rowcolor{rowgray}
\textbf{XYZ}
& \cmark
& \xmark
& \imark \\
\bottomrule
\end{tabular}
\end{table}
\end{frame}
\begin{frame}[standout] \begin{frame}[standout]
Merci de votre attention. Merci de votre attention.