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 "@preview/not-jku-thesis:0.1.0": jku-thesis
 | 
				
			||||||
#import springer-spaniel.ctheorems: * // provides "proof", "theorem", "lemma"
 | 
					
 | 
				
			||||||
 | 
					#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 citation style
 | 
				
			||||||
#set cite(style: "iso-690-author-date") // page info visible
 | 
					#set cite(style: "iso-690-author-date") // page info visible
 | 
				
			||||||
@@ -8,37 +106,9 @@
 | 
				
			|||||||
//#set cite(style: "alphanumeric")// page info not visible
 | 
					//#set cite(style: "alphanumeric")// page info not visible
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#show: springer-spaniel.template(
 | 
					// Table stroke
 | 
				
			||||||
  title: [Few shot learning for anomaly detection Bachelor Thesis for AI],
 | 
					#set table(stroke: 0.5pt + black)
 | 
				
			||||||
  authors: (
 | 
					 | 
				
			||||||
    (
 | 
					 | 
				
			||||||
      name: "Lukas Heiligenbrunner",
 | 
					 | 
				
			||||||
      institute: "Johannes Kepler University",
 | 
					 | 
				
			||||||
      address: "Linz, Austria",
 | 
					 | 
				
			||||||
      email: "lukas.heiligenbrunner@gmail.com"
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
    // ... and so on
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  abstract: lorem(75),
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // 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 reference targets in brackets
 | 
				
			||||||
#show ref: it => {
 | 
					#show ref: it => {
 | 
				
			||||||
@@ -49,6 +119,11 @@
 | 
				
			|||||||
  } else [#it]
 | 
					  } 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
 | 
					// style table-of-contents
 | 
				
			||||||
#show outline.entry.where(
 | 
					#show outline.entry.where(
 | 
				
			||||||
  level: 1
 | 
					  level: 1
 | 
				
			||||||
@@ -57,6 +132,30 @@
 | 
				
			|||||||
  strong(it)
 | 
					  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.
 | 
					// Table of contents.
 | 
				
			||||||
#outline(
 | 
					#outline(
 | 
				
			||||||
  title: {
 | 
					  title: {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -131,8 +131,3 @@ Equation~$cal(L)(p,q)$~\eqref{eq:crelbinarybatch}\cite{handsonaiI} is the Binary
 | 
				
			|||||||
== Alternative Methods
 | 
					== Alternative Methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
There are several alternative methods to few-shot learning which are not used in this bachelor thesis.
 | 
					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