summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fetchcls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/fetchcls
Initial commit
Diffstat (limited to 'macros/latex/contrib/fetchcls')
-rw-r--r--macros/latex/contrib/fetchcls/README.md35
-rw-r--r--macros/latex/contrib/fetchcls/fetchcls.dtx128
-rw-r--r--macros/latex/contrib/fetchcls/fetchcls.ins74
-rw-r--r--macros/latex/contrib/fetchcls/fetchcls.pdfbin0 -> 124089 bytes
4 files changed, 237 insertions, 0 deletions
diff --git a/macros/latex/contrib/fetchcls/README.md b/macros/latex/contrib/fetchcls/README.md
new file mode 100644
index 0000000000..580c2e675d
--- /dev/null
+++ b/macros/latex/contrib/fetchcls/README.md
@@ -0,0 +1,35 @@
+# The `fetchcls` package
+
+With standard LaTeX you are able to check for the class in use
+invoking the kernel command `\@ifclassloaded`.
+However, doing so you can't get the explicit class name
+(unless you want to loop over every possible class name
+until `\@ifclassloaded` returns true -- don't do that!)
+With the present package you can get the name with significantly less effort.
+Just load the package as usual:
+
+ \usepackage{fetchcls}
+
+Then, the control sequence `\classname` will hold the name of the current class.
+
+This is version 1.0 of the package.
+
+Copyright (C) 2015 by Ruben Giannotti
+
+---
+
+This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Ruben Giannotti.
+
+This work consists of the files
+ fetchcls.dtx
+ fetchcls.ins
+and the derived file fetchcls.sty.
+
+To install the package
+
+ 1. run `latex fetchcls.ins`
+ 2. move 'fetchcls.sty' to locations where LaTeX will find it
diff --git a/macros/latex/contrib/fetchcls/fetchcls.dtx b/macros/latex/contrib/fetchcls/fetchcls.dtx
new file mode 100644
index 0000000000..e6bb547f5f
--- /dev/null
+++ b/macros/latex/contrib/fetchcls/fetchcls.dtx
@@ -0,0 +1,128 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015 by Ruben Giannotti
+% <ruben dot giannotti at gmx dot net>
+% -------------------------------------------------------
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Ruben Giannotti.
+%
+% This work consists of the files
+% fetchcls.dtx
+% fetchcls.ins
+% and the derived file fetchcls.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{fetchcls.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[2008/04/05]
+%<package>\ProvidesPackage{fetchcls}
+%<*package>
+ [2015/08/11 v1.0 Fetch the class name (RG)]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{parskip}
+\setlength\parindent{0pt}
+\providecommand*\pkg{}
+\providecommand*\url{}
+\providecommand*\email{}
+\renewcommand\pkg{\textsf}
+\renewcommand\url{\texttt}
+\renewcommand\email{\texttt}
+\begin{document}
+ \DocInput{fetchcls.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{13}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v1.0}{2015/08/11}{Initial version}
+%
+% \GetFileInfo{fetchcls.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment,\!,\@empty,\@gobble,\@gobbletwo}
+% \DoNotIndex{\@ifpackageloaded,\@ifpackagewith,\@ifundefined,\@namedef}
+% \DoNotIndex{\@nil,\@onlypreamble,\@tempa,\@tempb,\@tempswafalse,\def}
+% \DoNotIndex{\@tempswatrue,\^,\-,\active,\begingroup,\catcode,\@car,\@cdr}
+% \DoNotIndex{\edef,\else,\endgroup,\endinput,\expandafter,\fi,\if}
+% \DoNotIndex{\if@tempswa,\ifcase,\ifnum,\ifx,\lccode,\let,\lowercase}
+% \DoNotIndex{\MessageBreak,\next,\number,\numexpr,\or,\PackageError}
+% \DoNotIndex{\PackageWarning,\PackageWarningNoLine,\strip@prefix,\@@end}
+% \DoNotIndex{\relax,\space,\string,\DeclareOption,\ProcessOptions}
+% \DoNotIndex{\meaning,\ifdefined,\csname,\chardef,\endcsname,\protect}
+% \DoNotIndex{\input,\RequirePackage,\global,\ifcsname,\makeatother}
+% \DoNotIndex{\@makeother,\the,\toks@}
+%
+% \title{The \pkg{fetchcls} package\thanks{This document
+% corresponds to \pkg{fetchcls}~\fileversion, dated \filedate.}}
+% \author{Ruben Giannotti\thanks{\email{ruben dot giannotti at gmx dot net}}}
+% \date{August, 11 2015}
+%
+% \maketitle
+%
+% With standard \LaTeX\ you are able to check for the class in use
+% invoking the kernel command \cs{@ifclassloaded}.
+% However, doing so you can't get the explicit class name
+% (unless you want to loop over every possible class name
+% until \cs{@ifclassloaded} returns true -- don't do that!)
+% With the present package you can get the name with significantly less effort.
+% Just load the package as usual:
+% \begin{flushleft}
+% \cs{usepackage}\{fetchcls\}
+% \end{flushleft}
+% Then, the control sequence \cs{classname} will hold the name of the current class.
+%
+% \StopEventually{}
+%
+% Let's have a brief look on how the two code lines of this package tackle this task.
+%
+% We will use the \cs{@filelist} to retrive the class name
+% as it contains the class name as its first entry.
+% Since the class is captured with its extension we define a macro
+% with the explicit class extension of \LaTeX\ as delimiter.
+% Then the rest will be read until the end and thrown away.
+% Everything in front of the delimiter will be written into \cs{classname}.
+% \begin{macrocode}
+\def\f@tchcls#1.cls#2 {\def\classname{#1}}
+% \end{macrocode}
+% The next and alredy last step consists in
+% apllying \cs{f@tchcls} to the \cs{@filelist}
+% while ensuring that it gets expanded before \cs{f@tchcls} reads it.
+% \begin{macrocode}
+\begingroup\edef\x{\endgroup\noexpand\f@tchcls\@filelist\space}\x
+% \end{macrocode}
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/fetchcls/fetchcls.ins b/macros/latex/contrib/fetchcls/fetchcls.ins
new file mode 100644
index 0000000000..ec8977e3f3
--- /dev/null
+++ b/macros/latex/contrib/fetchcls/fetchcls.ins
@@ -0,0 +1,74 @@
+% Copyright (C) 2015 by Ruben Giannotti
+% <ruben dot giannotti at gmx dot net>
+% -------------------------------------------------------
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Ruben Giannotti.
+%
+% This work consists of the files
+% fetchcls.dtx
+% fetchcls.ins
+% and the derived file fetchcls.sty.
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/fetchcls}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2015 by Ruben Giannotti
+<ruben dot giannotti at gmx dot net>
+-------------------------------------------------------
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any
+later version. The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions
+of LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Enrico Gregorio.
+
+This work consists of the files
+ fetchcls.dtx
+ fetchcls.ins
+and the derived file fetchcls.sty.
+
+\endpreamble
+
+\generate{\file{fetchcls.sty}{\from{fetchcls.dtx}{package}}}
+
+\def\tmpa{plain}
+\ifx\tmpa\fmtname\endgroup\expandafter\bye\fi
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* fetchcls.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* fetchcls.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/fetchcls/fetchcls.pdf b/macros/latex/contrib/fetchcls/fetchcls.pdf
new file mode 100644
index 0000000000..f067f0c3a3
--- /dev/null
+++ b/macros/latex/contrib/fetchcls/fetchcls.pdf
Binary files differ