TeXConfig.cfg

Last Updated: Jun 18, 2025

Download here.

\Preamble{xhtml,mathml,nostyle} 
\Configure{VERSION}{} 
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}} 
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}} 
\Configure{@HEAD}{\HCode{ 
<script type="text/x-mathjax-config"> 
  MathJax.Hub.Config({ 
    TeX: { 
      Macros: { 
        \unexpanded{ ket: ['{\\left|\#1\\right\\rangle}',1]} 
      }, 
      equationNumbers: { autoNumber: "AMS" } 
    }, 
    extensions: ["tex2jax.js"], 
    tex2jax: { 
        \unexpanded{ 
      inlineMath: [ ['\$','\$'], ["\\\\(","\\\\)"] ], 
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],} 
      processEscapes: true 
    } 
  }); 
</script> 
}} 
\Configure{@HEAD}{\HCode{<script type="text/javascript"\Hnewline 
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"\Hnewline 
></script>\Hnewline}} 
 
\ConfigureEnv{minted}{\NoFonts}{\EndNoFonts}{}{} 
 
\newtoks\eqtoks 
\def\AltMath#1${\eqtoks{$#1$}% 
   \HCode{\the\eqtoks}$} 
\Configure{$}{}{}{\expandafter\AltMath} 
\def\AltlMathI#1\){\eqtoks{\(#1\)}% 
        \HCode{\the\eqtoks}} 
\Configure{()}{\AltlMathI}{} 
\def\AltlDisplay#1\]{\eqtoks{\[#1\]}% 
        \HCode{\the\eqtoks}} 
\Configure{[]}{\AltlDisplay}{} 
\def\AltlDisplayI#1$${\eqtoks{$$#1$$}% 
  \HCode{\the\eqtoks}$$} 
\Configure{$$}{}{}{\expandafter\AltlDisplayI} 
\Css{ 
  table td, table th { 
    word-wrap: break-word; 
    overflow-wrap: break-word; 
    white-space: normal !important; 
  } 
  html { 
    padding: 5pt; 
    max-width: 80em; 
    color: \#D8D8D8; 
    font-size: 1.2em; 
  } 
  body { 
    background-color: \#2f3716; 
    font-family: "zen-old-mincho"; 
    word-wrap: break-word; 
    margin: 0 auto; 
  } 
  p { 
    text-align: left; 
    hyphens: auto; 
    margin-bottom: 1em; 
  } 
  a { 
    color: inherit; 
  } 
  .fancyvrb { 
    margin-top: 1em !important; 
    margin-bottom: 1em !important; 
  } 
  .tcolorbox-content { 
    padding-left: 20px; 
  } 
  .selector { 
    font-weight: clamp(550, 3vw, 700); 
  } 
  .ec-lmr-8 { 
    display: inline-block; 
    text-align: right; 
  } 
} 
 
\Configure{graphics*} 
   {pdf} 
   {\Needs{"convert '\csname Gin@base\endcsname.pdf' 
           '\csname Gin@base\endcsname.png'"}% 
   \Picture[pict]{\csname Gin@base\endcsname.png}% 
   \special{t4ht+@File: \csname Gin@base\endcsname.png} 
   } 
 
\setcounter{secnumdepth}{0} 
\renewcommand{\maketitle}{ 
  \ifvmode\IgnorePar\fi\EndP\HCode{<div class="maketitle">\Hnewline} 
  \HCode{<h1 class="title">}\thetitle\HCode{</h1>\Hnewline} 
  \HCode{<div class="updated">}{Last Updated: \thedate}\HCode{</div>} 
  \ifvmode\IgnorePar\fi\EndP\HCode{</div>} 
} 
 
\Css{ 
  .maketitle { 
    text-align: left; 
  } 
  h1.title { 
    font-size: 2.5em; 
    text-align: left; 
  } 
  .updated { 
    text-align: left; 
  } 
  h2.title { 
    font-size: 2em; 
  } 
  .sectionHead { 
    font-weight: bold; 
    border-bottom: 2px solid; 
    font-size: 1.7em; 
  } 
  .subsectionHead { 
    font-weight: bold; 
    font-size: 1.3em; 
  } 
  .subsubsectionHead { 
    font-weight: normal; 
    font-size: 1.2em; 
  } 
  html * { 
    line-height: calc(4px + 2ex + 4px); 
  } 
  figure p { 
    text-align: center; 
  } 
  .sectionHead, .subsectionHead, .subsubsectionHead { 
    margin-top: 0.4em; 
    margin-bottom: 0.25em; 
  } 
  p { 
    margin-top: 0; 
  } 
  .sectionHead + p, .subsectionHead + p, .subsubsectionHead + p { 
  margin-top: 0.15em; 
  } 
} 
 
\Css{ 
  hr.alg-line { 
      border: 0; 
      height: 1px; 
      margin: 0; 
      width: 100%; 
  } 
} 
 
\ConfigureEnv{algorithm} 
  {\ifvmode\IgnorePar\fi\EndP\HCode{<div class="alg-block"><hr class="alg-line">}\par} 
  {\ifvmode\IgnorePar\fi\EndP\HCode{<hr class="alg-line"></div>}\par} 
  {}{} 
 
\Css{ 
  .multicols { 
    column-count: var(--cols, 2); 
    column-gap: 1.5em; 
    column-fill: balance; 
  } 
  .cb { 
    display: block; 
    height: 0; margin: 0; padding: 0; border: 0; 
    break-before: column; 
    -webkit-column-break-before: always; 
  } 
  .multicols h1, .multicols h2, .multicols h3, .multicols h4, 
  .multicols figure, .multicols table, .multicols pre, .multicols .tcolorbox { 
    break-inside: avoid-column; 
  } 
  /* Single-column fallback */ 
  @media (max-width: 768px), (max-aspect-ratio: 1/1) { 
    .multicols { column-count: 1 !important; } 
    .cb { 
      break-before: auto; 
      -webkit-column-break-before: auto; 
      display: none; 
    } 
  } 
} 
 
\Css{ 
  ol.enumerate1, ul.itemize1 { margin: 0.4em 0 0.6em 1.5em; } 
  p + ol.enumerate1, 
  p + ul.itemize1, 
  .sectionHead + ol.enumerate1, 
  .sectionHead + ul.itemize1, 
  .subsectionHead + ol.enumerate1, 
  .subsectionHead + ul.itemize1 { margin-top: 0.2em; } 
  ol.enumerate1 + p, 
  ul.itemize1 + p, 
  ol.enumerate1 + p.noindent, 
  ul.itemize1 + p.noindent { margin-top: 0.25em; } 
  li.enumerate > p:first-child,  li.itemize > p:first-child { margin-top: 0; } 
  li.enumerate > p:last-child,   li.itemize > p:last-child  { margin-bottom: 0.3em; } 
  p.noindent:has(+ ol.enumerate1), 
  p.noindent:has(+ ul.itemize1) { margin-bottom: 0.2em; } 
  ol.enumerate1:has(+ p.noindent), 
  ul.itemize1:has(+ p.noindent) { margin-bottom: 0.2em; } 
  .columns-2 ol.enumerate1, .columns-2 ul.itemize1, 
  .multicols ol.enumerate1, .multicols ul.itemize1 { break-inside: avoid-column; } 
} 
 
\ifdefined\HCode 
  \makeatletter 
  \renewenvironment{multicols}[1]{% 
    \begingroup 
    \ifvmode\IgnorePar\fi\EndP 
    \HCode{<div class="multicols" style="--cols:#1">}\par 
  }{% 
    \ifvmode\IgnorePar\fi\EndP\HCode{</div>}\par\endgroup 
  } 
  \renewcommand{\columnbreak}{% 
    \ifvmode\IgnorePar\fi\EndP\HCode{<i class="cb"></i>}\par 
  } 
  \makeatother 
\fi 
 
\makeatletter 
\ExplSyntaxOn 
\Configure{Gin-dim}{style="width:\fp_eval:n{round(\Gin@req@width/\textwidth*100,2)}\char_generate:nn { \% } { 12 }"} 
\ExplSyntaxOff 
\makeatother 
\begin{document} 
\EndPreamble