THE LIFE AND OPINIONS OF TRISTRAM SHANDY, GENTLEMAN
\n",
+ "
by Laurence Sterne (1759-1767)
\n",
+ "
\n",
+ " A Digital Humanities Analysis of Non-Linear Narrative Structure\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
About the Novel
\n",
+ "
\n",
+ " The Life and Opinions of Tristram Shandy, Gentleman is one of literature's \n",
+ " first experimental novels and a masterpiece of non-linear storytelling. The narrator, \n",
+ " Tristram, attempts to tell his life story but constantly digresses into tangents, \n",
+ " backstories, and philosophical musings. The result is a chaotic, playful narrative \n",
+ " that jumps backward and forward in time.\n",
+ "
\n",
+ "
\n",
+ " 💡 Key Insight: Tristram famously doesn't even get to his own birth \n",
+ " until Volume 3 — he's too busy telling us about everything that led up to it! The \n",
+ " novel's structure itself becomes an argument about memory, digression, and the \n",
+ " impossibility of linear self-narration.\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
The Dual-Panel Visualization Explained
\n",
+ "
\n",
+ " This is not a generic timeline. It is a temporal architecture visualization \n",
+ " designed to make the novel's non-chronological structure legible. The visualization consists \n",
+ " of two synchronized panels:\n",
+ "
\n",
+ " \n",
+ "
Top Panel: Narrative Path Timeline
\n",
+ "
\n",
+ "
X-axis: Reading Order (Chapters 1–300 sequentially)
\n",
+ "
Y-axis: Chronological Position (when events actually occur: -4 to 11)
\n",
+ "
Connected Line: Shows the temporal path a reader takes through the narrative
\n",
+ "
Color-Coded Dots: Each chapter colored by its narrative period
\n",
+ "
Hover Interaction: Displays representative quotations from each chapter
\n",
+ "
\n",
+ "
\n",
+ " If the novel were linear, the line would ascend steadily from bottom-left \n",
+ " to top-right. Instead, you see dramatic vertical jumps—Sterne constantly yanking the reader \n",
+ " backward and forward through time.\n",
+ "
\n",
+ " \n",
+ "
Bottom Panel: Chronological Distribution
\n",
+ "
\n",
+ " A stacked bar chart showing how many chapters occupy each chronological position. This reveals \n",
+ " where the novel dwells chronologically—notice how much time Sterne spends on \"present \n",
+ " narration\" (position 10) compared to actual life events.\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
Understanding the Chronological Scale
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ " -4 to -1\n",
+ "
Before Tristram's Birth
\n",
+ " Family history, Uncle Toby's war injury at Namur, Parson Yorick's life and death\n",
+ "
\n",
+ " Tristram writing the book, meta-commentary on the act of storytelling itself\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
Why Negative Numbers?
\n",
+ "
\n",
+ " Tristram doesn't start his story at his birth — he goes backward to tell us about \n",
+ " his family's history first. Uncle Toby's war wound at the Siege of Namur happened years \n",
+ " before Tristram was conceived, so it gets a negative chronological position (-2). \n",
+ " Think of position 0 as Tristram's birth (the origin point), with negative numbers representing \n",
+ " the years before that event. This shows how far back in time the narrative reaches before \n",
+ " the protagonist even exists.\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
What the Visualization Reveals
\n",
+ "
\n",
+ "
The connected line traces the reader's journey through narrative time—every \n",
+ " vertical movement is a temporal jump
\n",
+ "
Steep drops reveal flashbacks to pre-birth history (e.g., from present \n",
+ " narration back to Uncle Toby at Namur)
\n",
+ "
Steep rises show returns to the present narrative frame
\n",
+ "
Horizontal plateaus indicate sustained focus on a single time period \n",
+ " across multiple chapters
\n",
+ "
Frequency of crossings at y=0 shows how often Sterne interrupts with \n",
+ " timeless digressions
\n",
+ "
Bottom panel density reveals that Sterne spends disproportionate time \n",
+ " on \"present narration\" rather than life events
\n",
+ "
\n",
+ "
\n",
+ " 💡 Literary Significance: The visualization quantifies narrative disorder. \n",
+ " A linear biography would show a smooth upward slope. Sterne's jagged line—with its wild \n",
+ " oscillations between past, present, and digression—reveals a narrator unable or unwilling \n",
+ " to tell his story in chronological order. The structure itself becomes an argument \n",
+ " about memory, digression, and the impossibility of linear self-narration.\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
Interactive Temporal Architecture
\n",
+ "
\n",
+ " How to interact: Hover over any point to see chapter details and representative \n",
+ " quotations. Click and drag to zoom into specific regions. Double-click to reset the view. \n",
+ " The line connects chapters in reading order—watch how it oscillates through time.\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
Methodology
\n",
+ " \n",
+ "
\n",
+ "
Data Collection & Processing
\n",
+ "
Source: Full text from Project Gutenberg
\n",
+ "
Chapters Analyzed: \"\"\" + str(len(df)) + \"\"\"
\n",
+ "
Quotation Selection: Automated intelligent extraction based on:
THE LIFE AND OPINIONS OF TRISTRAM SHANDY, GENTLEMAN
+
by Laurence Sterne (1759-1767)
+
+ A Digital Humanities Analysis of Non-Linear Narrative Structure
+
+
+
+
+
About the Novel
+
+ The Life and Opinions of Tristram Shandy, Gentleman is one of literature's
+ first experimental novels and a masterpiece of non-linear storytelling. The narrator,
+ Tristram, attempts to tell his life story but constantly digresses into tangents,
+ backstories, and philosophical musings. The result is a chaotic, playful narrative
+ that jumps backward and forward in time.
+
+
+ 💡 Key Insight: Tristram famously doesn't even get to his own birth
+ until Volume 3 — he's too busy telling us about everything that led up to it! The
+ novel's structure itself becomes an argument about memory, digression, and the
+ impossibility of linear self-narration.
+
+
+
+
+
The Dual-Panel Visualization Explained
+
+ This is not a generic timeline. It is a temporal architecture visualization
+ designed to make the novel's non-chronological structure legible. The visualization consists
+ of two synchronized panels:
+
+
+
Top Panel: Narrative Path Timeline
+
+
X-axis: Reading Order (Chapters 1–300 sequentially)
+
Y-axis: Chronological Position (when events actually occur: -4 to 11)
+
Connected Line: Shows the temporal path a reader takes through the narrative
+
Color-Coded Dots: Each chapter colored by its narrative period
+
Hover Interaction: Displays representative quotations from each chapter
+
+
+ If the novel were linear, the line would ascend steadily from bottom-left
+ to top-right. Instead, you see dramatic vertical jumps—Sterne constantly yanking the reader
+ backward and forward through time.
+
+
+
Bottom Panel: Chronological Distribution
+
+ A stacked bar chart showing how many chapters occupy each chronological position. This reveals
+ where the novel dwells chronologically—notice how much time Sterne spends on "present
+ narration" (position 10) compared to actual life events.
+
+
+
+
+
Understanding the Chronological Scale
+
+
+
+ -4 to -1
+
Before Tristram's Birth
+ Family history, Uncle Toby's war injury at Namur, Parson Yorick's life and death
+
+
+
+ 0
+
Digressions
+ Timeless stories-within-stories, philosophical theories, embedded tales like Slawkenbergius
+
+ Tristram writing the book, meta-commentary on the act of storytelling itself
+
+
+
+
Why Negative Numbers?
+
+ Tristram doesn't start his story at his birth — he goes backward to tell us about
+ his family's history first. Uncle Toby's war wound at the Siege of Namur happened years
+ before Tristram was conceived, so it gets a negative chronological position (-2).
+ Think of position 0 as Tristram's birth (the origin point), with negative numbers representing
+ the years before that event. This shows how far back in time the narrative reaches before
+ the protagonist even exists.
+
+
+
+
+
What the Visualization Reveals
+
+
The connected line traces the reader's journey through narrative time—every
+ vertical movement is a temporal jump
+
Steep drops reveal flashbacks to pre-birth history (e.g., from present
+ narration back to Uncle Toby at Namur)
+
Steep rises show returns to the present narrative frame
+
Horizontal plateaus indicate sustained focus on a single time period
+ across multiple chapters
+
Frequency of crossings at y=0 shows how often Sterne interrupts with
+ timeless digressions
+
Bottom panel density reveals that Sterne spends disproportionate time
+ on "present narration" rather than life events
+
+
+ 💡 Literary Significance: The visualization quantifies narrative disorder.
+ A linear biography would show a smooth upward slope. Sterne's jagged line—with its wild
+ oscillations between past, present, and digression—reveals a narrator unable or unwilling
+ to tell his story in chronological order. The structure itself becomes an argument
+ about memory, digression, and the impossibility of linear self-narration.
+
+
+
+
+
Interactive Temporal Architecture
+
+ How to interact: Hover over any point to see chapter details and representative
+ quotations. Click and drag to zoom into specific regions. Double-click to reset the view.
+ The line connects chapters in reading order—watch how it oscillates through time.
+
+
+
+
+
+
Methodology
+
+
+
Data Collection & Processing
+
Source: Full text from Project Gutenberg
+
Chapters Analyzed: """ + str(len(df)) + """
+
Quotation Selection: Automated intelligent extraction based on:
+
+
+
+
+"""
+
+ filename = "tristram_shandy_complete_analysis.html"
+ with open(filename, 'w', encoding='utf-8') as f:
+ f.write(html_content)
+
+ print(f"✓ Complete HTML presentation saved: {filename}")
+ return filename
+
+def main():
+ print("="*80)
+ print("TRISTRAM SHANDY: COMPLETE TEMPORAL ARCHITECTURE PIPELINE")
+ print("Advanced Web Scraping + Dual-Panel Visualization + HTML Presentation")
+ print("="*80 + "\n")
+
+ pipeline = TristramShandyCompletePipeline()
+
+ # Step 1: Download
+ if not pipeline.download_book():
+ print("\n✗ Failed to download. Exiting.")
+ return
+
+ # Step 2: Extract chapters
+ pipeline.extract_chapters()
+
+ # Step 3: Annotate with intelligent quotation extraction
+ pipeline.annotate_chapters()
+
+ # Step 4: Create visualization
+ fig = pipeline.create_visualization()
+
+ # Step 5: Generate comprehensive HTML presentation
+ html_file = pipeline.create_html_presentation(fig)
+
+ # Success
+ print("\n" + "="*80)
+ print("✓ COMPLETE PIPELINE FINISHED")
+ print("="*80)
+ print(f"\n📄 Open this file in your browser: {html_file}")
+ print("\nWhat you'll find:")
+ print(" • Comprehensive explanatory sections")
+ print(" • Dual-panel temporal architecture visualization")
+ print(" • Interactive quotations on hover")
+ print(" • Complete methodology and dataset summary")
+ print("\nThe structure of non-linear time is now visible.")
+ print("="*80 + "\n")
+
+if __name__ == "__main__":
+ main()
+```
+
+ ================================================================================
+ TRISTRAM SHANDY: COMPLETE TEMPORAL ARCHITECTURE PIPELINE
+ Advanced Web Scraping + Dual-Panel Visualization + HTML Presentation
+ ================================================================================
+
+ Downloading Tristram Shandy from Project Gutenberg...
+ ✓ Downloaded (1259736 characters)
+ Extracting chapters with full content...
+ ✓ Extracted 300 chapters
+ Annotating chapters with narrative periods and selecting quotations...
+ ✓ Annotated 300 chapters with quotations
+
+ Creating dual-panel visualization...
+ ✓ Visualization created
+
+ Generating comprehensive HTML presentation...
+ ✓ Complete HTML presentation saved: tristram_shandy_complete_analysis.html
+
+ ================================================================================
+ ✓ COMPLETE PIPELINE FINISHED
+ ================================================================================
+
+ 📄 Open this file in your browser: tristram_shandy_complete_analysis.html
+
+ What you'll find:
+ • Comprehensive explanatory sections
+ • Dual-panel temporal architecture visualization
+ • Interactive quotations on hover
+ • Complete methodology and dataset summary
+
+ The structure of non-linear time is now visible.
+ ================================================================================
+
+
+
+
+```python
+
+```
diff --git a/Mini Project Proposal Idea 2.docx b/Mini Project Proposal Idea 2.docx
new file mode 100644
index 0000000..cf60372
Binary files /dev/null and b/Mini Project Proposal Idea 2.docx differ
diff --git a/Project_Idea.md b/Project_Idea.md
new file mode 100644
index 0000000..b22db26
--- /dev/null
+++ b/Project_Idea.md
@@ -0,0 +1,8 @@
+# Project Idea
+# David Whitmer
+For my three-course sequence to complete the Data Analytics major, I chose English. The goal of this project is to apply data-driven methods to examine narrative time and setting in Karl Ove Knausgaard’s A Death in the Family. Specifically, this project seeks to map the non-chronological movement of the narrative by tracking shifts in temporal position and setting throughout the text. The proposed research question is: How does Knausgaard’s use of non-linear chronology and recurring settings structure the reader’s experience of memory and narration in A Death in the Family? Ultimately, the goal of the project is to help literary scholars and readers make sense of the novel’s fragmented temporal structure by visualizing how the narrative moves across time and place.
+The primary text for this project is A Death in the Family, the first volume of Knausgaard’s My Life series. I own a digital copy of the novel, and because the book spans approximately 600 pages, it provides a substantial and ethically sound dataset for analysis. The length and density of the text make it particularly well suited for a data analytics approach, as the narrative repeatedly shifts between different moments in Knausgaard’s life and revisits key locations across decades.
+The data for this project will be created through close reading and structured annotation of the text. Each unit of analysis (such as a paragraph or page range) will be tagged for narrative time (for example, childhood, adolescence, early adulthood, or present-day narration following the father’s death) and setting (such as the childhood home, the father’s house, or other significant locations). These annotations will then be organized into a dataset that reflects both the reading order of the novel and the underlying chronological order of the events being narrated.
+Once the dataset is constructed, the primary analytical method will be visualization rather than inferential modeling. The central output of the project will be an interactive timeline that displays narrative time and setting in chronological order. When a user hovers over a specific date or time period on the timeline, a representative quotation from the novel will appear, allowing readers to see how Knausgaard’s prose inhabits that moment. By comparing reading order to narrative chronology, the visualization will make visible the extent to which the novel resists linear storytelling and instead organizes memory spatially and temporally.
+The intended audience for this project includes literary scholars, students, and readers of contemporary autofiction who may struggle to track the novel’s complex temporal structure through traditional close reading alone. By providing a visual and interactive tool, the project offers a new way to engage with the text that complements, rather than replaces, interpretive literary analysis. The results may also contribute to broader discussions in literary studies about memory, autobiography, and non-linear narrative form.
+Ethically, the project poses minimal concerns. Because I own a digital copy of the text, the data is accessed legally and for educational purposes. The project does not involve personal data from living individuals beyond the author himself, and all quotations used in the visualization will be properly cited and limited in length. The goal is not to reproduce the text but to analyze and contextualize it. Overall, this project demonstrates how data analytics methods can be used responsibly to illuminate complex narrative structures in contemporary literature.
diff --git a/presentations/.DS_Store b/presentations/.DS_Store
new file mode 100644
index 0000000..2851ba4
Binary files /dev/null and b/presentations/.DS_Store differ
diff --git a/presentations/David Whitmer Test.Rmd b/presentations/David Whitmer Test.Rmd
new file mode 100644
index 0000000..97802d7
--- /dev/null
+++ b/presentations/David Whitmer Test.Rmd
@@ -0,0 +1,20 @@
+---
+title: "My presentation"
+subtitle: "⚔ with xaringan"
+author: "David Whitmer"
+institute: "RStudio, PBC"
+date: "2016/12/12 (updated: `r Sys.Date()`)"
+output:
+ xaringan::moon_reader:
+ css: xaringan-themer.css
+ lib_dir: libs
+ nature:
+ highlightStyle: github
+ highlightLines: true
+ countIncrementalSlides: false
+---
+
+
+
+
+# This is a test presentation!
diff --git a/presentations/test123.html b/presentations/David Whitmer.html
similarity index 98%
rename from presentations/test123.html
rename to presentations/David Whitmer.html
index 41fee02..a431152 100644
--- a/presentations/test123.html
+++ b/presentations/David Whitmer.html
@@ -3,7 +3,7 @@
My presentation
-
+
@@ -18,7 +18,7 @@
## ⚔ with xaringan
]
.author[
-### Eren Bilen
+### David Whitmer
]
.institute[
### RStudio, PBC
diff --git a/presentations/libs/header-attrs-2.30/header-attrs.js b/presentations/libs/header-attrs-2.30/header-attrs.js
new file mode 100644
index 0000000..dd57d92
--- /dev/null
+++ b/presentations/libs/header-attrs-2.30/header-attrs.js
@@ -0,0 +1,12 @@
+// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
+// be compatible with the behavior of Pandoc < 2.8).
+document.addEventListener('DOMContentLoaded', function(e) {
+ var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
+ var i, h, a;
+ for (i = 0; i < hs.length; i++) {
+ h = hs[i];
+ if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
+ a = h.attributes;
+ while (a.length > 0) h.removeAttribute(a[0].name);
+ }
+});
diff --git a/presentations/test123.Rmd b/presentations/test123.Rmd
index 1cdb3e7..97802d7 100644
--- a/presentations/test123.Rmd
+++ b/presentations/test123.Rmd
@@ -1,7 +1,7 @@
---
title: "My presentation"
subtitle: "⚔ with xaringan"
-author: "Eren Bilen"
+author: "David Whitmer"
institute: "RStudio, PBC"
date: "2016/12/12 (updated: `r Sys.Date()`)"
output:
@@ -14,15 +14,7 @@ output:
countIncrementalSlides: false
---
-```{r xaringan-themer, include=FALSE, warning=FALSE}
-library(xaringanthemer)
-style_mono_accent(
- base_color = "#1c5253",
- header_font_google = google_font("Josefin Sans"),
- text_font_google = google_font("Montserrat", "300", "300i"),
- code_font_google = google_font("Fira Mono")
-)
-```
+
# This is a test presentation!
diff --git a/tristram_final_fixed.Rmd b/tristram_final_fixed.Rmd
new file mode 100644
index 0000000..57e28e5
--- /dev/null
+++ b/tristram_final_fixed.Rmd
@@ -0,0 +1,512 @@
+---
+title: "Mapping Narrative Time in Tristram Shandy"
+subtitle: "A Computational Model of Temporal Digression"
+author: "David Whitmer"
+institute: "Dickinson College | Data Capstone 400 Mini Project"
+date: "February 17, 2026"
+output:
+ xaringan::moon_reader:
+ lib_dir: libs
+ nature:
+ highlightStyle: github
+ highlightLines: true
+ countIncrementalSlides: false
+ ratio: "16:9"
+ css: [default, default-fonts]
+---
+
+```{r setup, include=FALSE}
+options(htmltools.dir.version = FALSE)
+knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
+library(knitr)
+```
+
+```{css, echo=FALSE}
+.title-slide {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+.title-slide h1 {
+ font-size: 2.5em;
+ font-weight: 600;
+ margin-bottom: 0.3em;
+ color: #000000;
+}
+
+.title-slide h2 {
+ font-size: 1.5em;
+ font-weight: 300;
+ margin-bottom: 1em;
+ color: #000000;
+}
+
+.title-slide h3 {
+ font-size: 1.2em;
+ font-weight: 400;
+ margin-top: 2em;
+ color: #000000;
+}
+
+.remark-slide-content {
+ font-size: 24px;
+ padding: 1em 2em 1em 2em;
+}
+
+.remark-slide-content h1 {
+ font-size: 2em;
+ color: #2c3e50;
+ margin-bottom: 0.5em;
+}
+
+.remark-slide-content h2 {
+ font-size: 1.5em;
+ color: #34495e;
+ margin-bottom: 0.5em;
+}
+
+.large {
+ font-size: 1.3em;
+}
+
+.medium {
+ font-size: 1.1em;
+}
+
+.small {
+ font-size: 0.9em;
+}
+
+.pull-left-narrow {
+ float: left;
+ width: 35%;
+}
+
+.pull-right-wide {
+ float: right;
+ width: 60%;
+}
+
+.highlight-box {
+ background-color: #fff3cd;
+ border-left: 5px solid #ffc107;
+ padding: 15px;
+ margin: 15px 0;
+}
+
+.key-point {
+ background-color: #e3f2fd;
+ border-left: 5px solid #2196f3;
+ padding: 15px;
+ margin: 15px 0;
+ font-weight: 500;
+}
+
+.methodology {
+ background-color: #f5f5f5;
+ padding: 15px;
+ border-radius: 5px;
+ margin: 10px 0;
+}
+
+.timeline-grid {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 15px;
+ margin: 20px 0;
+}
+
+.timeline-item {
+ padding: 15px;
+ border-radius: 5px;
+ border-left: 4px solid;
+ font-size: 0.85em;
+}
+
+.timeline-item strong {
+ display: block;
+ font-size: 1.3em;
+ margin-bottom: 5px;
+}
+
+.pre-birth {
+ background-color: #e3f2fd;
+ border-color: #2196f3;
+}
+
+.digressions {
+ background-color: #fff9e6;
+ border-color: #ffc107;
+}
+
+.life {
+ background-color: #e8f5e9;
+ border-color: #4caf50;
+}
+
+.present {
+ background-color: #f3e5f5;
+ border-color: #9c27b0;
+}
+```
+
+
+
+# The Problem of Narrative Time:
+
+.large[
+Tristram Shandy attempts to tell his life story but **never arrives at the present**
+]
+
+--
+
+.highlight-box[
+By Volume 4, Tristram has covered only **one day** of his life
+
+Yet the novel spans **9 volumes** and **~300 chapters**
+]
+
+--
+
+.medium[
+**The central question:**
+How does Sterne's temporal disorder function as narrative structure?
+]
+
+???
+Speaker notes:
+- Published 1759-1767, revolutionary experimental novel
+- Narrator constantly digresses backward and forward in time
+- Not random chaos—there's a pattern we can computationally model
+- This talk shows how data visualization makes temporal structure visible
+
+---
+
+# Why Linear Chronology Fails
+
+.pull-left-narrow[
+### Traditional Biography
+- Birth → Childhood → Youth → Death
+- Chronological progression
+- Linear narrative arc
+]
+
+.pull-right-wide[
+### Tristram Shandy
+- Begins with conception...
+- ...then jumps to Uncle Toby's war injury **decades earlier**
+- ...then to Yorick's death **years before birth**
+- ...then to present-day writing
+- ...then back to childhood accidents
+- **No sustained chronological sequence**
+]
+
+--
+
+.key-point[
+**Sterne's structure is not broken—it's deliberate**
+Digression becomes the primary narrative mode
+]
+
+???
+Speaker notes:
+- Traditional autobiography: Franklin, Rousseau follow chronological order
+- Sterne deliberately frustrates this expectation
+- The digressions ARE the point—not obstacles to the "real" story
+- Question: Can we map this disorder systematically?
+
+---
+
+# Data Collection & Web Scraping Pipeline
+
+.methodology[
+**Source:** Project Gutenberg full text (HTML)
+**Method:** Python web scraping with BeautifulSoup
+]
+
+--
+
+### Pipeline Architecture
+
+1. **Chapter Extraction**
+ - Regex pattern matching: `C H A P. [Roman numeral]`
+ - 300+ chapters across 9 volumes
+ - Full text preservation
+
+--
+
+2. **Intelligent Quotation Selection**
+ - Temporal markers & character names
+ - Keyword matching to narrative period
+
+---
+# Narrative Classification System
+
+3\. **Narrative Classification**
+ - 18 time period categories
+ - Chronological position (-4 to 11)
+
+???
+Speaker notes:
+- Not manual coding—fully automated and reproducible
+- Quotation algorithm selects contextually relevant excerpts
+- Each chapter gets chronological position based on story time
+- Output: structured JSON with 300 annotated chapters
+
+---
+
+# Modeling Time: The -4 to 11 Scale
+
+.timeline-grid[
+.timeline-item.pre-birth[
+**-4 to -1**
+Before Birth
+Family history, Namur, Yorick
+]
+
+.timeline-item.digressions[
+**0**
+Digressions
+Timeless embedded narratives
+]
+
+.timeline-item.life[
+**1 to 8**
+Tristram's Life
+Conception → Youth
+]
+
+.timeline-item.present[
+**10-11**
+Present
+Tristram writing, meta-commentary
+]
+]
+
+--
+
+.highlight-box[
+**Key Innovation:** Negative numbers represent *years before birth*
+
+Position -2 = Uncle Toby wounded at Namur (decades before Tristram exists)
+Position 0 = Digressions outside story time
+Position 10 = Present-day narration
+]
+
+--
+
+.medium[
+**This allows us to plot:** Reading Order (1–300) vs. Chronological Position (-4 to 11)
+]
+
+???
+Speaker notes:
+- Not arbitrary—based on actual temporal relationships in text
+- Negative scale shows how far back Sterne reaches
+- Zero marks timeless philosophical asides
+- Positive numbers follow life chronology
+- Creates two-dimensional temporal map
+
+---
+
+# Visualization Architecture
+
+### Dual-Panel Design
+
+.pull-left[
+**Top Panel: Narrative Path**
+- X-axis: Reading order (1→300)
+- Y-axis: Chronological position
+- Connected line = reader's path through time
+- Color-coded by narrative period
+]
+
+.pull-right[
+**Bottom Panel: Distribution**
+- Shows density at each position
+- Reveals where novel "dwells"
+- Stacked bars by period
+]
+
+--
+
+.key-point[
+**If the novel were linear:** smooth diagonal line
+**What we actually see:** wild temporal oscillation
+]
+
+???
+Speaker notes:
+- Two complementary views of same data
+- Top: shows temporal MOVEMENT (reader's journey)
+- Bottom: shows temporal DENSITY (where Sterne lingers)
+- Not decorative—reveals structure of delay
+- Every vertical jump = temporal disruption
+
+---
+class: center, middle
+
+# Interactive Narrative Model
+
+```{r, echo=FALSE, out.width="100%"}
+knitr::include_graphics("newplot.png")
+```
+
+.footnote[
+Dual-panel temporal architecture visualization
+]
+
+???
+Speaker notes:
+- This is the actual working model
+- Notice the jagged line—not smooth progression
+- Hover over points to see quotations from chapters
+- Bottom panel shows Sterne spends ~80 chapters at position 10 (present)
+- But spreads life events thinly across positive positions
+- Pattern visible: oscillation between past/present/digression
+
+---
+
+# Key Insights from the Model
+
+### Quantified Temporal Disruption
+
+--
+
+1. **Oscillation Pattern**
+ - Novel jumps constantly: past (-4) → present (10) → digression (0)
+ - No sustained chronological progression
+ - Average jump magnitude: **6 chronological positions**
+
+--
+
+2. **Narrative Density**
+ - **~80 chapters** at position 10 (present narration)
+ - Only **~40 chapters** cover positions 1-8 (entire life)
+ - **Present overwhelms chronology** by 2:1 ratio
+
+--
+
+3. **Structured Delay**
+ - Toby's story split across positions -2, -1, and 7
+ - Birth delayed until reading order ~60
+ - Childhood scattered non-consecutively
+
+--
+
+.highlight-box[
+**Finding:** Digressions are not chaos—they form a **temporal architecture**
+]
+
+???
+Speaker notes:
+- These are empirical findings from the data
+- Not impressionistic—computationally measured
+- The 2:1 ratio quantifies the "problem" of Tristram Shandy
+- More time spent commenting than narrating
+- This is the architecture of delay made visible
+
+---
+
+# What This Reveals About Sterne
+
+.large[
+**Thesis:** Sterne's digressions are **structural**, not ornamental
+]
+
+--
+
+### Three Interpretive Claims:
+
+--
+
+1. **Memory operates non-linearly**
+ - Flashbacks interrupt forward progress
+ - Past intrudes on present constantly
+ - The visualization **models memory itself**
+
+--
+
+2. **Narration is impossible**
+ - To tell one story requires telling ten others
+ - Each explanation demands further backstory
+ - The act of writing **delays the story indefinitely**
+
+--
+
+3. **Form enacts argument**
+ - Structure performs the impossibility of autobiography
+
+???
+Speaker notes:
+- Not just showing disorder—arguing disorder is meaningful
+- Visualization proves form and content are inseparable
+- Sterne demonstrates autobiography is always incomplete
+- Each digression reveals narrative as construct
+- Modern readers frustrated by this—18th century readers delighted
+
+---
+
+# Conclusion
+
+.pull-left[
+### What I Built
+- Web scraping pipeline
+- 300-chapter dataset
+- Chronological coding
+- Interactive visualization
+- Hoverable quotations
+]
+
+.pull-right[
+### What I Learned
+- Temporal disorder is **systematic**
+- Digressions form **architecture**
+- Visualization makes **structure visible**
+- Computational methods reveal **literary patterns**
+]
+
+--
+
+.key-point.large[
+**Core finding:**
+Tristram Shandy's "chaos" is actually a **quantifiable oscillation**
+The jagged line reveals the **structure of delay**
+]
+
+???
+Speaker notes:
+- Started with question: how does temporal disorder work?
+- Answer: it's patterned, measurable, visualizable
+- DH methods don't replace close reading—they enable new close reading
+- We can now SEE the structure Sterne built
+- This approach applies to any non-linear narrative
+- Questions?
+
+---
+class: center, middle
+
+# Thank You
+
+.large[
+**Questions?**
+]
+
+.medium[
+David Whitmer
+Dickinson College
+Data Capstone 400
+]
+
+.center[
+.small[
+Project code and visualization available upon request
+Source: Sterne, Laurence. *The Life and Opinions of Tristram Shandy, Gentleman*. Project Gutenberg.
+]
+]
+
+???
+Speaker notes:
+- Open to questions about methodology, findings, or technical implementation
+- Happy to discuss extensions: other non-linear novels, comparative analysis
+- All code is reproducible and available
diff --git a/tristram_shandy_complete_analysis.html b/tristram_shandy_complete_analysis.html
new file mode 100644
index 0000000..75f42c7
--- /dev/null
+++ b/tristram_shandy_complete_analysis.html
@@ -0,0 +1,380 @@
+
+
+
+
+ Tristram Shandy: Temporal Architecture Analysis
+
+
+
+
+
+
THE LIFE AND OPINIONS OF TRISTRAM SHANDY, GENTLEMAN
+
by Laurence Sterne (1759-1767)
+
+ A Digital Humanities Analysis of Non-Linear Narrative Structure
+
+
+
+
+
About the Novel
+
+ The Life and Opinions of Tristram Shandy, Gentleman is one of literature's
+ first experimental novels and a masterpiece of non-linear storytelling. The narrator,
+ Tristram, attempts to tell his life story but constantly digresses into tangents,
+ backstories, and philosophical musings. The result is a chaotic, playful narrative
+ that jumps backward and forward in time.
+
+
+ 💡 Key Insight: Tristram famously doesn't even get to his own birth
+ until Volume 3 — he's too busy telling us about everything that led up to it! The
+ novel's structure itself becomes an argument about memory, digression, and the
+ impossibility of linear self-narration.
+
+
+
+
+
The Dual-Panel Visualization Explained
+
+ This is not a generic timeline. It is a temporal architecture visualization
+ designed to make the novel's non-chronological structure legible. The visualization consists
+ of two synchronized panels:
+
+
+
Top Panel: Narrative Path Timeline
+
+
X-axis: Reading Order (Chapters 1–300 sequentially)
+
Y-axis: Chronological Position (when events actually occur: -4 to 11)
+
Connected Line: Shows the temporal path a reader takes through the narrative
+
Color-Coded Dots: Each chapter colored by its narrative period
+
Hover Interaction: Displays representative quotations from each chapter
+
+
+ If the novel were linear, the line would ascend steadily from bottom-left
+ to top-right. Instead, you see dramatic vertical jumps—Sterne constantly yanking the reader
+ backward and forward through time.
+
+
+
Bottom Panel: Chronological Distribution
+
+ A stacked bar chart showing how many chapters occupy each chronological position. This reveals
+ where the novel dwells chronologically—notice how much time Sterne spends on "present
+ narration" (position 10) compared to actual life events.
+
+
+
+
+
Understanding the Chronological Scale
+
+
+
+ -4 to -1
+
Before Tristram's Birth
+ Family history, Uncle Toby's war injury at Namur, Parson Yorick's life and death
+
+
+
+ 0
+
Digressions
+ Timeless stories-within-stories, philosophical theories, embedded tales like Slawkenbergius
+
+ Tristram writing the book, meta-commentary on the act of storytelling itself
+
+
+
+
Why Negative Numbers?
+
+ Tristram doesn't start his story at his birth — he goes backward to tell us about
+ his family's history first. Uncle Toby's war wound at the Siege of Namur happened years
+ before Tristram was conceived, so it gets a negative chronological position (-2).
+ Think of position 0 as Tristram's birth (the origin point), with negative numbers representing
+ the years before that event. This shows how far back in time the narrative reaches before
+ the protagonist even exists.
+
+
+
+
+
What the Visualization Reveals
+
+
The connected line traces the reader's journey through narrative time—every
+ vertical movement is a temporal jump
+
Steep drops reveal flashbacks to pre-birth history (e.g., from present
+ narration back to Uncle Toby at Namur)
+
Steep rises show returns to the present narrative frame
+
Horizontal plateaus indicate sustained focus on a single time period
+ across multiple chapters
+
Frequency of crossings at y=0 shows how often Sterne interrupts with
+ timeless digressions
+
Bottom panel density reveals that Sterne spends disproportionate time
+ on "present narration" rather than life events
+
+
+ 💡 Literary Significance: The visualization quantifies narrative disorder.
+ A linear biography would show a smooth upward slope. Sterne's jagged line—with its wild
+ oscillations between past, present, and digression—reveals a narrator unable or unwilling
+ to tell his story in chronological order. The structure itself becomes an argument
+ about memory, digression, and the impossibility of linear self-narration.
+
+
+
+
+
Interactive Temporal Architecture
+
+ How to interact: Hover over any point to see chapter details and representative
+ quotations. Click and drag to zoom into specific regions. Double-click to reset the view.
+ The line connects chapters in reading order—watch how it oscillates through time.
+
+
+
+
+
+
Methodology
+
+
+
Data Collection & Processing
+
Source: Full text from Project Gutenberg
+
Chapters Analyzed: 300
+
Quotation Selection: Automated intelligent extraction based on: