Skip to content

Zettelkasten software components

F Lengyel edited this page Oct 7, 2023 · 69 revisions

There are many ways to implement a digital Zettelkasten. I use a Windows 11 system, which has constrained my software choices. As of September 17, 2023, the software components of my digital Zettelkasten are the following.

Additional software components

  • Obsidian I configured Obsidian 1.4.13 with a few community plugins to use the same default export files that Zettlr uses and the same LaTeX template that both Pandoc and Zettlr use. Sorry, I don't have the time to explain how this is done now, but I might document this. Obsidian has become less useful to me as of Zettlr 3.0.0, which will update links if a filename changes. Obsidian is widely used and has community plugins for identifying files with broken links and orphaned files. Given this, for compatibility with Zettlr and Obsidian, the Zettel template now includes a YAML header.
  • Stylus Labs Write For handwritten notes on a tablet (Wacom Cintiq or iPad) with a stylus. A Cornell Notes Template SVG file for use with Stylus Labs Write is available at https://github.com/flengyel/CornellNotesTemplate. I have been using this less and less--Stylus Labs Write doesn't seem supported.

Project-related software

Zettlr configuration files

The software components don't configure themselves--some work is needed.

My Zettlr modifications are more or less settled for exporting to LaTeX or PDFLatex, for which I modified Zettlr's default export files. These can be modified in Zettlr through File --> Preferences --> Asset Manager.

Note: the export.*.yaml files have been superseded in Zettlr 3.0.0, but they will still work.

export.latex.yaml

export.pdf.yaml

These modifications required a few changes to the Pandoc template.tex file. Here's mine: template.tex. This template was adapted from https://github.com/jgm/pandoc/blob/master/data/templates/default.latex. There are two modifications.

  1. The first modification occurs immediately after the following two lines.

usepackage{beamerarticle} % needs to be loaded first
$endif$
% MODIFICATIONS FOR ZETTLR BY FL 2022/06/26
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\usepackage{amssymb,amsthm}
%\usepackage{amsmath,amssymb}
% (END OF MODIFICATIONS FOR ZETTLR BY FL)

  1. The second modification occurs immediately after the following two lines.

$header-includes$
$endfor$
% MODIFICATIONS FOR ZETTLR BY FL 2022/06/26
$if(more-header-includes)$
$for(more-header-includes)$
$more-header-includes$
$endfor$
$endif$
% (END OF MODIFICATIONS FOR ZETTLR BY FL 2022/06/26)

The template file is installed in my own TEXMF directory. For reference, the location is

C:\Users\fleng\mytexmf\tex\latex\templates\template.tex

LaTeX + Zettlr Integration Notes

Your LaTeX system will need to know about your TEXMF directory. In the MiKTeX console--I use MiKTeX, you can add this directory and update its database through the following screen:

TEXMF directories

See Your own TEXMF root directories. Also see this StackExchange question and answer. StackExchange is the definitive repository of software documentation on the web, bar none. That includes vendor documentation. (This is an exaggeration.)

And here's the LaTeX style file of every LaTeX color I could locate: LatexColors.incl.sty. This style file was borrowed from https://github.com/Inventium/latexcolor.com, which I was led to from http://latexcolor.com/. The site http://latexcolor.com lists the LaTeX color swatches in alphabetical order.

YAML Header Snippet

Zettlr can partially automate the inclusion of a YAML header in your Zettels. Add the following to

File -> Preferences -> Assets Manager -> Snippets

---
title: "${1:FZID}.0.$CURRENT_YEAR_SHORT.$CURRENT_MONTH$CURRENT_DATE ${2:title}"
reference-section-title: References
---
# ${1:FZID}.0.$CURRENT_YEAR_SHORT.$CURRENT_MONTH$CURRENT_DATE ${2:title}

$0