use jku master template
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build Typst document / build_typst_documents (push) Successful in 20s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build Typst document / build_typst_documents (push) Successful in 20s
				
			This commit is contained in:
		
							
								
								
									
										17
									
								
								typstalt/glossary.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								typstalt/glossary.typ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
// this is an example. Check https://typst.app/universe/package/glossarium
 | 
			
		||||
 | 
			
		||||
#let glossary = (
 | 
			
		||||
  // minimal term
 | 
			
		||||
  (key: "jku", short: "Johannes Kepler University"),
 | 
			
		||||
  // a term with a long form
 | 
			
		||||
  (key: "goat", short: "GOAT", long: "greatest of all time"),
 | 
			
		||||
  // no long form here
 | 
			
		||||
  (key: "kdecom", short: "KDE Community", desc:"An international team developing and distributing Open Source software."),
 | 
			
		||||
  // a full term with description containing markup
 | 
			
		||||
  (
 | 
			
		||||
    key: "oidc",
 | 
			
		||||
    short: "OIDC",
 | 
			
		||||
    long: "OpenID Connect",
 | 
			
		||||
    desc: [OpenID is an open standard and decentralized authentication protocol promoted by the non-profit
 | 
			
		||||
     #link("https://en.wikipedia.org/wiki/OpenID#OpenID_Foundation")[OpenID Foundation].]),
 | 
			
		||||
)
 | 
			
		||||
@@ -1,5 +1,103 @@
 | 
			
		||||
#import "@preview/springer-spaniel:0.1.0"
 | 
			
		||||
#import springer-spaniel.ctheorems: * // provides "proof", "theorem", "lemma"
 | 
			
		||||
#import "@preview/not-jku-thesis:0.1.0": jku-thesis
 | 
			
		||||
 | 
			
		||||
#import "utils.typ": inwriting, draft, todo, flex-caption, flex-caption-styles
 | 
			
		||||
#import "glossary.typ": glossary
 | 
			
		||||
#import "@preview/glossarium:0.2.6": make-glossary, print-glossary, gls, glspl
 | 
			
		||||
 | 
			
		||||
#show: make-glossary
 | 
			
		||||
#show: flex-caption-styles
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** Drafting
 | 
			
		||||
 | 
			
		||||
  Set the boolean variables `inwriting` and `draft` inside utils.typ.
 | 
			
		||||
 | 
			
		||||
  The "draft" variable is used to show DRAFT in the header and the title. This should be true until the final version is handed-in.
 | 
			
		||||
 | 
			
		||||
  The "inwriting" is used to change the appearance of the document for easier writing. Set to true for yourself but false for handing in a draft or so.
 | 
			
		||||
 | 
			
		||||
**/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// global text settings
 | 
			
		||||
#set text(lang: "en", weight: "regular", font: "Arial", size: 11pt)
 | 
			
		||||
#set text(ligatures: false)
 | 
			
		||||
#set par(leading: 1em, first-line-indent: 0em, justify: true)
 | 
			
		||||
#show par: set block(spacing: 1.5em) // spacing after a paragraph
 | 
			
		||||
#show raw: set text( size: 9pt) // set text for code-blocks (``)
 | 
			
		||||
 | 
			
		||||
#set page(margin: (left: 2.5cm+1cm, // binding correction of 1cm for single sided printing
 | 
			
		||||
                   right: 2.5cm,
 | 
			
		||||
                   y: 2.9cm),
 | 
			
		||||
          // margin: (inside: 2.5cm+1cm, // binding correction of 1cm for double sided printing
 | 
			
		||||
          //          outside: 2.5cm,
 | 
			
		||||
          //          y:2.5cm),
 | 
			
		||||
          // binding: left
 | 
			
		||||
                   )
 | 
			
		||||
 | 
			
		||||
#let date =  datetime.today() // not today: datetime(year: 1969, month: 9, day: 6,)
 | 
			
		||||
#let k-number = "k12104785"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#show: jku-thesis.with(
 | 
			
		||||
  thesis-type: "Bachelor",
 | 
			
		||||
  degree: "Bachelor of Science",
 | 
			
		||||
  program: "Artifical Intelligence Studies",
 | 
			
		||||
  supervisor: "Professor Scharinger Josef",
 | 
			
		||||
  advisors: (), // singular advisor like this: ("Dr. Felix Pawsworth",) and no supervisor: ""
 | 
			
		||||
  department: "Department of Image processing",
 | 
			
		||||
  author: "Lukas Heiligenbrunner",
 | 
			
		||||
  date: date,
 | 
			
		||||
  place-of-submission: "Linz",
 | 
			
		||||
  title: "Few shot learning for anomaly detection",
 | 
			
		||||
  abstract-en: [//max. 250 words
 | 
			
		||||
#lorem(200)  ],
 | 
			
		||||
  abstract-de: none,// or specify the abbstract_de in a container []
 | 
			
		||||
  acknowledgements: [
 | 
			
		||||
 | 
			
		||||
  // TODO
 | 
			
		||||
I would like to extend a huge thank you to Dr. Felina Whiskers, my primary advisor, for her pawsitive support and expert guidance. Without her wisdom and occasional catnip breaks, this thesis might have turned into a hairball of confusion.
 | 
			
		||||
 | 
			
		||||
A special shoutout to Dr. Felix Pawsworth, my co-advisor, for his keen insights and for keeping me from chasing my own tail during this research. Your input was invaluable and much appreciated.
 | 
			
		||||
 | 
			
		||||
To the cat owners, survey respondents, and interviewees—thank you for sharing your feline escapades. Your stories made this research more entertaining than a laser pointer.
 | 
			
		||||
 | 
			
		||||
Lastly, to my family and friends, thank you for tolerating the endless cat puns and my obsession with feline behavior. Your patience and encouragement kept me from becoming a full-time cat herder.
 | 
			
		||||
 | 
			
		||||
To everyone who contributed to this thesis, directly or indirectly, I offer my heartfelt gratitude. You've all made this journey a little less ruff!
 | 
			
		||||
 | 
			
		||||
  ],//acknowledgements: none // if you are self-made
 | 
			
		||||
  show-title-in-header: false,
 | 
			
		||||
  draft: draft,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// set equation and heading numbering
 | 
			
		||||
#set math.equation(numbering: "(1)")
 | 
			
		||||
#set heading(numbering: "1.1")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Set font size
 | 
			
		||||
#show heading.where(level: 3): set text(size: 1.05em)
 | 
			
		||||
#show heading.where(level: 4): set text(size: 1.0em)
 | 
			
		||||
#show figure: set text(size: 0.9em)
 | 
			
		||||
 | 
			
		||||
// Set spacings
 | 
			
		||||
#set table(inset: 6.5pt)
 | 
			
		||||
#show table: set par(justify: false)
 | 
			
		||||
#show figure: it => [#v(1em) #it #v(1em)]
 | 
			
		||||
 | 
			
		||||
#show heading.where(level: 1): set block(above: 1.95em, below: 1em)
 | 
			
		||||
#show heading.where(level: 2): set block(above: 1.85em, below: 1em)
 | 
			
		||||
#show heading.where(level: 3): set block(above: 1.75em, below: 1em)
 | 
			
		||||
#show heading.where(level: 4): set block(above: 1.55em, below: 1em)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Pagebreak after level 1 headings
 | 
			
		||||
#show heading.where(level: 1): it => [
 | 
			
		||||
  #pagebreak(weak: true)
 | 
			
		||||
  #it
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Set citation style
 | 
			
		||||
#set cite(style: "iso-690-author-date") // page info visible
 | 
			
		||||
@@ -8,37 +106,9 @@
 | 
			
		||||
//#set cite(style: "alphanumeric")// page info not visible
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#show: springer-spaniel.template(
 | 
			
		||||
  title: [Few shot learning for anomaly detection Bachelor Thesis for AI],
 | 
			
		||||
  authors: (
 | 
			
		||||
    (
 | 
			
		||||
      name: "Lukas Heiligenbrunner",
 | 
			
		||||
      institute: "Johannes Kepler University",
 | 
			
		||||
      address: "Linz, Austria",
 | 
			
		||||
      email: "lukas.heiligenbrunner@gmail.com"
 | 
			
		||||
    ),
 | 
			
		||||
    // ... and so on
 | 
			
		||||
  ),
 | 
			
		||||
  abstract: lorem(75),
 | 
			
		||||
// Table stroke
 | 
			
		||||
#set table(stroke: 0.5pt + black)
 | 
			
		||||
 | 
			
		||||
  // debug: true, // Highlights structural elements and links
 | 
			
		||||
  // frame: 1pt, // A border around the page for white on white display
 | 
			
		||||
  // printer-test: true, // Suitably placed CMYK printer tests
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
#let date =  datetime.today() // not today: datetime(year: 1969, month: 9, day: 6,)
 | 
			
		||||
#let k-number = "k12345678"
 | 
			
		||||
 | 
			
		||||
// set equation and heading numbering
 | 
			
		||||
#set math.equation(numbering: "(1)")
 | 
			
		||||
#set heading(numbering: "1.1")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Pagebreak after level 1 headings
 | 
			
		||||
#show heading.where(level: 1): it => [
 | 
			
		||||
  #pagebreak(weak: true)
 | 
			
		||||
  #it
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
// show reference targets in brackets
 | 
			
		||||
#show ref: it => {
 | 
			
		||||
@@ -49,6 +119,11 @@
 | 
			
		||||
  } else [#it]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// color links and references for the final document
 | 
			
		||||
// #show link: set text(fill: blue)
 | 
			
		||||
// #show ref: set text(fill: color.olive)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// style table-of-contents
 | 
			
		||||
#show outline.entry.where(
 | 
			
		||||
  level: 1
 | 
			
		||||
@@ -57,6 +132,30 @@
 | 
			
		||||
  strong(it)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Draft Settings //
 | 
			
		||||
#show cite: set text(fill: purple) if inwriting // highlight citations
 | 
			
		||||
#show footnote: set text(fill: purple) if inwriting
 | 
			
		||||
#show ref: set text(fill: purple) if inwriting
 | 
			
		||||
 | 
			
		||||
// Custom Footer //
 | 
			
		||||
#set page(footer: context [
 | 
			
		||||
  #text(size:9pt)[
 | 
			
		||||
    #table(
 | 
			
		||||
      stroke: none,
 | 
			
		||||
      columns:  (1fr, auto, 1fr),
 | 
			
		||||
      align: (left, center, right),
 | 
			
		||||
      inset: 5pt,
 | 
			
		||||
      [#date.display("[month repr:long] [day], [year]")],[#k-number],[#counter(page).display(
 | 
			
		||||
        "1",
 | 
			
		||||
      )],
 | 
			
		||||
 | 
			
		||||
    )
 | 
			
		||||
  ]
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
// ------ Content ------
 | 
			
		||||
 | 
			
		||||
// Table of contents.
 | 
			
		||||
#outline(
 | 
			
		||||
  title: {
 | 
			
		||||
 
 | 
			
		||||
@@ -131,8 +131,3 @@ Equation~$cal(L)(p,q)$~\eqref{eq:crelbinarybatch}\cite{handsonaiI} is the Binary
 | 
			
		||||
== Alternative Methods
 | 
			
		||||
 | 
			
		||||
There are several alternative methods to few-shot learning which are not used in this bachelor thesis.
 | 
			
		||||
 | 
			
		||||
#figure(
 | 
			
		||||
  image("rsc/diagrams/resnet.svg", width: 80%),
 | 
			
		||||
  caption: [Testdiagram],
 | 
			
		||||
) <testdiagram>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								typstalt/utils.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								typstalt/utils.typ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
#let inwriting = false
 | 
			
		||||
#let draft = false
 | 
			
		||||
 | 
			
		||||
#assert(not(inwriting and not(draft)), message: "If inwriting is true, draft should be true as well.")
 | 
			
		||||
 | 
			
		||||
#let todo(it) = [
 | 
			
		||||
  #if inwriting [
 | 
			
		||||
    #text(size: 0.8em)[#emoji.pencil]  #text(it, fill: red, weight: 600)
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
#let silentheading(level, body) = [
 | 
			
		||||
  #heading(outlined: false, level: level, numbering: none, bookmarked: true)[#body]
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
#let in-outline = state("in-outline", false)
 | 
			
		||||
 | 
			
		||||
#let flex-caption-styles = rest => {
 | 
			
		||||
  show outline: it => {
 | 
			
		||||
    in-outline.update(true)
 | 
			
		||||
    it
 | 
			
		||||
    in-outline.update(false)
 | 
			
		||||
  }
 | 
			
		||||
  rest
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#let flex-caption(long, short) = (
 | 
			
		||||
  context (
 | 
			
		||||
    if in-outline.get() {
 | 
			
		||||
      short
 | 
			
		||||
    } else {
 | 
			
		||||
      long
 | 
			
		||||
    }
 | 
			
		||||
  )
 | 
			
		||||
)
 | 
			
		||||
		Reference in New Issue
	
	Block a user