Zettelkasten software components - flengyel/Zettel GitHub Wiki
There are many ways to implement and cultivate a digital Zettelkasten. I use a Windows 11 system, which has constrained my software choices. As of October 20, 2024, the software components of my digital Zettelkasten are the following.
- Obsidian 1.7.4 + additional configuration; see below.
- Pandoc 2.19
- MiKTeX 22.1
- Zotero 7.0.4 with the BetterBibTeX add on, version 6.7.240
- WinEDT 11 My favorite LaTeX editor.
Project-related software
I use this software for projects based on the notes I've kept in my Zettelkasten, and for programming templates used in the Zettelkasten software. None of this is essential for most Zettelkasten users.
- SageMath 9.8, compiled from source + Jupyter notebooks. SageMath 9.6 compilation notes
- Visual Studio Code Indispensable for programming add ons.
- Scrivener 3.0 This may fall off the list. I hardly use Scrivener.
Obsidian Community Plugins
- Citations, version 0.4.5.
- Enhancing Export, version 1.10.8. It's an odd name for a flexible Pandoc export facility.
- Find orphaned files and broken links, version 1.10.1. Useful while changing Zettel formats.
- Front Matter Title, version 3.10.0. This plugin uses the YAML
title:
variable to display the filename for explorer, graph, search, etc." However, the title is missing from Wikilink lookups. - Luhman, version 1.2.0. I'm unsure if it's compatible with my current Zettelkasten configuration. The developer has misspelled Luhmann's surname. I have turned off this plugin.
- Pandoc Reference List, version 2.0.25.
- Strange New Worlds, version 2.1.4. Useful to find related notes.
- Templater, version 2.8.0. An essential plugin for defining the Zettel template and adding annotations to Wikilinks. Beware: updating Templater erases your template key shortcuts.
- TikzJax, version 0.52. It seems promising, but it hasn't worked for me yet.
Obsidian Templater templates
I now use two Templater templates, one to create a skeletal note with the requisite YAML header and markdown subsections and one to append a title to a Wikilink while preserving the line containing the Wikilink.
The New File Template is available at NewFileTemplate.md.
- New File Template (bound to Alt+n): This template creates a new Zettel with a unique identifier and a YAML header, ensuring a consistent structure for all notes. It prompts the user to enter an alpha keyword and a title for the note, generating a unique ID based on the current timestamp combined with the alpha keyword. The generated note includes metadata such as id, title, and reference-section-title. It also provides a basic structure with sections like "SEE ALSO" and "References" for further organization. Finally, the template renames the file to match the unique ID, helping maintain a well-structured Zettelkasten.
The Wikilink Title template is available at WikilinkTitle.md.
- Wikilink Title Template (bound to Alt+w): This template appends the title of a note to an existing Wikilink without altering the rest of the line. It ensures that each Wikilink includes its corresponding note title, providing better context directly in the referencing line. This template automates the process, preserving existing text and formatting while enriching the link with descriptive information.
Pandoc defaults files
I have modified the arguments in the Enhancing Export plugin, version 1.10.8, to refer to modified defaults files I borrowed from my former Zettlr configuration.
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.
- 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)
- 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
The modified Pandoc export defaults files need to refer to the new template, which belongs in your TEXMF directory, the configuration of which follows.
LaTeX 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:
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.