diff options
author | Norbert Preining <norbert@preining.info> | 2017-07-13 09:26:18 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2017-07-13 09:26:18 +0900 |
commit | 30e9cda301125dbde368d7bba3331bfd0f8389a1 (patch) | |
tree | 44f0aa317efd985e6490f921d5495cd2d0aa9885 /texmf-dist/source/latex/lmacs/lmacs.dtx | |
parent | d9c316b8eb45d1ca15978bee0e9965b7ab828617 (diff) |
add lmacs popupmenu rangen renditions richtext yt4pdf
Diffstat (limited to 'texmf-dist/source/latex/lmacs/lmacs.dtx')
-rw-r--r-- | texmf-dist/source/latex/lmacs/lmacs.dtx | 138 |
1 files changed, 138 insertions, 0 deletions
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 |