diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-27 21:25:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-27 21:25:10 +0000 |
commit | 271ee2d07917dcd8566fbdb30ef2642d0a33d88e (patch) | |
tree | 45a6cfe932d7b5fb5fab5e00bbcc7f9be1199744 /Master/texmf-dist/source | |
parent | 6311dfbf83eb2863ae6338376a9c2b3933fdf993 (diff) |
hep-text (27nov21)
git-svn-id: svn://tug.org/texlive/trunk@61172 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/hep-text/hep-text-implementation.dtx | 363 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/hep-text/hep-text.ins | 48 |
2 files changed, 411 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/hep-text/hep-text-implementation.dtx b/Master/texmf-dist/source/latex/hep-text/hep-text-implementation.dtx new file mode 100644 index 00000000000..6821c13e773 --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-text/hep-text-implementation.dtx @@ -0,0 +1,363 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019 by Jan Hajer +% ----------------------------------- +% +% This file 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.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% \fi +% +% \iffalse + +%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%<package>\ProvidesPackage{hep-text}[2021/09/01 v1.0 Some text macros] +%<documentation>\ProvidesFile{hep-text-documentation.tex}[2021/09/01 v1.0 HEP-Text documentation] +% +%<*documentation> + +\RequirePackage[l2tabu, orthodox]{nag} + +\documentclass{ltxdoc} +\AtBeginDocument{\DeleteShortVerb{\|}} +\AtBeginDocument{\MakeShortVerb{\"}} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\usepackage[parskip]{hep-paper} + +\bibliography{bibliography} + +\acronym{CM}{computer modern} +\acronym{LM}{latin modern} + +\usepackage{hologo} + +\newenvironment{columns}[1][.5]{% + \par\vspace{-\bigskipamount}% + \begin{minipage}[t]{\linewidth}% + \begin{minipage}[t]{#1\linewidth}% + \def\column{% + \end{minipage}% + \begin{minipage}[t]{\linewidth-#1\linewidth}% + }% +}{\end{minipage}\end{minipage}\par} + +\MacroIndent=1.5em +\AtBeginEnvironment{macrocode}{\renewcommand{\ttdefault}{clmt}} +%</documentation> + +%<*driver> +\expandafter\newif\csname ifshort\endcsname +\shortfalse +\begin{document} +\DocInput{hep-text-implementation.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{98} +% +% \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}{2019/01/01}{Initial version of the style file.} +% +% \ifshort +%<*documentation> +% \fi +% +\GetFileInfo{hep-text.sty} + +\title{The \software{hep-text} package\thanks{This document corresponds to \software{hep-text}~\fileversion.}} +\subtitle{List and text extensions} +\author{Jan Hajer \email{jan.hajer@unibas.ch}} +\date{\filedate} + +% \ifshort +\begin{document} +% \fi + +\newgeometry{vscale=.8, vmarginratio=3:4, includeheadfoot, left=11em, marginparwidth=4.6cm, marginparsep=3mm, right=7em} + +\maketitle + +\begin{abstract} +The \software{hep-text} package extends \hologo{LaTeX} lists using the \software{enumitem} package and provides some text macros. +\end{abstract} + +The package can be loaded by "\usepackage{hep-text}". + +\DescribeMacro{lang} +The "lang" option sets the used language and takes the values allowed by the \software{babel} package \cite{babel}, that is loaded for its hyphenation support. + +Quotation commands are provided by the \software{csquotes} package \cite{csquotes}. +\DescribeMacro{\enquote} +\DescribeMacro{\MakeOuterQuote} +It provides the convenient macros "\enquote"\marg{text} and "\MakeOuterQuote{}" allowing to leave the choice of quotation marks to \hologo{LaTeX} and use \verb|"| instead of the pair \verb|``| and \verb|''|, respectively. + +\DescribeMacro{\eg} +\DescribeMacro{\vs} +The \software{foreign} package \cite{foreign} defines macros such as "\eg", "\ie", "\cf", and "\vs" which are typeset as \eg, \ie, \cf, and \vs. + +\DescribeMacro{\no} +The "\no"\marg{number} macro is typeset as \no{123}. + +\DescribeMacro{\software} +The "\software"\oarg{version}\marg{name} macro is typeset as \software[\fileversion]{HEP-Paper}. + +\DescribeMacro{\online} +The "\online"\marg{url}\marg{text} macro combines the features of the "\href"\marg{url}\allowbreak\marg{text}\allowbreak \cite{hyperref} and the "\url"\marg{text} \cite{url} macros, resulting in \eg \online{https://ctan.org/pkg/hep-text}{ctan.org/pkg/hep-text}. + + +\DescribeMacro{inlinelist} +\DescribeMacro{enumdescript} +The "inlinelist" and "enumdescript" environments are defined using the \software{enumitem} package \cite{enumitem}. +\begin{columns} +\begin{verbatim} +The three main points are +\begin{inlinelist} + \item one + \item two + \item three +\end{inlinelist} +\end{verbatim} +\column +The three main points are +\begin{inlinelist} + \item one + \item two + \item three +\end{inlinelist} +\end{columns} +\vspace{4ex} +\begin{columns}[.6] +\begin{verbatim} +\begin{enumdescript}[label=\Roman*)] + \item{First} one + \item{Second} two + \item{Third} three +\end{enumdescript} +\end{verbatim} +\column +\begin{enumdescript}[label=\Roman*)] + \item{First} one + \item{Second} two + \item{Third} three +\end{enumdescript} +\end{columns} + +\DescribeMacro{\underline} +The "\underline" macro is redefined to allow line-breaks using the \software{soulutf8} package \cite{soulutf8}. + +% \ifshort +\printbibliography + +\end{document} +% +%</documentation> +% \fi +% +% \StopEventually{ +% \printbibliography +% \PrintChanges +% } +% +% \appendix +% +% \section{Implementation} +% +%<*package> +% +% Load the \software{kvoptions} package \cite{kvoptions} and define a "heptext" namespace. +% \begin{macrocode} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=heptext, + prefix=heptext@ +} +% \end{macrocode} +% +% \begin{macro}{lang} +% Define the "lang" option, which takes the values provided by the \software{babel} package \cite{babel}. +% Make "british" the default language. +% \begin{macrocode} +\DeclareStringOption[british]{lang} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ProcessKeyvalOptions* +% \end{macrocode} +% +% Load the \software{babel} package \cite{babel} for hyphenation and the recommended \software{csquotes} package \cite{csquotes}. +% \begin{macrocode} +\RequirePackage[\heptext@lang]{babel} +\RequirePackage[autostyle]{csquotes} +% \end{macrocode} +% +% \begin{macro}{\underline} +% Load the \software{soulutf8} package \cite{soulutf8} for hyphenable underlined text. +% \begin{macrocode} +\RequirePackage{soulutf8} +\let\underline\textul +% \end{macrocode} +% \end{macro} +% +%\begin{macro}{\vs} +% Load the \software{foreign} package \cite{foreign} in order to highlight abbreviations and vocabularies from foreign languages. +% Add the missing "\vs" command. +% \begin{macrocode} +\RequirePackage{pdftexcmds} +\ifnum\pdf@strcmp{\heptext@lang}{american}=0 + \newcommand{\heptext@lang@foreign}{USenglish} +\else + \ifnum\pdf@strcmp{\heptext@lang}{USenglish}=0 + \newcommand{\heptext@lang@foreign}{USenglish} + \else + \newcommand{\heptext@lang@foreign}{british} + \fi +\fi +\RequirePackage[all, \heptext@lang@foreign]{foreign} +\DeclareRobustCommand\vs{\xperiodafter{{\foreignabbrfont{vs}}}} +% \end{macrocode} +% \end{macro} +% +% The \software{foreign} package relies on the \software{xspace} package \cite{xspace}. +% Ensure that "\xspace" is compatible with the "\enquote" macro from the \software{csquote} package. +% \begin{macrocode} +\xspaceaddexceptions{\csq@qclose@i} +% \end{macrocode} +% +%\begin{macro}{\no} +% Define the macro "\no"\marg{number} for the use of \textnumero\ with appropriate spacing. +% \begin{macrocode} +\newcommand{\no}[1]{\textnumero~#1} +% \end{macrocode} +% \end{macro} +% +%\begin{macro}{\software} +% Define a macro for software with optional version information "\software"\linebreak[1]\oarg{version}\linebreak[1]\marg{name}, using the \software{relsize} package \cite{relsize}. +% \begin{macrocode} +\RequirePackage{relsize} +\newcommand{\software}[2][\hspace{-\fontdimen2\font}]{% + {\smaller[.5]\textsc{#2}~#1}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\online} +% \begin{macro}{\email} +% Define the "\online"\marg{text}\marg{url} macro combining the features of the "\href" and the "\url" macros. +% Define a macro for typesetting emails. +% \begin{macrocode} +\providecommand{\online}[2]{\texttt{#2}}% +\providecommand{\hep@email}[1]{\online{mailto:#1}{#1}} +\providecommand\email{\hep@email} +\AtBeginDocument{\@ifpackageloaded{hyperref}{% + \renewcommand{\online}[2]{\href{#1}{\nolinkurl{#2}}}% + }{} +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\prefix} +% Define the "\prefix"\marg{prefix}\marg{word} macro ensuring the correct linebreak in \prefix{prefix}{word}. +% \begin{macrocode} +\newcommand{\prefix}[2]{(#1\mbox{-)}\allowbreak #2} +% \end{macrocode} +% \end{macro} +% +% \subsection{Lists} +% +% Load the \software{enumitem} package \cite{enumitem}. +% \begin{macrocode} +\RequirePackage[inline]{enumitem} +% \end{macrocode} +% +% \begin{environment}{inlinelist} +% Define an inline list environment. +% \begin{macrocode} +\newlist{inlinelist}{enumerate*}{1} +\setlist*[inlinelist,1]{% + label=\roman*), itemjoin={,\ }, itemjoin*={, and\ }, after=.% +} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{enumdescript} +% Define an enumdescript list environment. +% \begin{macrocode} +\newlist{enum@descript}{enumerate}{2} +\setlist[enum@descript]{label=\arabic*.} +\newenvironment{enumdescript}[1][]{ +\begin{enum@descript}[#1] + \let\hep@item\item + \renewcommand{\item}[2][]{ + \ifx&##1&\hep@item\else\hep@item[##1]\fi + \textbf{##2}\ifx##2\empty\else~\fi\@ifnextchar\par\@gobble\relax + } +}{\end{enum@descript}} +% \end{macrocode} +% \end{environment} +% +%</package> +% +% \section{Readme} +% +%<*readme> +% +% \begin{macrocode} +# The `hep-text` package + +List and text extensions + +## Introduction + +The `hep-text` package extends `LaTeX` lists using the `enumitem package and provides some text macros. + +The package can be loaded by `\usepackage{hep-text}`. + +## Author + +Jan Hajer + +## License + +This file 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.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. +% \end{macrocode} +% +%</readme> +% +% \Finale + +\endinput + +% \PrintIndex +% makeindex -s gglo.ist -o hep-text-implementation.gls hep-text-implementation.glo +% makeindex -s gglo.ist -o hep-text-implementation.ind hep-text-implementation.idx diff --git a/Master/texmf-dist/source/latex/hep-text/hep-text.ins b/Master/texmf-dist/source/latex/hep-text/hep-text.ins new file mode 100644 index 00000000000..1b8b9381d57 --- /dev/null +++ b/Master/texmf-dist/source/latex/hep-text/hep-text.ins @@ -0,0 +1,48 @@ +%% Copyright (C) 2019-2020 by Jan Hajer +%% +%% This file 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.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. + +\input docstrip.tex +\keepsilent +\usedir{tex/latex/hep-text} + +\preamble +This is a generated file. +Copyright (C) 2019-2020 by Jan Hajer +This file 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.3c or later is part of all distributions of +LaTeX version 2005/12/01 or later. +\endpreamble + +\generate{ + \file{hep-text-documentation.tex}{\from{hep-text-implementation.dtx}{documentation}} + \file{hep-text.sty}{\from{hep-text-implementation.dtx}{package}} + \nopreamble\nopostamble\file{README-hep-text.md}{\from{hep-text-implementation.dtx}{readme}} +} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space hep-text.sty} +\Msg{*} +\Msg{* To produce the documentation run the file} +\Msg{* hep-text-documentation.dtx through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} + +\endbatchfile |