From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/lccaps/lccaps.dtx | 156 +++++++++++++++++++++++++++++++++
 1 file changed, 156 insertions(+)
 create mode 100644 macros/latex/contrib/lccaps/lccaps.dtx

(limited to 'macros/latex/contrib/lccaps/lccaps.dtx')

diff --git a/macros/latex/contrib/lccaps/lccaps.dtx b/macros/latex/contrib/lccaps/lccaps.dtx
new file mode 100644
index 0000000000..ee11bbaed3
--- /dev/null
+++ b/macros/latex/contrib/lccaps/lccaps.dtx
@@ -0,0 +1,156 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2018 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
+%   lccaps.dtx 
+%   lccaps.ins
+% and the derived file lccaps.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{lccaps.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{lccaps}
+%<*package>
+  [2018/01/21 v1.0 Lowercased (spaced) small capitals (RG)]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{amssymb,parskip}
+\usepackage{lccaps}
+\providecommand*\pkg{\textsf}
+\providecommand*\option{\textit}
+\providecommand*\url{\texttt}
+\providecommand*\email{\texttt}
+\providecommand*\important{$\blacktriangleright$\space Important note:\space}
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+  \DocInput{lccaps.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{60}
+%
+% \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}{2018/01/21}{Initial version}
+%
+% \GetFileInfo{lccaps.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{lccaps} package\thanks{This document
+%   corresponds to \pkg{lccaps}~\fileversion, dated \filedate.}}
+% \author{Ruben Giannotti\thanks{\email{ruben dot giannotti at gmx dot net}}}
+%
+% \maketitle
+%
+% This tiny package serves the mere purpose of
+% providing a uniform method to use
+% lowercased small capitals (and spaced lowercased small capitals).
+% It relies on the \pkg{iftex}, \pkg{textcase} and \pkg{microtype} package
+% and comes with four new user macros.
+%
+% \DescribeMacro{\textlcc}
+% This is the main feature.
+% It produces forced lowercased \textlcc{small capitals}.
+%
+% \DescribeMacro{\spacedcaps}
+% This is more of an auxiliary macro.
+% But, it can be used at the user level of course.
+% It is meant to be used as a prefix to |\textlcc| or |\textsc|
+% which results in a slightly wider spacing between small capitals:
+%
+% \begin{center}
+%   |\spacedcaps\textlcc{Spaced capitals}| \(\leadsto\)
+%     \spacedcaps\textlcc{Spaced capitals}
+% \end{center}
+%
+% \DescribeMacro{\textslcc}
+% \DescribeMacro{\textssc}
+% Those two are just shorthands for the last mentioned.
+% Technically the very last one exceeds the scope of this package.
+% It is a simple byproduct that should not be harmful.
+%
+% \StopEventually{}
+%
+%    \begin{macrocode}
+\RequirePackage{iftex}
+\RequirePackage{textcase}
+\RequirePackage{microtype}
+\protected\def\lcc@warning{\PackageWarning{lccaps}}
+\DeclareRobustCommand\textlcc[1]{\textsc{\MakeTextLowercase{#1}}}
+\def\spacedcaps#1{%
+  \let\reserved@a=#1%
+  \ifnum
+    \ifx\reserved@a\textsc1\else
+    \ifx\reserved@a\textlcc1\else
+    0\fi\fi
+  =1
+    \expandafter\reserved@lcc
+  \else
+    \lcc@warning{The token preceeding \noexpand\spacedcaps
+      wasn't meant to typeset small capitals, so nothing happend.}%
+    \expandafter\reserved@a
+  \fi
+}
+\def\reserved@lcc#1{%
+  \expandafter\@spacedcaps\expandafter{\reserved@a{#1}}%
+}
+\ifXeTeX
+  \def\@spacedcaps#1{\bgroup\addfontfeature{LetterSpace=5.0}#1\egroup}
+\else
+  \def\@spacedcaps{\textls[50]}
+\fi
+\DeclareRobustCommand\textslcc{\spacedcaps\textlcc}
+\DeclareRobustCommand\textssc{\spacedcaps\textsc}
+%    \end{macrocode}
+%\Finale
+\endinput
-- 
cgit v1.2.3

