This commit is contained in:
parent
033656e159
commit
1f5f70779b
11 changed files with 801 additions and 21 deletions
132
slides.typ
132
slides.typ
|
@ -1,3 +1,6 @@
|
|||
#import "@preview/polylux:0.4.0": *
|
||||
#import "slides/lib.typ": *
|
||||
|
||||
#show link: it => if type(it.dest) == label {
|
||||
context {
|
||||
if query(it.dest).len() == 0 {
|
||||
|
@ -10,26 +13,117 @@
|
|||
it
|
||||
}
|
||||
|
||||
#let get_figures(body) = {
|
||||
if type(body) == array {
|
||||
body.map(get_figures).flatten()
|
||||
} else if type(body) == dictionary {
|
||||
body.values().map(get_figures).flatten()
|
||||
} else if type(body) != content {
|
||||
()
|
||||
}else if body.func() == figure {
|
||||
(body,)
|
||||
} else {
|
||||
body.fields().values().map(get_figures).flatten()
|
||||
}
|
||||
}
|
||||
#set text(lang: "en")
|
||||
#show: sns-polylux-template.with(
|
||||
txt-font: "New Computer Modern",
|
||||
title-font: "TeX Gyre Heros",
|
||||
aspect-ratio : "16-9",
|
||||
title : [From Large Scale Analysis to Dynamic Deobfuscation],
|
||||
subtitle : [The Woes of Android Reverse Engineering],
|
||||
event : [], //[PhD Defense],
|
||||
short-title : [], //[PhD Defense],
|
||||
//short-event : [Rennes, 2025/12/9],
|
||||
title-size : 32pt,
|
||||
//logo-1 : image("slides/imgs/logo_irisa.png"),
|
||||
//logo-2 : image("slides/imgs/logo_pirat.png"),
|
||||
//
|
||||
colormap : sns-polylux-template_sns-pirat,
|
||||
authors : (
|
||||
{
|
||||
set text(weight: "bold")
|
||||
[MINEAU Jean-Marie]
|
||||
v(1em)
|
||||
},
|
||||
[LALANDE Jean-François, PhD supervisor],
|
||||
[VIET TRIEM TONG Valérie, PhD co-supervisor]
|
||||
),
|
||||
date : datetime(year: 2025, month: 12, day: 9),
|
||||
)
|
||||
|
||||
#title-slide(
|
||||
logo: grid(columns: 2,
|
||||
image("slides/imgs/logo_pirat.png"),
|
||||
image(width: 500pt, "slides/imgs/logo_cs.png"),
|
||||
image("slides/imgs/logo_irisa.png"),
|
||||
image("slides/imgs/platypus.png"),
|
||||
)
|
||||
)
|
||||
|
||||
#slide(
|
||||
title: [Test],
|
||||
subtitle: [Test Slide],
|
||||
)[
|
||||
#stack(dir: ltr,
|
||||
scale(40%, reflow: true, get_figure(<tab:rasta-tools>)),
|
||||
scale(55%, reflow: true, get_figure(<tab:rasta-sources>)),
|
||||
)
|
||||
]
|
||||
|
||||
#slide()[
|
||||
#get_figure(<fig:th-cg-before-after>))
|
||||
]
|
||||
|
||||
#slide()[
|
||||
/*
|
||||
#pl.toolbox.slide-number
|
||||
#context({
|
||||
pl.toolbox.all-sections((sections, current) => {
|
||||
for i in sections {
|
||||
repr(i.at("body").at("text"))
|
||||
}
|
||||
})
|
||||
})
|
||||
*/
|
||||
#sections()
|
||||
]
|
||||
|
||||
// #toc-slide( title: [Outline] )
|
||||
|
||||
|
||||
#new-section-slide([First section])
|
||||
|
||||
#slide(
|
||||
title: [A slide without subtitle],
|
||||
)[
|
||||
This slide does not have a subtitle, but belongs to the first section.
|
||||
]
|
||||
|
||||
#new-section-slide([Second section])
|
||||
|
||||
#slide(
|
||||
title: [Title],
|
||||
subtitle: [Subtitle],
|
||||
)[
|
||||
plop
|
||||
]
|
||||
|
||||
#slide(
|
||||
subtitle: [Hidden subtitle],
|
||||
)[
|
||||
This slide however does not have a title. It belongs to the second section.
|
||||
]
|
||||
|
||||
#new-section-slide([Third section])
|
||||
|
||||
#focus-slide()[
|
||||
This is a _focus-slide_.
|
||||
]
|
||||
|
||||
#slide(new-sec: true, title: [Fourth section],)[
|
||||
A slide can also open a new section...
|
||||
]
|
||||
|
||||
#focus-slide(new-sec: [Fifth section],)[
|
||||
... and also a focus-slide can do it!
|
||||
]
|
||||
|
||||
#empty-slide()[
|
||||
Ending slide
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
#let main = include("./main.typ")
|
||||
#let figs = get_figures(main)
|
||||
// #repr(figs)
|
||||
#for f in figs {
|
||||
f
|
||||
}
|
||||
|
||||
/*
|
||||
* Notes:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue