From 8286136dd8363bdb61246528fd58a970c7eb1256 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 14 Sep 2020 03:02:44 +0000
Subject: CTAN sync 202009140302

---
 support/lua/llmk/llmk-doc.cls | 295 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 295 insertions(+)
 create mode 100644 support/lua/llmk/llmk-doc.cls

(limited to 'support/lua/llmk/llmk-doc.cls')

diff --git a/support/lua/llmk/llmk-doc.cls b/support/lua/llmk/llmk-doc.cls
new file mode 100644
index 0000000000..fedf4a7a2c
--- /dev/null
+++ b/support/lua/llmk/llmk-doc.cls
@@ -0,0 +1,295 @@
+% Document class for llmk reference manual
+% Copyright 2020 Takuto Asakura (wtsnjp)
+% distributed under the MIT licence
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{llmk-doc}
+  [2020/08/22 Document class for llmk reference manual]
+
+% class options
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\ProcessOptions\relax
+
+% remove "draft" from global options list
+% (code from https://tex.stackexchange.com/questions/33245/)
+\def\@clearglobaloption#1{%
+  \def\@tempa{#1}%
+  \def\@tempb{\@gobble}%
+  \@for\next:=\@classoptionslist\do
+    {\ifx\next\@tempa
+       \message{Cleared  option \next\space from global list}%
+     \else
+       \edef\@tempb{\@tempb,\next}%
+     \fi}%
+  \let\@classoptionslist\@tempb
+  \expandafter\ifx\@tempb\@gobble
+    \let\@classoptionslist\@empty
+  \fi}
+\@clearglobaloption{draft}
+
+% basic dependency
+\LoadClass[a4paper,oneside,fleqn,parskip=half-]{scrartcl}
+\RequirePackage[fleqn]{amsmath}
+\RequirePackage{graphicx}
+\RequirePackage{booktabs}
+\RequirePackage{bxtexlogo}
+\RequirePackage[british]{babel}
+\RequirePackage{needspace}
+\RequirePackage{xunicode}
+\RequirePackage{fancyvrb}
+\RequirePackage{listings}
+\RequirePackage{xparse}
+
+% logo
+\input{llmk-logo-code}
+\RequirePackage[no-math]{fontspec}
+\defaultfontfeatures{Ligatures=TeX}
+\newcommand{\logomainfont}{\fontspec{Helvetica Neue}}
+\newcommand{\logosubfont}{\fontspec{Helvetica Neue Thin}}
+
+% font settings
+\let\Zbar\relax
+\RequirePackage[defaultsups]{newtxtext}
+\RequirePackage[varqu,varl]{inconsolata}
+\RequirePackage[bigdelims,vvarbb]{newtxmath}
+
+% for headings
+%\setkomafont{title}{}
+%\setkomafont{subtitle}{\Huge\itshape}
+\setkomafont{author}{}
+\setkomafont{date}{}
+\deffootnote[1.5em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}\thinspace}
+
+% headers
+\RedeclareSectionCommand[
+  runin=false,
+  afterindent=false,
+  beforeskip=\baselineskip,
+  afterskip=.5\baselineskip]{section}
+\RedeclareSectionCommand[
+  runin=false,
+  afterindent=false,
+  beforeskip=\baselineskip,
+  afterskip=.3\baselineskip]{subsection}
+
+% colors
+\RequirePackage{xcolor}
+\definecolor{links}{named}{violet}
+\definecolor{special}{rgb}{0,0.5,0}
+\definecolor{code}{rgb}{0,0,0.6}
+
+% tikz for the logo
+\RequirePackage{tikz}
+\usetikzlibrary{shapes, positioning}
+
+% list environments
+\RequirePackage{enumitem}
+\newlength\lssep \setlength\lssep{\smallskipamount}
+\setlist{noitemsep, topsep=\lssep, partopsep=\lssep}
+
+% hyperref and bookmark
+\RequirePackage[
+  colorlinks=true, linkcolor=links, urlcolor=links, citecolor=links,
+  bookmarks=true, bookmarksnumbered=true, bookmarksopen=true,
+  bookmarksopenlevel=2]{hyperref}
+\RequirePackage{bookmark}
+
+% text styles
+\DeclareUrlCommand\path{\urlstyle{tt}\color{links}}
+\DeclareTextFontCommand{\emph}{\color{code}}
+
+% for metadata
+\AtBeginDocument{%
+  \bgroup
+  \def\and{, }%
+  \hypersetup{%
+    pdftitle={\@title},
+    pdfauthor={\@author},
+    pdfsubject={\@subtitle},
+    pdfkeywords={\@keywords}}
+  \egroup}
+\RequirePackage[yyyymmdd]{datetime}
+\renewcommand{\dateseparator}{-}
+
+% title
+\newcommand*{\keywords}[1]{\gdef\@keywords{#1}}
+\renewcommand*{\@maketitle}{%
+  \global\@topnum=\z@
+  \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
+  \ifx\@titlehead\@empty \else
+    \begin{minipage}[t]{\textwidth}
+      \usekomafont{titlehead}{\@titlehead\par}%
+    \end{minipage}\par
+  \fi
+  \null
+  \vskip 2em%
+  \begin{center}%
+    \ifx\@subject\@empty \else
+      {\usekomafont{subject}{\@subject \par}}%
+      \vskip 1.5em
+    \fi
+    {\llmkLogo[1.2]}% put the logo
+    \vskip 1em
+    {\fontsize{1.2cm}{0pt}\selectfont\logomainfont llmk}
+    \vskip .3em
+    {\fontsize{0.5cm}{0pt}\selectfont\logosubfont The Light {\LaTeX} Make}
+    \vskip .5em
+    %{\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}%
+    \vskip 1em
+    {%
+      \usekomafont{author}{%
+        \lineskip .5em%
+        \begin{tabular}[t]{c}
+          \@author
+        \end{tabular}\par
+      }%
+    }%
+    \vskip .75em%
+    {\usekomafont{date}{\@date \par}}%
+    \vskip \z@ \@plus 1em
+    {\usekomafont{publishers}{\@publishers \par}}%
+    \ifx\@dedication\@empty \else
+      \vskip 2em
+      {\usekomafont{dedication}{\@dedication \par}}%
+    \fi
+  \end{center}%
+  \par
+  \vskip 2em
+}
+
+% some macros
+\newcommand*{\prog}[1]{\textsf{#1}}
+\newcommand*{\Dash}{\thinspace---\thinspace}
+\newcommand*{\email}[1]{\href{mailto:#1}{\code{#1}}}
+\newcommand*{\ie}{i.e.,\,}
+\newcommand*{\eg}{e.g.,\,}
+\newcommand*{\aka}{a.k.a.\,}
+\newcommand*{\hyph}{-}
+\newcommand*{\meta}[1]{\bgroup
+  \normalfont\color{special}$\langle$\textit{#1}$\rangle$\egroup}
+\newcommand*{\code}[1]{\bgroup
+  \chardef\_=`\_\code@font #1\egroup}
+\newcommand*{\cs}[1]{\texttt{\char`\\#1}}
+\newcommand*{\sopt}[1]{\hyperlink{clo:#1}{\code{\hyph#1}}}
+\newcommand*{\lopt}[1]{\hyperlink{clo:#1}{\code{\hyph{}\hyph#1}}}
+\newcommand*{\ckey}[1]{\bgroup
+  \def\_{-}\def\meta##1{##1}%
+  \edef\x{\noexpand\def\noexpand\@tmp@hyname{ckey:#1}}%
+  \expandafter\egroup\x
+  \hyperlink{\@tmp@hyname}{\code{#1}}}
+\newcommand*{\progname}[1]{\bgroup
+  \def\_{-}\def\meta##1{##1}%
+  \edef\x{\noexpand\def\noexpand\@tmp@hyname{prog:#1}}%
+  \expandafter\egroup\x
+  \hyperlink{\@tmp@hyname}{\code{#1}}}
+\newcommand*{\type}[1]{\textcolor{special}{#1}}
+
+% verbatim
+\def\code@font{% code
+  \color{code}\normalfont\ttfamily}
+\fvset{%
+  formatcom=\code@font,
+  commandchars=\\\{\}}
+
+% listings
+\lstdefinelanguage{toml}{
+  columns=fullflexible,
+  morecomment=[l]{\#},
+  commentstyle=\color{darkgray}\ttfamily,
+  morekeywords={},
+  otherkeywords={=}}
+\lstdefinestyle{toml}{
+  language={toml},
+  numbers=left,
+  numberstyle=\tiny,
+  numbersep=5pt,
+  breaklines=true,
+  frame=l,
+  xleftmargin=15pt,
+  xrightmargin=15pt,
+  basicstyle=\ttfamily\small,
+  stepnumber=1,
+  keywords={
+    args,aux_file,aux_empty_size,command,generated_target,opts,
+    postprocess,target,sequence
+  },
+  keywordstyle={\color{code}},
+  alsoletter={=},
+  keywords=[2]{=},
+  keywordstyle=[2]{\color{black}},
+  %keywords=[3]{true,false},
+  %keywordstyle=[3]{\color{special}},
+  %string=[b]",
+  %stringstyle={\color{special}},
+  comment=[l]\#,
+  commentstyle=\color{darkgray}}
+\lstdefinestyle{latex}{
+  columns=fullflexible,
+  language=[LaTeX]{TeX},
+  numbers=left,
+  numberstyle=\tiny,
+  numbersep=5pt,
+  breaklines=true,
+  frame=l,
+  xleftmargin=15pt,
+  xrightmargin=15pt,
+  basicstyle=\ttfamily\small,
+  stepnumber=1,
+  texcsstyle=*{\color{code}},
+  commentstyle=\color{darkgray}}
+
+% manual entries
+\newenvironment{manual@entry}{\begin{list}{}{%
+  \setlength{\leftmargin}{2em}%
+  \setlength{\itemindent}{0pt}%
+  \setlength{\itemsep}{0pt}%
+  \setlength{\parsep}{0pt}%
+  \setlength{\rightmargin}{0em}%
+  }\item}{\end{list}}
+
+\NewDocumentEnvironment{clopt}{ m o }
+  {%
+    \par\vskip.5\baselineskip
+    \bgroup
+    \def\sopt##1{\hypertarget{clo:##1}{\code{\hyph##1}}}%
+    \def\lopt##1{\hypertarget{clo:##1}{\code{\hyph{}\hyph##1}}}%
+    \needspace{3\baselineskip}\noindent #1\egroup
+    \IfNoValueF{#2}{\hfill (#2)}%
+    \begin{manual@entry}%
+  }
+  {\ifvmode\else\unskip\fi\end{manual@entry}}
+
+\NewDocumentEnvironment{confkey}{ m m o }
+  {%
+    \par\vskip\baselineskip
+    \bgroup
+    \def\_{-}\def\meta##1{##1}%
+    \edef\x{\noexpand\def\noexpand\@tmp@hyname{ckey:#1}}%
+    \expandafter\egroup\x
+    \needspace{3ex}\noindent
+    \hypertarget{\@tmp@hyname}{\code{#1} [#2]}%
+    \IfNoValueF{#3}{\hfill (#3)}%
+    \begin{manual@entry}%
+  }
+  {\ifvmode\else\unskip\fi\end{manual@entry}}
+
+\NewDocumentCommand{\Program}{ m }
+  {%
+    \bgroup
+    \def\_{-}\def\meta##1{##1}%
+    \edef\x{\noexpand\def\noexpand\@tmp@hyname{prog:#1}}%
+    \expandafter\egroup\x
+    \hypertarget{\@tmp@hyname}{\paragraph{Program \code{#1}}}%
+  }
+
+% code in hors-text
+\newenvironment{htcode}
+  {\SaveVerbatim[samepage]{verbmat}}
+  {%
+    \endSaveVerbatim
+    \par\medskip\noindent\hspace*{2em}%
+    \BUseVerbatim{verbmat}%
+    \par\medskip\@endpetrue
+  }
+
+\DefineShortVerb{\|}
+% EOF
-- 
cgit v1.2.3

