refactor: doerg는 publisher와 결합
All checks were successful
build / build (push) Successful in 5s

This commit is contained in:
2026-04-03 11:20:36 -06:00
parent 5ca59fdb5e
commit dcaac98252
88 changed files with 158 additions and 622 deletions

View File

@@ -0,0 +1,343 @@
/* Based on Temml-local.css. */
math {
font-family: "IBM Plex Math", "Cambria Math", 'STIXTwoMath-Regular', 'NotoSansMath-Regular', math;
font-style: normal;
font-weight: normal;
line-height: normal;
font-size-adjust: none;
text-indent: 0;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
direction: ltr;
/* Prevent Firefox from omitting the dot on i or j. */
font-feature-settings: "dtls" off;
}
math * {
border-color: currentColor;
}
/* display: block is necessary in Firefox and Safari.
* Not in Chromium, which recognizes display: "block math" written inline. */
math.tml-display {
display: block;
width: 100%;
}
*.mathcal {
/* NotoSans */
font-feature-settings: 'ss01';
}
math .mathscr {
font-family: "IBM Plex Math";
}
mo.tml-prime {
font-family: "IBM Plex Math";
}
/* Cramped superscripts in WebKit */
mfrac > :nth-child(2),
msqrt,
mover > :first-child {
math-shift: compact
}
.menclose {
display: inline-block;
position: relative;
padding: 0.5ex 0ex;
}
.tml-cancelto {
display: inline-block;
position: absolute;
top: 0;
left: 0;
padding: 0.5ex 0ex;
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='currentColor' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%' y1='100%' stroke='currentColor' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
}
@supports (-moz-appearance: none) {
/* \vec w/o italic correction for Firefox */
.tml-vec {
transform: scale(0.75)
}
/* Fix \cancelto in Firefox */
.ff-narrow {
width: 0em;
}
.ff-nudge-left {
margin-left: -0.2em;
}
}
@supports (not (-moz-appearance: none)) {
/* Chromium and WebKit */
/* prime vertical alignment */
mo.tml-prime {
font-family: "IBM Plex Math";
}
/* Italic correction on superscripts */
.tml-sml-pad {
padding-left: 0.05em;
}
.tml-med-pad {
padding-left: 0.10em;
}
.tml-lrg-pad {
padding-left: 0.15em;
}
}
@supports (-webkit-backdrop-filter: blur(1px)) {
/* WebKit vertical & italic correction on accents */
.wbk-acc {
/* lower by x-height distance */
transform: translate(0em, 0.431em);
}
.wbk-sml {
transform: translate(0.07em, 0);
}
.wbk-sml-acc {
transform: translate(0.07em, 0.431em);
}
.wbk-sml-vec {
transform: scale(0.75) translate(0.07em, 0);
}
.wbk-med {
transform: translate(0.14em, 0);
}
.wbk-med-acc {
transform: translate(0.14em, 0.431em);
}
.wbk-med-vec {
transform: scale(0.75) translate(0.14em, 0);
}
.wbk-lrg {
transform: translate(0.21em, 0);
}
.wbk-lrg-acc {
transform: translate(0.21em, 0.431em);
}
.wbk-lrg-vec {
transform: scale(0.75) translate(0.21em, 0);
}
}
/* \cancel & \phase use background images. Get them to print. */
menclose {
-webkit-print-color-adjust: exact; /* Chrome & Edge */
print-color-adjust: exact;
}
/* Array cell justification in Firefox & WebKit */
.tml-right {
text-align: right;
}
.tml-left {
text-align: left;
}
/* For CD labels that grow to the left in Firefox and WebKit */
.tml-shift-left { margin-left:-200% }
/* Styles for Chromium only */
@supports (not (-webkit-backdrop-filter: blur(1px))) and (not (-moz-appearance: none)) {
/* Italic correction on accents */
.chr-sml {
transform: translate(0.07em, 0)
}
.chr-sml-vec {
transform: scale(0.75) translate(0.07em, 0)
}
.chr-med {
transform: translate(0.14em, 0)
}
.chr-med-vec {
transform: scale(0.75) translate(0.14em, 0)
}
.chr-lrg {
transform: translate(0.21em, 0)
}
.chr-lrg-vec {
transform: scale(0.75) translate(0.21em, 0)
}
/* For CD labels that grow to the left */
.tml-shift-left { margin-left:-100% }
/* MathML Core & Chromium do not support the MathML 3.0 element <menclose> attributes. */
/* So use styles. */
menclose {
position: relative;
padding: 0.5ex 0ex;
}
.tml-overline {
padding: 0.1em 0 0 0;
border-top: 0.065em solid;
}
.tml-underline {
padding: 0 0 0.1em 0;
border-bottom: 0.065em solid;
}
.tml-cancel {
display: inline-block;
position: absolute;
left: 0.5px;
bottom: 0;
width: 100%;
height: 100%;
background-color: currentColor;
}
.upstrike {
clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
}
.downstrike {
clip-path: polygon(0em 0.05em, 0.05em 0em, 100% calc(100% - 0.05em), calc(100% - 0.05em) 100%);
}
.sout {
clip-path: polygon(0em calc(55% + 0.0333em), 0em calc(55% - 0.0333em), 100% calc(55% - 0.0333em), 100% calc(55% + 0.0333em));
}
.tml-xcancel {
background: linear-gradient(to top left,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0) calc(50% - 0.06em),
rgba(0,0,0,1) 50%,
rgba(0,0,0,0) calc(50% + 0.06em),
rgba(0,0,0,0) 100%),
linear-gradient(to top right,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0) calc(50% - 0.06em),
rgba(0,0,0,1) 50%,
rgba(0,0,0,0) calc(50% + 0.06em),
rgba(0,0,0,0) 100%)
}
.longdiv-top {
border-top: 0.067em solid;
padding: 0.1em 0.2em 0.2em 0.433em;
}
.longdiv-arc {
position: absolute;
top: 0;
bottom: 0.1em;
left: -0.4em;
width: 0.7em;
border: 0.067em solid;
transform: translateY(-0.067em);
border-radius: 70%;
clip-path: inset(0 0 0 0.4em);
box-sizing: border-box;}
.menclose {display: inline-block;
text-align: left;
position: relative;
}
.phasor-bottom {
border-bottom: 0.067em solid;
padding: 0.2em 0.2em 0.1em 0.6em;
}
.phasor-angle {
display: inline-block;
position: absolute;
left: 0.5px;
bottom: -0.04em;
height: 100%;
aspect-ratio: 0.5;
background-color: currentColor;
clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
}
.tml-fbox {
padding: 3pt;
border: 1px solid;
}
.circle-pad {
padding: 0.267em;
}
.textcircle {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
border: 0.067em solid;
border-radius: 50%;
}
.actuarial {
padding: 0.03889em 0.03889em 0 0.03889em;
border-width: 0.08em 0.08em 0em 0em;
border-style: solid;
margin-right: 0.03889em;
}
/* Stretch \widetilde */
.tml-crooked-2 {
transform: scale(2.0, 1.1)
}
.tml-crooked-3 {
transform: scale(3.0, 1.3)
}
.tml-crooked-4 {
transform: scale(4.0, 1.4)
}
/* set array cell justification */
.tml-right {
text-align: -webkit-right;
}
.tml-left {
text-align: -webkit-left;
}
}
.special-fraction {
font-family: "IBM Plex Math", 'STIX TWO', 'Times New Roman', Times, Tinos, serif;
}
/* flex-wrap for line-breaking in Chromium */
math {
display: inline-flex;
flex-wrap: wrap;
align-items: baseline;
}
math > mrow {
padding: 0.5ex 0ex;
}
/* Default mtd top padding is 0.5ex per MathML-Core and user-agent CSS */
/* We adjust for jot and small */
mtable.tml-jot mtd {
padding-top: 0.7ex;
padding-bottom: 0.7ex;
}
mtable.tml-small mtd {
padding-top: 0.35ex;
padding-bottom: 0.35ex;
}
/* Firefox */
@-moz-document url-prefix() {
/* Avoid flex-wrap */
math { display: inline; }
math > mrow { padding: 0 }
/* Adjust Firefox spacing between array rows */
mtd, mtable.tml-small mtd { padding-top: 0; padding-bottom: 0; }
mtable.tml-jot mtd { padding-top: 0.2ex; padding-bottom: 0.ex; }
}
/* AMS environment auto-numbering via CSS counter. */
.tml-eqn::before {
counter-increment: tmlEqnNo;
content: "(" counter(tmlEqnNo) ")";
}
body {
counter-reset: tmlEqnNo;
}

View File

@@ -0,0 +1,11 @@
@charset "UTF-8";
:root
{ --ds-hoof-black: #0c0c0f
; --ds-velvet-grey: #4a4241
; --ds-untitled-1: rgb(47, 35, 28)
; --ds-untitled-2: rgb(168, 134, 109)
; --ds-buck-brown: #b57b4c
; --ds-antler-tan: #fce7ca
; --ds-fawn-spot-white: #fffffa
}

View File

@@ -0,0 +1,18 @@
#:net.deertopia.doerg.config
{:ibm-plex-web #or [#xdg-data-dir "ibm-plex-web"
#env IBM_PLEX_WEB]
:latex "xelatex"
:dvisvgm "dvisvgm"
:doerg-temml-worker
#profile {:dev #file "../../../../doerg-temml-worker/index.js"
:default "doerg-temml-worker"}
:doerg-parser
#profile {:dev #file "../../../../doerg-parser/index.js"
:default "doerg-parser"}
:state-directory #join [#or [#env XDG_STATE_HOME
#envf ["%s/.local/share" HOME]]
"/doerg-server"]
:org-roam-db-path
#profile {:default #join [#env HOME "/.cache/emacs/org-roam.db"]
:test #join [#or [#env TMP "/tmp"] "/doerg-org-roam-test.db"]}
:port #profile {:default 8080}}

View File

@@ -0,0 +1,30 @@
<file> ::= elements
<elements> ::= ws? element ws? elements
| ws? ε
<element> ::= string
| list
| symbol
| integer
| property-string
string ::= <'"'> #'([^"\\]|\\.|\\\n)*' <'"'>
property-string
::= <'#('> ws? string text-property* ws? <')'>
text-property ::= ws? element ws? element ws? element
list ::= <'('> elements dot-cdr? <')'>
symbol ::= #'([^?#0-9 \n\s\f()\[\]"\'\\.]|\\.)([^ \n\s\f()\[\]"\'\\]|\\.)*'
| #'\.([^ \n\s\f()\[\]"\'\\]|\\.)+'
integer ::= #'[-+]?[0-9]+' <#'.'>?
dot-cdr ::= <'.'> ws? element
<text> ::= ws? (string | property-string) ws?
<ws> ::= <#'(\s| |\n)'>+

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,5 @@
% Default uses arrow glyphs from the active font, which are kinda ugly in the
% case of Plex.
\tikzcdset{
arrow style=tikz
}

View File

@@ -0,0 +1,154 @@
% Of the highest importance:
\renewcommand{\phi}{\varphi}
\renewcommand{\epsilon}{\varepsilon}
% Saner abbreviations for font faces (take an argument rather than
% applying to the current context).
\renewcommand{\rm}[1]{\mathrm{#1}}
\newcommand{\bb}[1]{\mathbb{#1}}
\renewcommand{\bf}[1]{\mathbf{#1}}
% \cA … \cZ
\newcommand{\cA}{\mathcal{A}}
\newcommand{\cB}{\mathcal{B}}
\newcommand{\cC}{\mathcal{C}}
\newcommand{\cD}{\mathcal{D}}
\newcommand{\cE}{\mathcal{E}}
\newcommand{\cF}{\mathcal{F}}
\newcommand{\cG}{\mathcal{G}}
\newcommand{\cH}{\mathcal{H}}
\newcommand{\cI}{\mathcal{I}}
\newcommand{\cJ}{\mathcal{J}}
\newcommand{\cK}{\mathcal{K}}
\newcommand{\cL}{\mathcal{L}}
\newcommand{\cM}{\mathcal{M}}
\newcommand{\cN}{\mathcal{N}}
\newcommand{\cO}{\mathcal{O}}
\newcommand{\cP}{\mathcal{P}}
\newcommand{\cQ}{\mathcal{Q}}
\newcommand{\cR}{\mathcal{R}}
\newcommand{\cS}{\mathcal{S}}
\newcommand{\cT}{\mathcal{T}}
\newcommand{\cU}{\mathcal{U}}
\newcommand{\cV}{\mathcal{V}}
\newcommand{\cW}{\mathcal{W}}
\newcommand{\cX}{\mathcal{X}}
\newcommand{\cY}{\mathcal{Y}}
\newcommand{\cZ}{\mathcal{Z}}
% \bA … \bZ
\newcommand{\bA}{\mathbb{A}}
\newcommand{\bB}{\mathbb{B}}
\newcommand{\bC}{\mathbb{C}}
\newcommand{\bD}{\mathbb{D}}
\newcommand{\bE}{\mathbb{E}}
\newcommand{\bF}{\mathbb{F}}
\newcommand{\bG}{\mathbb{G}}
\newcommand{\bH}{\mathbb{H}}
\newcommand{\bI}{\mathbb{I}}
\newcommand{\bJ}{\mathbb{J}}
\newcommand{\bK}{\mathbb{K}}
\newcommand{\bL}{\mathbb{L}}
\newcommand{\bM}{\mathbb{M}}
\newcommand{\bN}{\mathbb{N}}
\newcommand{\bO}{\mathbb{O}}
\newcommand{\bP}{\mathbb{P}}
\newcommand{\bQ}{\mathbb{Q}}
\newcommand{\bR}{\mathbb{R}}
\newcommand{\bS}{\mathbb{S}}
\newcommand{\bT}{\mathbb{T}}
\newcommand{\bU}{\mathbb{U}}
\newcommand{\bV}{\mathbb{V}}
\newcommand{\bW}{\mathbb{W}}
\newcommand{\bX}{\mathbb{X}}
\newcommand{\bY}{\mathbb{Y}}
\newcommand{\bZ}{\mathbb{Z}}
% Notation for lambda abstractions and function application. $~$
% is the spacing that should be used between arguments.
\newcommand{\lam}[2]{\lambda #1.\ #2}
% Notation for paths, the interval, and its operations.
\newcommand{\PathP}[3]{\rm{PathP}~ {#1}~ {#2}~ {#3}}
\newcommand{\Path}[3]{\rm{Path}~ {#1}~ {#2}~ {#3}}
\newcommand{\Square}[4]{\rm{Square}~ {#1}~ {#2}~ {#3}~ {#4}}
\newcommand{\ap}[2]{\rm{ap}~ {#1}~ {#2}}
\newcommand{\subst}{\operatorname{subst}}
\newcommand{\ua}{\operatorname{ua}}
\newcommand{\iZ}{\rm{i0}}
\newcommand{\iO}{\rm{i1}}
\newcommand{\ineg}{\lnot}
\newcommand{\imin}{\land}
\newcommand{\imax}{\lor}
\newcommand{\transport}[2]{\rm{transport}~ #1~ #2}
\newcommand{\transp}[3]{\rm{transp}~ #1~ #2~ #3}
\newcommand{\Partial}[2]{\rm{Partial}~ #1~ #2}
\newcommand{\dcomp}{\mathrel{\cdot\cdot}}
\newcommand{\Extn}[2]{{#1}[#2]}
\newcommand{\thecat}[1]{\mathbf{#1}} % Names of "concrete" categories
\newcommand{\ca}[1]{\mathcal{#1}} % Names of variable categories
%% \newcommand{\knowncat}[1]{\newcommand{\csname #1\endcsname}{\thecat{#1}}}
%% \newcommand{\knownbicat}[1]{\newcommand{\csname #1\endcsname}{\thebicat{#1}}}
\newcommand{\ty}{\rm{Type}}
%% \newcommand{\set}{\rm{Set}}
\newcommand{\prop}{\rm{Prop}}
%% \DeclareMathOperator{\id}{id}
%% \DeclareMathOperator{\Id}{Id}
%% \knowncat{Sets}
%% \knowncat{Ab}
%% \knowncat{Graphs}
%% \knowncat{MarkedGraphs}
%% \knowncat{Props}
%% \knowncat{FinSets}
%% \knowncat{Rings}
%% \knowncat{Grp}
%% \knowncat{Rel}
%% \knowncat{Par}
%% \knowncat{Pos}
\renewcommand{\Set}{\thecat{Set}}
% "Postfix" operators that have a subscript and are annoying to write
% out:
\newcommand{\inv}{^{-1}}
\renewcommand{\op}{^{\rm{op}}}
\newcommand{\eps}{\varepsilon}
\newcommand{\B}[1]{\mathbf{B} #1}
\newcommand{\point}[1]{\bullet_{#1}}
\newcommand{\List}[1]{\operatorname{List}(#1)}
\renewcommand{\hom}{\mathbf{Hom}}
\newcommand{\refl}{\mathrm{refl}}
\DeclareMathOperator{\isiso}{is-iso}
\DeclareMathOperator{\isequiv}{is-equiv}
% Relations
\newcommand{\pathto}{\equiv}
\newcommand{\is}{\pathto}
\newcommand{\definedto}{}
\newcommand{\equivto}{\simeq}
\newcommand{\homotopicto}{\sim}
\newcommand{\homotopyto}{\sim}
\newcommand{\naturalto}{\Rightarrow}
\newcommand{\isoto}{\cong}
\newcommand{\monicto}{\rightarrowtail}
\newcommand{\epicto}{\twoheadrightarrow}
% Category names
\newcommand{\C}[1]{\mathbf{#1}}
\newcommand{\homset}[3]{{{#1} \left[ {#2} \to {#3} \right]}}
\newcommand{\horizontalcompose}{\ast}

View File

@@ -0,0 +1,19 @@
\documentclass[tikz,dvisvgm]{standalone}
\usepackage[active,tightpage,auctex,dvips]{preview}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ifxetex}
\usepackage{syd-plex}
\usepackage{quiver}
\usepackage{tikz}
\usepackage{amscd}
\usepackage{metalogo}
% {{preamble}}
\begin{document}
\setlength\abovedisplayskip{0pt} % Remove padding before equation environments.
% {{contents}}
\end{document}

View File

@@ -0,0 +1 @@
../Temml-Plex.css

View File

@@ -0,0 +1 @@
../deerstar.css

View File

@@ -0,0 +1 @@
../tuftesque.css

View File

@@ -0,0 +1,565 @@
@charset "UTF-8";
/* @import "/vendor/ibm-plex-serif/css/ibm-plex-serif-default.min.css"; */
/* @import "/vendor/ibm-plex-sans-kr/css/ibm-plex-sans-kr-default.min.css"; */
/* @import "/vendor/ibm-plex-math/css/ibm-plex-math-default.min.css"; */
/* @import "deerstar.css"; */
html {
font-size: 15px;
}
body {
font-family: "IBM Plex Serif", "IBM Plex Sans KR", "IBM Plex Math", Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
counter-reset: sidenote-counter;
background-color: var(--ds-antler-tan);
color: var(--ds-hoof-black);
}
/* Adds dark mode */
@media (prefers-color-scheme: dark) {
body {
background-color: var(--ds-untitled-1);
color: var(--ds-antler-tan);
}
}
math { font-family: "IBM Plex Math"; }
h1 {
font-weight: 400;
margin-top: 4rem;
margin-bottom: 1.5rem;
font-size: 3.2rem;
line-height: 1;
}
h2 {
font-style: italic;
font-weight: 400;
margin-top: 2.1rem;
margin-bottom: 1.4rem;
font-size: 2.2rem;
line-height: 1;
}
h3 {
font-style: italic;
font-weight: 400;
font-size: 1.7rem;
margin-top: 2rem;
margin-bottom: 1.4rem;
line-height: 1;
}
hr {
display: block;
height: 1px;
width: 55%;
border: 0;
border-top: 1px solid var(--ds-velvet-grey);
margin: 1em 0;
padding: 0;
}
@media (prefers-color-scheme: dark) {
hr {
border-color: var(--ds-velvet-grey);
}
}
p.subtitle {
font-style: italic;
margin-top: 1rem;
margin-bottom: 1rem;
font-size: 1.8rem;
display: block;
line-height: 1;
}
.numeral {
font-family: et-book-roman-old-style;
}
.danger {
color: red;
}
article {
padding-top: 3rem;
padding-bottom: 5rem;
padding-left: 6%;
padding-right: 0;
width: 87.5%;
margin-left: auto;
margin-right: auto;
max-width: 1400px;
}
section {
padding-top: 1rem;
padding-bottom: 1rem;
}
p,
dl,
ol,
.latex-fragment,
ul {
font-size: 1.2rem;
line-height: 1.5rem;
}
p {
margin-top: 1.4rem;
margin-bottom: 1.4rem;
padding-right: 0;
vertical-align: baseline;
hyphens: auto;
}
/* Chapter Epigraphs */
div.epigraph {
margin: 5em 0;
}
div.epigraph > blockquote {
margin-top: 3em;
margin-bottom: 3em;
}
div.epigraph > blockquote,
div.epigraph > blockquote > p {
font-style: italic;
}
div.epigraph > blockquote > footer {
font-style: normal;
}
div.epigraph > blockquote > footer > cite {
font-style: italic;
}
/* end chapter epigraphs styles */
blockquote {
font-size: 1.4rem;
}
blockquote p {
width: 55%;
margin-right: 40px;
}
blockquote footer {
width: 55%;
font-size: 1.1rem;
text-align: right;
}
section > p,
section > footer,
section > table {
width: 55%;
}
/* 50 + 5 == 55, to be the same width as paragraph */
section > dl,
section > ol,
section > ul {
width: 50%;
-webkit-padding-start: 5%;
/* Accounts for the padding from the bullet, resulting in the same width as
paragraphs. */
width: calc(55% - 40px);
}
dt:not(:first-child),
li:not(:first-child) {
margin-top: 0.25rem;
}
figure {
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
max-width: 55%;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
margin: 0 0 3em 0;
}
figcaption {
float: right;
clear: right;
margin-top: 0;
margin-bottom: 0;
font-size: 1.1rem;
line-height: 1.6;
vertical-align: baseline;
position: relative;
max-width: 40%;
text-align: left
}
figure.fullwidth figcaption {
margin-right: 24%;
}
a:link,
a:visited {
color: inherit;
text-underline-offset: 0.1em;
text-decoration-thickness: 0.05em;
}
/* Sidenotes, margin notes, figures, captions */
img {
max-width: 100%;
}
.sidenote,
.marginnote {
float: right;
clear: right;
margin-right: -60%;
width: 50%;
margin-top: 0.3rem;
/* margin-bottom: 0; */
margin-bottom: 1em;
font-size: 1.1rem;
line-height: 1.3;
vertical-align: baseline;
position: relative;
}
.sidenote-number {
counter-increment: sidenote-counter;
}
li .sidenote,
li .margin-note {
/* it's so close lol */
transform: translateX(4px)
}
.sidenote-number:after,
.sidenote:before {
font-family: et-book-roman-old-style;
position: relative;
vertical-align: baseline;
}
.sidenote-number:after {
content: counter(sidenote-counter);
font-size: 1rem;
top: -0.5rem;
left: 0.1rem;
}
.sidenote:before {
content: counter(sidenote-counter) " ";
font-size: 1rem;
top: -0.5rem;
}
blockquote .sidenote,
blockquote .margin-note {
margin-right: -82%;
min-width: 59%;
text-align: left;
}
div.fullwidth,
table.fullwidth {
width: 100%;
}
div.table-wrapper {
overflow-x: auto;
font-family: "Trebuchet MS", "Gill Sans", "Gill Sans MT", sans-serif;
}
.sans {
font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
letter-spacing: .03em;
}
code, pre > code {
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 1.0rem;
line-height: 1.42;
-webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS. See https://github.com/edwardtufte/tufte-css/issues/81#issuecomment-261953409 */
}
.sans > code {
font-size: 1.2rem;
}
h1 > code,
h2 > code,
h3 > code {
font-size: 0.80em;
}
.margin-note > code,
.sidenote > code {
font-size: 1rem;
}
pre > code {
font-size: 0.9rem;
width: 52.5%;
margin-left: 2.5%;
overflow-x: auto;
display: block;
}
pre.fullwidth > code {
width: 90%;
}
.fullwidth {
max-width: 90%;
clear:both;
}
span.newthought {
font-variant: small-caps;
font-size: 1.2em;
}
input.margin-toggle {
display: none;
}
label.sidenote-number {
display: inline-block;
max-height: 2rem; /* should be less than or equal to paragraph line-height */
}
label.margin-toggle:not(.sidenote-number) {
display: none;
}
.iframe-wrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.iframe-wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media (max-width: 760px) {
article {
width: 84%;
padding-left: 8%;
padding-right: 8%;
}
hr,
section > p,
section > footer,
section > table {
width: 100%;
}
pre > code {
width: 97%;
}
section > dl,
section > ol,
section > ul {
width: 90%;
}
figure {
max-width: 90%;
}
figcaption,
figure.fullwidth figcaption {
margin-right: 0%;
max-width: none;
}
blockquote {
margin-left: 1.5em;
margin-right: 0em;
}
blockquote p,
blockquote footer {
width: 100%;
}
label.margin-toggle:not(.sidenote-number) {
display: inline;
}
.sidenote,
.margin-note {
display: none;
}
.margin-toggle:checked + .sidenote,
.margin-toggle:checked + .margin-note {
display: block;
float: left;
left: 1rem;
clear: both;
width: 95%;
margin: 1rem 2.5%;
vertical-align: baseline;
position: relative;
}
label {
cursor: pointer;
}
div.table-wrapper,
table {
width: 85%;
}
img {
width: 100%;
}
}
.org-link.external::after
{ content: "↗"
; vertical-align: super
; font-size: 1rem
; line-height: 0
}
.center
{ align-items: center
; justify-content: center
; display: flex
; max-width: 55%
}
@media (max-width: 760px) {
.center
{ max-width: 90%
}
}
.navbar
{ padding: 0 1rem
; font-size: 1rem
; color: var(--ds-velvet-grey)
; height: 2rem
}
@media (prefers-color-scheme: dark) {
.navbar {
color: var(--ds-untitled-2)
}
}
.navbar-list
{ list-style-type: none
; padding-left: 0
; font-size: 1.2rem
; display: flex
; flex-direction: row
; flex-wrap: wrap
; column-gap: 1.5rem
}
.navbar-list li
{ display: inline
; margin-top: 0
}
#page-info
{ list-style-type: none
; padding-left: 0
; font-size: 0.8rem
; color: var(--ds-velvet-grey)
; text-align: center
}
@media (prefers-color-scheme: dark) {
#page-info {
color: var(--ds-untitled-2)
}
}
.home-link
{ text-decoration: none
}
#references ul
{ width: auto
}
figcaption {
margin-right: -60%;
width: 50%;
margin-top: 1.4rem;
line-height: 1.3;
max-width: unset;
}
figure.fullwidth {
display: inline-block;
}
figure.fullwidth figcaption {
margin-right: 0%;
float: none;
width: auto;
text-align: center;
}
@media (max-width: 760px) {
figcaption,
figure.fullwidth figcaption {
margin-right: 0%;
float: none;
width: auto;
text-align: center;
}
}
.empty-section-message
{ color: var(--ds-untitled-2);
; font-style: italic
; text-align: center
; max-width: 55%
; font-size: 1.5rem
}
.latex-fragment
{ fill: currentColor
}
.latex-fragment.display-math
{ display: block
/* Center it — do we want to do that? */
; align-items: center
; justify-content: center
; display: flex
; max-width: 55%
; width: 55%
}
p > .latex-fragment.display-math
{ max-width: 100%
; width: 100%
}