From 30e9cda301125dbde368d7bba3331bfd0f8389a1 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Thu, 13 Jul 2017 09:26:18 +0900
Subject: add lmacs popupmenu rangen renditions richtext yt4pdf

---
 texmf-dist/source/latex/lmacs/lmacs.dtx | 138 ++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)
 create mode 100644 texmf-dist/source/latex/lmacs/lmacs.dtx

(limited to 'texmf-dist/source/latex/lmacs/lmacs.dtx')

diff --git a/texmf-dist/source/latex/lmacs/lmacs.dtx b/texmf-dist/source/latex/lmacs/lmacs.dtx
new file mode 100644
index 00000000..23c3d08a
--- /dev/null
+++ b/texmf-dist/source/latex/lmacs/lmacs.dtx
@@ -0,0 +1,138 @@
+% \iffalse meta-comment
+% http://www.texdev.net/2009/10/06/a-model-dtx-file/
+% !TEX program  = pdfLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+  \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+\endpreamble
+\ifx\fmtname\nameofplainTeX
+\generate{
+  \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+\fi
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\ifx\fmtname\nameofplainTeX
+  \expandafter\endbatchfile\else
+  \expandafter\endgroup\fi
+%</internal>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{lmacs}
+%<package> [2012/05/30 v1.1 Imports local macro files]
+%<*driver>
+\documentclass{ltxdoc}
+%\usepackage{\jobname}
+%\usepackage[numbered]{hypdoc}
+%\EnableCrossrefs
+%\CodelineIndex
+%\RecordChanges
+\begin{document}
+  \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%\GetFileInfo{\jobname.sty}
+%
+%\title{The  \textsf{\jobname} Package}
+%\author{D. P. Story}
+%\date{Released \today}
+%
+%\maketitle
+%
+%\StopEventually{^^A
+%  \PrintChanges
+%  \PrintIndex
+%}
+%
+%    \begin{macrocode}
+%<*package>
+%    \end{macrocode}
+% \paragraph*{Description.} This package is used to clean up the
+% preamble of {\LaTeX} files. Some preambles have a (large) number of definitions
+% in them. To clean up the preamble, move the definitions in the preamble into a separate file, and
+% use this package in import them into your preamble. Normally,
+% \textsf{lmacs} would have a position that follows all packages for the
+% document.
+%
+% \textsf{lmacs} stands for \underbar{l}ocal \underbar{mac}ro\underbar{s}. Normally, the files referenced are in the same folder
+% as the main source file; they should not (but can) be in the search path of {\LaTeX}.
+%
+% \paragraph*{Demo files:} \texttt{lmacs\_tst.tex} (a simple latex source)
+% and \texttt{lmacs\_aeb.tex} (a file that uses the \textsf{web} and \textsf{exerquiz} packages).
+% These are found in the \texttt{examples} folder.
+%
+% \paragraph*{Documentation and Code.}
+% We begin by requiring \texttt{kvoptions}, this package does not test for the presence
+% of a class file, so we can use it. It allows us to define key-values as options of the
+% package.
+%    \begin{macrocode}
+\RequirePackage{kvoptions}[2009/07/21]
+%    \end{macrocode}
+%    \begin{macrocode}
+%    \end{macrocode}
+%    \begin{macro}{cfg}
+%    \begin{macro}{def}
+%    \begin{macro}{js}
+%    With these keys, you can specify the file with the specified extension be imported.
+%    For example, the following line
+%\begin{verbatim}
+%   \usepackage[cfg=myconf,def=mydef,js=myjs]{lmacs}
+%\end{verbatim}
+% will import (using \cs{InputIfFileExists}) the files \texttt{myconf.cfg},
+% \texttt{mydef.def}, and \texttt{myjs.js}. Multiple specifications of the same
+% extension is permitted, for example,
+%\begin{verbatim}
+%   \usepackage[def=mydef1,def=mydef2]{lmacs}
+%\end{verbatim}
+%    \begin{macrocode}
+\let\LM@inputlist\@empty
+%    \end{macrocode}
+% \cmd{\LM@input} inputs \texttt{\#1.\#2}, while \cmd{\LM@warning} issues
+% a package warning if \texttt{\#1.\#2} is not found.
+%    \begin{macrocode}
+\newcommand{\LM@input}[2]{\InputIfFileExists{#1.#2}{}%
+    {\LM@warning{#1}{#2}}}
+\newcommand{\LM@warning}[2]{\PackageWarning{lmacs}
+            {The file #1.#2 cannot be found}}
+%    \end{macrocode}
+% \DescribeMacro{!cfg}\DescribeMacro{!def}\DescribeMacro{!js}For each of these options, we add the specified file to
+% \cs{LM@inputlist}, this will be executed at the end of the package. The three options
+% \texttt{!cfg}, \texttt{!def}, \texttt{!js} do nothing, making it easy to include, or
+% not include a file.
+%    \begin{macrocode}
+\define@key{lmacs}{cfg}{\g@addto@macro\LM@inputlist{\LM@input{#1}{cfg}}}
+\define@key{lmacs}{!cfg}{}
+\define@key{lmacs}{def}{\g@addto@macro\LM@inputlist{\LM@input{#1}{def}}}
+\define@key{lmacs}{!def}{}
+\define@key{lmacs}{js}{\g@addto@macro\LM@inputlist{\LM@input{#1}{js}}}
+\define@key{lmacs}{!js}{}
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%    \begin{macrocode}
+\ProcessKeyvalOptions{lmacs}
+%    \end{macrocode}
+%    Once the options have been process, we execute the command
+%    \cs{LM@inputlist} which contains a list of the files to be input.
+%    \begin{macrocode}
+\LM@inputlist
+%    \end{macrocode}
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+%\Finale
-- 
cgit v1.2.3

