template with QRS casse couilles de merde qui peuvent pas suivre IEEE comme tout le monde

This commit is contained in:
Arthur Grisel-Davy 2023-06-25 17:14:14 -04:00
parent f12b3d6d76
commit 31819bb3f4
2 changed files with 96 additions and 72 deletions

View file

@ -9,18 +9,18 @@
], ],
authors: ( authors: (
( (
name: "Arthur Grisel-Davy", name: "Arthur Grisel-Davy*",
department: "Electrical and Computer Engineering", department: "Electrical and Computer Engineering",
organization: "University of Waterloo", organization: "University of Waterloo",
location: [Waterloo, Canada], location: "Waterloo, Canada",
email: "agriseld@uwaterloo.ca" email: "agriseld@uwaterloo.ca",
), ),
( (
name: "Sebastian Fischmeister", name: "Sebastian Fischmeister",
department: "Electrical and Computer Engineering", department: "",
organization: "University of Waterloo", organization: "",
location: [Waterloo, Canada], location: "",
email: "sfischme@uwaterloo.ca" email: "sfischme@uwaterloo.ca",
), ),
), ),
index-terms: (), index-terms: (),

View file

@ -1,5 +1,18 @@
// This function gets your whole document as its `body` and formats // This function gets your whole document as its `body` and formats
// it as an article in the style of the IEEE. // it as an article in the style of the IEEE.
// CHANGES MADE TO COMPLY WITH QRS
// Font changed from STIX TWO Text to Times New Roman
// Gutter changed from 12 to 18 pt
// Indent on consecutiv par removed
// Changed x margin to 0.75in
// Changed y margin to 1in
// Changed heading numbering to 1.1.1
// Changed heading styles
// Change author listing
// Change abstract heading boldness
#let ieee( #let ieee(
// The paper's title. // The paper's title.
title: "Paper Title", title: "Paper Title",
@ -29,7 +42,7 @@
set document(title: title, author: authors.map(author => author.name)) set document(title: title, author: authors.map(author => author.name))
// Set the body font. // Set the body font.
set text(font: "STIX Two Text", size: 10pt) set text(font: "Times New Roman", size: 10pt)
// Configure the page. // Configure the page.
set page( set page(
@ -40,9 +53,11 @@
(x: 41.5pt, top: 80.51pt, bottom: 89.51pt) (x: 41.5pt, top: 80.51pt, bottom: 89.51pt)
} else { } else {
( (
x: (50pt / 216mm) * 100%, x: 0.75in,
top: (55pt / 279mm) * 100%, y: 1in,
bottom: (64pt / 279mm) * 100%, //x: (50pt / 216mm) * 100%,
//top: (55pt / 279mm) * 100%,
//bottom: (64pt / 279mm) * 100%,
) )
} }
) )
@ -56,7 +71,7 @@
set list(indent: 10pt, body-indent: 9pt) set list(indent: 10pt, body-indent: 9pt)
// Configure headings. // Configure headings.
set heading(numbering: "1.1.1") set heading(numbering: "1.")
show heading: it => locate(loc => { show heading: it => locate(loc => {
// Find out the final number of the heading counter. // Find out the final number of the heading counter.
let levels = counter(heading).at(loc) let levels = counter(heading).at(loc)
@ -68,84 +83,93 @@
set text(10pt, weight: 400) set text(10pt, weight: 400)
if it.level == 1 [ if it.level == 1 [
// First-level headings are centered smallcaps.
// We don't want to number of the acknowledgment section.
#let is-ack = it.body in ([Acknowledgment], [Acknowledgement])
#set align(center)
#set text(if is-ack { 10pt } else { 12pt })
#show: smallcaps #show: smallcaps
#v(20pt, weak: true) #v(12pt, weak: true)
#if it.numbering != none and not is-ack { #it
numbering("I.", deepest) #v(12pt, weak: true)
h(7pt, weak: true) ] else if it.level >= 2 [
}
#it.body
#v(13.75pt, weak: true)
] else if it.level == 2 [
// Second-level headings are run-ins. // Second-level headings are run-ins.
#set par(first-line-indent: 0pt) #set par(first-line-indent: 0pt)
#set text(style: "italic") //#set text(style: "italic")
#v(10pt, weak: true) #v(10pt, weak: true)
#if it.numbering != none { #it
numbering("A.", deepest)
h(7pt, weak: true)
}
#it.body
#v(10pt, weak: true) #v(10pt, weak: true)
] else [
// Third level headings are run-ins too, but different.
#if it.level == 3 {
numbering("1)", deepest)
[ ]
}
_#(it.body):_
] ]
}) })
// Display the paper's title. // Display the paper's title.
v(3pt, weak: true) //v(3pt, weak: true)
align(center, text(18pt, title)) align(center, text(weight: "bold", size: 14pt, title))
v(8.35mm, weak: true) v(10pt, weak: true)
// Make author list
// Start with names
set align(center)
let nbr_authors = authors.len()
for (i,author) in authors.enumerate(){
if i+1 == nbr_authors{
[#author.name\ ]
}else{
[#author.name, ]
}
}
// Continue with affiliations
for author in authors{
if author.department+author.organization+author.location != ""{
[#author.department, #author.organization, #author.location\ ]
}
}
// Continue with the emails, same way as for authors
for (i,author) in authors.enumerate(){
if i+1 == nbr_authors{
[#author.email\ ]
}else{
[#author.email, ]
}
}
[\*Corresponding author]
set align(left)
// Display the authors list. // Display the authors list.
for i in range(calc.ceil(authors.len() / 3)) { //for i in range(calc.ceil(authors.len() / 3)) {
let end = calc.min((i + 1) * 3, authors.len()) // let end = calc.min((i + 1) * 3, authors.len())
let is-last = authors.len() == end // let is-last = authors.len() == end
let slice = authors.slice(i * 3, end) // let slice = authors.slice(i * 3, end)
grid( // grid(
columns: slice.len() * (1fr,), // columns: slice.len() * (1fr,),
gutter: 12pt, // gutter: 12pt,
..slice.map(author => align(center, { // ..slice.map(author => align(center, {
text(12pt, author.name) // text(12pt, author.name)
if "department" in author [ // if "department" in author [
\ #emph(author.department) // \ #emph(author.department)
] // ]
if "organization" in author [ // if "organization" in author [
\ #emph(author.organization) // \ #emph(author.organization)
] // ]
if "location" in author [ // if "location" in author [
\ #author.location // \ #author.location
] // ]
if "email" in author [ // if "email" in author [
\ #link("mailto:" + author.email) // \ #link("mailto:" + author.email)
] // ]
})) // }))
) // )
if not is-last { // if not is-last {
v(16pt, weak: true) // v(16pt, weak: true)
} // }
} //}
v(40pt, weak: true) v(40pt, weak: true)
// Start two column mode and configure paragraph properties. // Start two column mode and configure paragraph properties.
show: columns.with(2, gutter: 12pt) show: columns.with(2, gutter: 18pt)
set par(justify: true, first-line-indent: 1em) set par(justify: true, first-line-indent: 0pt)
show par: set block(spacing: 0.65em) show par: set block(spacing: 0.65em)
// Display abstract and index terms. // Display abstract and index terms.
if abstract != none [ if abstract != none [
#set text(weight: 700) #set text(weight: "regular")
#h(1em) _Abstract_---#abstract #h(1em) _Abstract_---#abstract
#if index-terms != () [ #if index-terms != () [
@ -159,7 +183,7 @@
// Display bibliography. // Display bibliography.
if bibliography-file != none { if bibliography-file != none {
show bibliography: set text(8pt) show bibliography: set text(9pt)
bibliography(bibliography-file, title: text(10pt)[References], style: "ieee") bibliography(bibliography-file, title: text(10pt)[References], style: "ieee")
} }
} }