1
0
Fork 0

Add bibliography and citations

main
Ethan Reece 2024-09-26 17:39:15 -05:00
parent 3c9f203ded
commit ca1fbe8793
Signed by: me
GPG Key ID: 198E9EB433DB1B28
12 changed files with 94 additions and 28 deletions

View File

@ -2,7 +2,7 @@
Notice: Uses *Liberation Serif*, a free font compatible with *Times New Roman*.
1. Modify `./src/properties.typ` for the heading and related components and `./src/content.typ` for the body.
1. Modify `./src/properties.typ` for the heading and related components, `./src/content.typ` for the body, and `./src/bibliography.yml` for the bibliography.
1. Install `just` by adding to your Guix Home configuration or running `guix install just`.

View File

@ -1,4 +0,0 @@
#let base_grid(..items) = grid(
gutter: 2em,
..items
)

View File

@ -0,0 +1,14 @@
harry:
type: Book
title: Harry Potter and the Order of the Phoenix
author: Rowling, J. K.
volume: 5
page-total: 768
date: 2003-06-21
electronic:
type: Web
title: Ishkur's Guide to Electronic Music
serial-number: v2.5
author: Ishkur
url: http://www.techno.org/electronic-music-guide/

View File

@ -1,6 +1,6 @@
#{ "" }
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce congue elit ac rhoncus interdum. Morbi faucibus eros vitae suscipit pellentesque. Nam sit amet pharetra est, sed mattis magna. Aliquam sodales magna non auctor scelerisque. Donec ultricies ut magna vitae posuere. Aenean pellentesque ligula tortor, ac facilisis nibh accumsan ut. Quisque ullamcorper velit non dui varius, in tempor metus mattis. Sed in neque risus. Nullam pulvinar dolor eleifend ligula elementum mattis. Fusce nec metus id orci fermentum consectetur. Morbi placerat, urna nec posuere iaculis, nibh nisl consequat odio, nec commodo magna lacus vitae ante. Mauris ut pretium dui. Phasellus lacinia justo eu diam rutrum porttitor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce congue elit ac rhoncus interdum. Morbi faucibus eros vitae suscipit pellentesque. Nam sit amet pharetra est, sed mattis magna. Aliquam sodales magna non auctor scelerisque. Donec ultricies ut magna vitae posuere. Aenean pellentesque ligula tortor, ac facilisis nibh accumsan ut @electronic. Quisque ullamcorper velit non dui varius, in tempor metus mattis. Sed in neque risus. Nullam pulvinar dolor eleifend ligula elementum mattis. Fusce nec metus id orci fermentum consectetur. Morbi placerat, urna nec posuere iaculis, nibh nisl consequat odio, nec commodo magna lacus vitae ante. Mauris ut pretium dui. Phasellus lacinia justo eu diam rutrum porttitor @harry.
Nullam et tellus nec lorem interdum luctus. Phasellus id purus a massa bibendum gravida vel ac lorem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus metus tortor, congue eget dui non, pretium tempus arcu. Aliquam nulla diam, fermentum non finibus at, eleifend non orci. Aliquam enim lectus, laoreet nec euismod vel, bibendum non dui. Cras fermentum imperdiet dolor a eleifend. Nulla faucibus, nulla in feugiat dignissim, felis elit malesuada nisl, et interdum augue augue quis lorem. Nulla sagittis scelerisque tristique. Sed id euismod lectus. Etiam efficitur bibendum eros ut tempor. Sed lacinia elit lacus, molestie tempor risus euismod eu. Sed eu ullamcorper elit. Fusce iaculis, massa non ullamcorper hendrerit, dolor magna blandit eros, et rutrum lectus felis eget enim.

View File

@ -10,23 +10,18 @@
) = {
import "../base/text.typ": base_text
import "../base/page.typ": base_page
import "../base/grid.typ": base_grid
import "essay/header.typ": page_essay_header
import "essay/heading.typ": page_essay_heading
import "essay/title.typ": page_essay_title
import "essay/body.typ": page_essay_body
import "essay/content.typ": page_essay_content
base_text(
base_page(
header: page_essay_header(author_name_last: author_name.last),
base_grid(
page_essay_heading(
author_name: author_name,
instructor_name: instructor_name,
class: class,
),
page_essay_title(title: title),
page_essay_body(content),
page_essay_content(
title: title,
author_name: author_name,
instructor_name: instructor_name,
class: class,
content
)
)
)

View File

@ -0,0 +1,4 @@
#let page_essay_base_grid(..items) = grid(
gutter: 2em,
..items
)

View File

@ -0,0 +1,10 @@
#let page_essay_base_heading(title: "") = {
import "../../../base/text.typ": base_text
align(
center,
heading(
base_text(title)
)
)
}

View File

@ -0,0 +1,16 @@
#let page_essay_bibliography() = {
import "bibliography/heading.typ": page_essay_bibliography_heading
set par(
leading: 2em,
hanging-indent: 0.5in,
)
set block(spacing: 2em)
bibliography(
style: "mla",
title: page_essay_bibliography_heading(),
full: true,
"../../bibliography.yml"
)
}

View File

@ -0,0 +1,8 @@
#let page_essay_bibliography_heading(title: "") = {
import "../base/heading.typ": page_essay_base_heading
block(
width: 100%,
page_essay_base_heading(title: "Works Cited")
)
}

View File

@ -0,0 +1,28 @@
#let page_essay_content(
title: "",
author_name: (
first: "",
last: "",
),
instructor_name: "",
class: "",
content
) = {
import "../../base/text.typ": base_text
import "base/grid.typ": page_essay_base_grid
import "title.typ": page_essay_title
import "heading.typ": page_essay_heading
import "body.typ": page_essay_body
import "bibliography.typ": page_essay_bibliography
page_essay_base_grid(
page_essay_heading(
author_name: author_name,
instructor_name: instructor_name,
class: class,
),
page_essay_title(title: title),
page_essay_body(content),
page_essay_bibliography(),
)
}

View File

@ -6,13 +6,13 @@
instructor_name: "",
class: "",
) = {
import "../../base/grid.typ": base_grid
import "base/grid.typ": page_essay_base_grid
import "heading/author.typ": page_essay_heading_author
import "heading/instructor.typ": page_essay_heading_instructor
import "heading/class.typ": page_essay_heading_class
import "heading/date.typ": page_essay_heading_date
base_grid(
page_essay_base_grid(
page_essay_heading_author(name: author_name),
page_essay_heading_instructor(name: instructor_name),
page_essay_heading_class(identifier: class),

View File

@ -1,10 +1,5 @@
#let page_essay_title(title: "") = {
import "../../base/text.typ": base_text
align(
center,
heading(
base_text(title)
)
)
import "base/heading.typ": page_essay_base_heading
page_essay_base_heading(title: title)
}