Skip to content

Commit ad08f30

Browse files
authored
charged-vde:1.0.0 (typst#3137)
1 parent 024cc55 commit ad08f30

File tree

9 files changed

+285
-0
lines changed

9 files changed

+285
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
MIT No Attribution
2+
3+
Copyright 2025 Prof. Dr. Matthias Jung
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this
6+
software and associated documentation files (the "Software"), to deal in the Software
7+
without restriction, including without limitation the rights to use, copy, modify,
8+
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
9+
permit persons to whom the Software is furnished to do so.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
12+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
14+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
15+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
16+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Inofficial VDE Template "charged-vde"
2+
This is an unofficial Typst template for a two-column paper from the proceedings
3+
of the german VDE. The word template can be found
4+
[here](https://www.vde-verlag.de/buecher/proceedings/schreibanleitungen.html).
5+
6+
## Usage
7+
You can use this template in the Typst web app by clicking "Start from template"
8+
on the dashboard and searching for `charged-vde`.
9+
10+
Alternatively, you can use the CLI to kick this project off using the command
11+
```
12+
typst init @preview/charged-vde
13+
```
14+
15+
Typst will create a new directory with all the files needed to get you started.
16+
17+
## Configuration
18+
This template exports the `vde` function with the following named arguments:
19+
20+
- `title`: The paper's title as content.
21+
- `authors`: An array of author dictionaries. Each of the author dictionaries
22+
must have a `name` key and an affiliation id,
23+
- `affiliations`: Here the affiliations can be named.
24+
- `emails`: Here the emails of the corresponding author(s) can be listed
25+
- `lang`: Specify the language, either `en` for English or `de` for German.
26+
- `abstract`: The abstract of the paper will be pasted here.
27+
28+
The body of the paper comes after the `#show` statement in normal typst syntax.
29+
30+
```typ
31+
#import "@preview/charged-vde:1.0.0": charged-vde
32+
33+
#show: charged-vde.with(
34+
title: [Test],
35+
authors: (
36+
(name: "Max Mustermann", affiliation: "1"),
37+
(name: "Erika Musterfrau", affiliation: "1,2")
38+
),
39+
affiliations: (
40+
(id: "1", name: "University"),
41+
(id: "2", name: "Company")
42+
),
43+
email: [{max,erika}\@university.de, erika\@company.de],
44+
lang: "en",
45+
abstract: [#lorem(100)],
46+
)
47+
48+
// Your content goes below.
49+
50+
= Introduction <intro>
51+
#lorem(150)
52+
53+
#bibliography("library.bib")
54+
55+
```
56+
57+
# License
58+
The Typst package and the example template, including `image.jpg`, are licensed
59+
under the "MIT No Attribution" (MIT-0) License.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[conf]
2+
default-lang = "en"
3+
4+
[lang.en]
5+
abstract = "Abstract"
6+
7+
[lang.de]
8+
abstract = "Zusammenfassung"
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
#import "@preview/linguify:0.4.2": *
2+
3+
#let charged-vde(
4+
title: "Title",
5+
authors: "Authors",
6+
affiliations: "Affiliation",
7+
email: "Email",
8+
abstract: "Abstract",
9+
lang: "en",
10+
doc
11+
) = {
12+
13+
set page(
14+
paper: "a4",
15+
margin: (
16+
top: 2cm,
17+
left: 2cm,
18+
right: 2cm,
19+
bottom: 2.5cm,
20+
),
21+
)
22+
23+
set columns(gutter: 16pt)
24+
25+
set text(
26+
font: "Times New Roman",
27+
size: 10pt,
28+
lang: lang,
29+
hyphenate: auto,
30+
spacing: .22em // Distance between letters
31+
)
32+
33+
set par(
34+
first-line-indent: 0pt,
35+
justify: true,
36+
linebreaks: "optimized",
37+
leading: 0.55em,
38+
spacing: 1em
39+
)
40+
41+
// Language:
42+
let lang-data = toml("lang.toml")
43+
set-database(lang-data)
44+
45+
// Bibliography:
46+
set bibliography(style: "ieee")
47+
48+
// Headings:
49+
set heading(
50+
numbering: "1.1.1",
51+
hanging-indent: 2em
52+
)
53+
show heading.where(level: 1): set text(size: 14pt)
54+
show heading.where(level: 2): set text(size: 12pt)
55+
show heading.where(level: 3): set text(size: 10pt)
56+
57+
show heading: set block(below: 1.2em)
58+
show heading: it => if it.numbering == none { it } else { block(counter(heading).display(it.numbering) + h(1.5em) + it.body) }
59+
60+
show selector(<nonumber>): set heading(numbering: none)
61+
62+
// Tables:
63+
show table: set par(justify: false)
64+
show table.cell.where(y: 0): strong
65+
set table(
66+
stroke: (x, y) => {
67+
(top: 0.7pt + black)
68+
(bottom: 0.7pt + black)
69+
},
70+
align: (x, y) => (
71+
if x > 0 { center }
72+
else { left }
73+
)
74+
)
75+
76+
// Header and Document:
77+
text(size: 16pt, weight: "bold", title)
78+
v(0pt)
79+
linebreak()
80+
for (author) in (authors) {
81+
author.name + super[#author.affiliation] + if author != authors.last() { ", " } else { "" }
82+
}
83+
linebreak()
84+
for(affiliation) in (affiliations) {
85+
[#affiliation.id:] + " " + affiliation.name + if affiliation != affiliations.last() { ", " } else { "" }
86+
}
87+
linebreak()
88+
email
89+
[
90+
#v(0.5cm)
91+
92+
#heading(numbering: none, linguify("abstract"))
93+
94+
#abstract
95+
96+
#v(0.75cm)
97+
98+
#columns(2,doc)
99+
]
100+
}
513 KB
Loading
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
@article{henpat_19,
2+
title = {A New Golden Age for Computer Architecture},
3+
author = {Hennessy, John L. and Patterson, David A.},
4+
year = {2019},
5+
month = jan,
6+
journal = {Communications of The ACM},
7+
volume = {62},
8+
number = {2},
9+
pages = {48--60},
10+
publisher = {Association for Computing Machinery},
11+
address = {New York, NY, USA},
12+
issn = {0001-0782},
13+
doi = {10.1145/3282307},
14+
abstract = {Innovations like domain-specific hardware, enhanced security, open instruction sets, and agile chip development will lead the way.},
15+
issue_date = {February 2019},
16+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
#import "@preview/charged-vde:1.0.0": charged-vde
2+
3+
#show: charged-vde.with(
4+
title: [Test],
5+
authors: (
6+
(name: "Max Mustermann", affiliation: "1"),
7+
(name: "Erika Musterfrau", affiliation: "1,2")
8+
),
9+
affiliations: (
10+
(id: "1", name: "University"),
11+
(id: "2", name: "Company")
12+
),
13+
email: [{max,erika}\@university.de, erika\@company.de],
14+
lang: "en",
15+
abstract: [#lorem(100)],
16+
)
17+
18+
= Introduction <intro>
19+
#lorem(150)
20+
21+
== Subsection
22+
23+
In @intro we discussed already a lot. #lorem(150)
24+
25+
= Tables
26+
27+
@tab shows a table
28+
#lorem(150)
29+
30+
#figure(
31+
table(
32+
columns: 3,
33+
table.header(
34+
[Substance],
35+
[Subcritical °C],
36+
[Supercritical °C],
37+
),
38+
[Hydrochloric Acid],
39+
[12.0], [92.1],
40+
[Sodium Myreth Sulfate],
41+
[16.6], [104],
42+
[Potassium Hydroxide],
43+
table.cell(colspan: 2)[24.7],
44+
),
45+
caption: [Caption],
46+
placement: top
47+
) <tab>
48+
49+
== Subsection
50+
#lorem(200)
51+
=== Subsubsection
52+
#lorem(100)
53+
=== Subsubsection
54+
#lorem(100)
55+
56+
= Pictures
57+
#lorem(100)
58+
59+
#figure(
60+
image("image.jpg", width: 100%),
61+
caption: [A curious figure.],
62+
placement: top
63+
)
64+
65+
= Acknowledgements <nonumber>
66+
The paper @henpat_19 is a very interesting paper.
67+
#lorem(50)
68+
69+
70+
#bibliography("library.bib")
1 MB
Loading
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[package]
2+
name = "charged-vde"
3+
version = "1.0.0"
4+
entrypoint = "lib.typ"
5+
repository = "https://github.com/CEJMU/vde.typst"
6+
authors = ["Prof. Dr. Matthias Jung, VDE Bayern, University of Würzburg"]
7+
license = "MIT-0"
8+
description = "An inofficial VDE-style paper template to publish at VDE Conferences"
9+
keywords = ["VDE", "Verband der Elektrotechnik Elektronik Informationstechnik e.V."]
10+
categories = ["paper"]
11+
disciplines = ["computer-science", "engineering"]
12+
13+
[template]
14+
path = "template"
15+
entrypoint = "main.typ"
16+
thumbnail = "thumbnail.png"

0 commit comments

Comments
 (0)