pretty sure I accidentally hardcoded edge cases
This commit is contained in:
parent
1f5f70779b
commit
528e1bc5b5
3 changed files with 113 additions and 26 deletions
|
|
@ -65,4 +65,4 @@ Androscalpel can be found at the following locations:
|
||||||
- https://git.mineau.eu/these-android-re/androscalpel
|
- https://git.mineau.eu/these-android-re/androscalpel
|
||||||
- https://github.com/histausse/androscalpel
|
- https://github.com/histausse/androscalpel
|
||||||
|
|
||||||
The dataset, results of the dynamic analysis and results of benchmark before and after the instrumentations with Theseus are available on Zenodo (link to appear)
|
The dataset, results of the dynamic analysis and results of benchmark before and after the instrumentations with Theseus are available on Zenodo at https://doi.org/10.5281/zenodo.17350991.
|
||||||
|
|
|
||||||
69
slides.typ
69
slides.typ
|
|
@ -49,16 +49,70 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
#slide(
|
#slide(new-sec: true, title: [Introduction], hide-title: true)[
|
||||||
title: [Test],
|
Intro 1
|
||||||
subtitle: [Test Slide],
|
|
||||||
)[
|
]
|
||||||
|
|
||||||
|
#slide[
|
||||||
|
Intro 2
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
#new-section-slide([Tool Reusability])
|
||||||
|
|
||||||
|
#slide[
|
||||||
|
Rasta 1
|
||||||
|
/*
|
||||||
#stack(dir: ltr,
|
#stack(dir: ltr,
|
||||||
scale(40%, reflow: true, get_figure(<tab:rasta-tools>)),
|
scale(40%, reflow: true, get_figure(<tab:rasta-tools>)),
|
||||||
scale(55%, reflow: true, get_figure(<tab:rasta-sources>)),
|
scale(55%, reflow: true, get_figure(<tab:rasta-sources>)),
|
||||||
)
|
)*/
|
||||||
]
|
]
|
||||||
|
|
||||||
|
#slide[
|
||||||
|
Rasta 2
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
#new-section-slide([Class Shadowing])
|
||||||
|
|
||||||
|
#slide[Shadow 1
|
||||||
|
|
||||||
|
]
|
||||||
|
#slide[Shadow 2
|
||||||
|
|
||||||
|
]
|
||||||
|
#slide[Shadow 3
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
#new-section-slide([The Application of Theseus])
|
||||||
|
|
||||||
|
#slide[Th 1
|
||||||
|
|
||||||
|
]
|
||||||
|
#slide[Th 2
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
#new-section-slide([Conclusion])
|
||||||
|
|
||||||
|
#slide[Conclusion 1
|
||||||
|
|
||||||
|
]
|
||||||
|
#slide[Conclusion 2
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
#empty-slide[
|
||||||
|
Questions
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
#slide()[
|
#slide()[
|
||||||
#get_figure(<fig:th-cg-before-after>))
|
#get_figure(<fig:th-cg-before-after>))
|
||||||
]
|
]
|
||||||
|
|
@ -80,7 +134,6 @@
|
||||||
// #toc-slide( title: [Outline] )
|
// #toc-slide( title: [Outline] )
|
||||||
|
|
||||||
|
|
||||||
#new-section-slide([First section])
|
|
||||||
|
|
||||||
#slide(
|
#slide(
|
||||||
title: [A slide without subtitle],
|
title: [A slide without subtitle],
|
||||||
|
|
@ -120,7 +173,7 @@
|
||||||
#empty-slide()[
|
#empty-slide()[
|
||||||
Ending slide
|
Ending slide
|
||||||
]
|
]
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -135,4 +188,6 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
#set page(height: auto, margin: 25mm)
|
||||||
#bibliography("bibliography.bib")
|
#bibliography("bibliography.bib")
|
||||||
|
|
|
||||||
|
|
@ -123,11 +123,25 @@ cmyk(25%,7%,0%,0%),
|
||||||
sns-polylux-template_date.update(date)
|
sns-polylux-template_date.update(date)
|
||||||
|
|
||||||
body
|
body
|
||||||
|
|
||||||
|
context {
|
||||||
|
//let section-pages = sns-polylux-template_section-pages.final()
|
||||||
|
if not "END" in sns-polylux-template_section-pages.at(here()).keys() {
|
||||||
|
let page_num = counter("logical-slide").at(here())
|
||||||
|
sns-polylux-template_section-pages.update(secpages => {
|
||||||
|
secpages.insert("END", page_num)
|
||||||
|
secpages
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#let register-section(title) = context {
|
#let register-section(title, no_dedicated_slide: false) = context {
|
||||||
// YUCKKKKK, but polylux don't allows access to integers soooooo
|
// YUCKKKKK, but polylux don't allows access to integers soooooo
|
||||||
let page_num = counter("logical-slide").at(here()) //sns-polylux-template_slide-pages.at(here())
|
let page_num = counter("logical-slide").at(here()) //sns-polylux-template_slide-pages.at(here())
|
||||||
|
if no_dedicated_slide {
|
||||||
|
page_num.at(0) += 1
|
||||||
|
}
|
||||||
sns-polylux-template_section-pages.update(secpages => {
|
sns-polylux-template_section-pages.update(secpages => {
|
||||||
secpages.insert(repr(title), page_num)
|
secpages.insert(repr(title), page_num)
|
||||||
secpages
|
secpages
|
||||||
|
|
@ -267,35 +281,52 @@ cmyk(25%,7%,0%,0%),
|
||||||
|
|
||||||
#let sections() = context {
|
#let sections() = context {
|
||||||
let section-pages = sns-polylux-template_section-pages.final()
|
let section-pages = sns-polylux-template_section-pages.final()
|
||||||
let pnum = counter("logical-slide").at(here()).first()
|
let pnum = counter("logical-slide").at(here()).first() + 1
|
||||||
pl.toolbox.all-sections((sections, current) => {
|
pl.toolbox.all-sections((sections, current) => {
|
||||||
let pnum_i = 0
|
let beg-end-section = (:)
|
||||||
|
let prev-sec = none
|
||||||
|
for section in sections {
|
||||||
|
let s = repr(section.at("body"))
|
||||||
|
if prev-sec != none {
|
||||||
|
beg-end-section.insert(prev-sec, (section-pages.at(prev-sec).first(), section-pages.at(s).first()))
|
||||||
|
}
|
||||||
|
prev-sec = s
|
||||||
|
}
|
||||||
|
if prev-sec != none {
|
||||||
|
beg-end-section.insert(prev-sec, (section-pages.at(prev-sec).first(), section-pages.at("END").first() + 1))
|
||||||
|
}
|
||||||
|
|
||||||
let section_names = ()
|
let section_names = ()
|
||||||
let section_pages = ()
|
let section_pages = ()
|
||||||
for s in sections {
|
for s in sections {
|
||||||
let pages = ()
|
let pages = ()
|
||||||
let pnum_max = section-pages.at(repr(s.at("body"))).first()
|
let (pmin, pmax) = beg-end-section.at(repr(s.at("body")))
|
||||||
while pnum_i < pnum_max and pnum_i < pnum - 1 {
|
|
||||||
|
let p_i = pmin
|
||||||
|
while p_i < pmax and p_i < pnum {
|
||||||
|
// In section, before current page
|
||||||
pages.push(sym.circle.filled)
|
pages.push(sym.circle.filled)
|
||||||
pnum_i += 1
|
p_i += 1
|
||||||
}
|
}
|
||||||
if pnum_i == pnum {
|
if p_i == pnum and p_i != pmax {
|
||||||
|
// In section, current page
|
||||||
pages.push(sym.ast.circle)
|
pages.push(sym.ast.circle)
|
||||||
pnum_i += 1
|
p_i += 1
|
||||||
}
|
}
|
||||||
while pnum_i < pnum_max {
|
while p_i < pmax {
|
||||||
|
// In section, after current page
|
||||||
pages.push(sym.circle.dotted)
|
pages.push(sym.circle.dotted)
|
||||||
pnum_i += 1
|
p_i += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
//section_names.push(scale(50%, reflow: true, [#pnum #s (#pmin, #pmax)]))
|
||||||
if s == current {
|
if s == current {
|
||||||
strong(s + " " + str(pnum))
|
section_names.push(strong(s))
|
||||||
|
section_pages.push(strong(pages.join([])))
|
||||||
} else {
|
} else {
|
||||||
s + " " + str(pnum)
|
section_names.push(s)
|
||||||
}*/
|
section_pages.push(pages.join([]))
|
||||||
section_names.push(s)
|
}
|
||||||
section_pages.push(pages.join([]))
|
|
||||||
}
|
}
|
||||||
grid(
|
grid(
|
||||||
columns: (auto,)*section_names.len(),
|
columns: (auto,)*section_names.len(),
|
||||||
|
|
@ -340,6 +371,7 @@ cmyk(25%,7%,0%,0%),
|
||||||
new-sec : false,
|
new-sec : false,
|
||||||
page-number : true,
|
page-number : true,
|
||||||
hide-section : false,
|
hide-section : false,
|
||||||
|
hide-title : false,
|
||||||
body
|
body
|
||||||
) = context( {
|
) = context( {
|
||||||
let sections_height = 1.5cm
|
let sections_height = 1.5cm
|
||||||
|
|
@ -355,7 +387,7 @@ cmyk(25%,7%,0%,0%),
|
||||||
// Else the new-sec name is new-sec
|
// Else the new-sec name is new-sec
|
||||||
if type(new-sec)==bool {
|
if type(new-sec)==bool {
|
||||||
if new-sec {
|
if new-sec {
|
||||||
register-section(title)
|
register-section(title, no_dedicated_slide: true)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
register-section(new-sec)
|
register-section(new-sec)
|
||||||
|
|
@ -379,7 +411,7 @@ cmyk(25%,7%,0%,0%),
|
||||||
}))
|
}))
|
||||||
),
|
),
|
||||||
grid.cell(colspan: columns.len(), progress-bar()),
|
grid.cell(colspan: columns.len(), progress-bar()),
|
||||||
if title != none {
|
if title != none and not hide-title {
|
||||||
rect(
|
rect(
|
||||||
width: 100%, height: title_bar_height,
|
width: 100%, height: title_bar_height,
|
||||||
inset: 0.8cm, outset: 0pt,
|
inset: 0.8cm, outset: 0pt,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue