l4-logo/l4logo.pre

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