269 lines
10 KiB
Plaintext
269 lines
10 KiB
Plaintext
!{ meta-comment
|
|
vim: textwidth=75 ft=predtx
|
|
|
|
~ NOTE: This file will be pre-processed using awk to perform the following:
|
|
~ Comment-out using ~ as the comment character
|
|
~ Delete blank lines
|
|
~ Put lines between @{ and }@ in a macrocode environment
|
|
~ Protect lines between @{ and }@ from auto-commenting
|
|
~ Protect lines between #{ and }# from auto-commenting
|
|
~ Automatically comment all lines
|
|
~ Replace !{ and }! with \iffalse and \fi respectively
|
|
|
|
~ This is all done with the following awk script:
|
|
~ /^@{/ { protect=1; print " \\begin{macrocode}"; next }
|
|
~ /^}@/ { protect=0; print " \\end{macrocode}"; next }
|
|
~ /^#{/ { protect=1; next }
|
|
~ /^}#/ { protect=0; next }
|
|
~ { if (protect) { print; next }
|
|
~ sub(/~.*/,"",$0);
|
|
~ gsub(/!{/,"\\iffalse",$0);
|
|
~ gsub(/}!/,"\\fi",$0);
|
|
~ if (!match($0, /^[[:blank:]]*$/)) print "% " $0;
|
|
~ }
|
|
|
|
<*internal>
|
|
#{
|
|
\iffalse
|
|
}#
|
|
</internal>
|
|
|
|
<*readme>
|
|
#{
|
|
|
|
|
-------:| -----------------------------------------------------------------
|
|
l4logo:| L4 Logo
|
|
Author:| Louis A. Burke
|
|
E-mail:| lburke@labprogramming.net
|
|
License:| Released under the LaTeX Project Public License v1.3c or later
|
|
See:| http://www.latex-project.org/lppl.txt
|
|
|
|
|
|
Short description:
|
|
This package is used to render the L4 logo as a tikz picture. It was created by
|
|
modifying the output of svg2tikz.
|
|
}#
|
|
</readme>
|
|
|
|
<*internal>
|
|
#{
|
|
\fi
|
|
\def\nameofplainTeX{plain}
|
|
\ifx\fmtname\nameofplainTeX\else
|
|
\expandafter\begingroup
|
|
\fi
|
|
}#
|
|
</internal>
|
|
|
|
<*install>
|
|
#{
|
|
\input docstrip.tex
|
|
\keepsilent
|
|
\askforoverwritefalse
|
|
\preamble
|
|
-------:| -----------------------------------------------------------------
|
|
l4logo:| L4 Logo
|
|
Author:| Louis A. Burke
|
|
E-mail:| lburke@labprogramming.net
|
|
License:| Released under the LaTeX Project Public License v1.3c or later
|
|
See:| http://www.latex-project.org/lppl.txt
|
|
|
|
\endpreamble
|
|
\postamble
|
|
|
|
Copyright (C) 2021 by Louis A. Burke <lburke@labprogramming.net>
|
|
|
|
This work may be distributed and/or modified under the
|
|
conditions of the LaTeX Project Public License (LPPL), either
|
|
version 1.3c of this license or (at your option) any later
|
|
version. The latest version of this license is in the file:
|
|
|
|
http://www.latex-project.org/lppl.txt
|
|
|
|
This work is "maintained" (as per LPPL maintenance status) by
|
|
Louis A. Burke.
|
|
|
|
This work consists of the file l4logo.dtx and a Makefile.
|
|
Running "make" generates the derived files README, l4logo.pdf and l4logo.sty.
|
|
Running "make inst" installs the files in the user's TeX tree.
|
|
Running "make install" installs the files in the local TeX tree.
|
|
|
|
\endpostamble
|
|
|
|
\usedir{tex/latex/l4logo}
|
|
\generate{
|
|
\file{\jobname.sty}{\from{\jobname.dtx}{package}}
|
|
}
|
|
}#
|
|
</install>
|
|
<install>\endbatchfile
|
|
|
|
<*internal>
|
|
#{
|
|
\usedir{source/latex/l4logo}
|
|
\generate{
|
|
\file{\jobname.ins}{\from{\jobname.dtx}{install}}
|
|
}
|
|
\nopreamble\nopostamble
|
|
\usedir{doc/latex/l4}
|
|
\generate{
|
|
\file{README.md}{\from{\jobname.dtx}{readme}}
|
|
}
|
|
\ifx\fmtname\nameofplainTeX
|
|
\expandafter\endbatchfile
|
|
\else
|
|
\expandafter\endgroup
|
|
\fi
|
|
}#
|
|
</internal>
|
|
|
|
}!
|
|
|
|
!{
|
|
|
|
<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
<package>\ProvidesPackage{l4logo}[2021/07/09 v1.00 L4 Logo]
|
|
|
|
<*driver>
|
|
#{
|
|
\ProvidesFile{l4logo.dtx}
|
|
\documentclass{ltxdoc}
|
|
\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry}
|
|
\usepackage[numbered]{hypdoc}
|
|
\usepackage{\jobname}
|
|
|
|
\EnableCrossrefs
|
|
\CodelineIndex
|
|
\RecordChanges
|
|
\begin{document}
|
|
\DocInput{\jobname.dtx}
|
|
\end{document}
|
|
}#
|
|
</driver>
|
|
|
|
}!
|
|
|
|
\CheckSum{0}
|
|
|
|
\GetFileInfo{\jobname.dtx}
|
|
\DoNotIndex{\newcommand,\newenvironment}
|
|
|
|
\title{^^A
|
|
\textsf{l4logo} --- L4 Logo\thanks{^^A
|
|
This file describes version \fileversion, last revised ^^A
|
|
\filedate.^^A
|
|
}^^A
|
|
}
|
|
|
|
\author{Louis A. Burke\thanks{E-mail: lburke@labprogramming.net}}
|
|
\date{Released \filedate}
|
|
|
|
\maketitle
|
|
|
|
\changes{v1.00}{2021/07/02}{First public release}
|
|
|
|
\begin{abstract}
|
|
This package is used to render the L4 logo as a tikz picture. It was created by
|
|
modifying the output of svg2tikz.
|
|
\end{abstract}
|
|
|
|
\section{Usage}
|
|
|
|
This package provides a single command |\logo| which renders the L4 logo.
|
|
|
|
\DescribeMacro{\logo}
|
|
|
|
This is the macro that typesets the logo in a tikz picture.
|
|
|
|
\StopEventually{^^A
|
|
\PrintChanges
|
|
\PrintIndex
|
|
}
|
|
|
|
\section{Implementation}
|
|
|
|
<*package>
|
|
|
|
\subsection{Included Packages}
|
|
|
|
This package only depends on tikz:
|
|
|
|
@{
|
|
\RequirePackage{tikz}
|
|
}@
|
|
|
|
\subsection{Logo Macro}
|
|
|
|
\begin{macro}{\logo}
|
|
This is the definition of the logo macro, as generated by svg2tikz and
|
|
manually modified.
|
|
|
|
@{
|
|
\newcommand{\logo}{\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
|
|
\begin{scope}[fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.500,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.250,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.125,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.062,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.031,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.016,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\begin{scope}[scale=0.008,fill=white]
|
|
\path[fill,opacity=0.250] (0.0000,0.0000) -- (0.0000,150.0000) -- (100.0000,150.0000) -- (100.0000,125.0000) -- (25.0000,125.0000) -- (25.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.500] (100.0000,0.0000) -- (100.0000,150.0000) -- (200.0000,150.0000) -- (200.0000,125.0000) -- (125.0000,125.0000) -- (125.0000,0.0000) -- cycle;
|
|
\path[fill,opacity=0.750] (0.0000,150.0000) -- (0.0000,300.0000) -- (100.0000,300.0000) -- (100.0000,275.0000) -- (25.0000,275.0000) -- (25.0000,150.0000) -- cycle;
|
|
\path[fill] (100.0000,150.0000) -- (100.0000,300.0000) -- (200.0000,300.0000) -- (200.0000,275.0000) -- (125.0000,275.0000) -- (125.0000,150.0000) -- cycle;
|
|
\end{scope}
|
|
|
|
\end{tikzpicture}}
|
|
}@
|
|
\end{macro}
|
|
|
|
@{
|
|
\endinput
|
|
}@
|
|
|
|
</package>
|
|
\Finale
|