diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-27 21:22:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-27 21:22:16 +0000 |
commit | a335c11c3b2ac8578b2daa5904265f1841f3985b (patch) | |
tree | 7b1523f0c10270485d2530ac557a2b25c6088289 /Master/texmf-dist/tex/latex/hep-acronym | |
parent | 9c84519331fca490e63fd9d8d19ccf4db55803ca (diff) |
hep-acronym (27nov21)
git-svn-id: svn://tug.org/texlive/trunk@61168 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hep-acronym')
-rw-r--r-- | Master/texmf-dist/tex/latex/hep-acronym/hep-acronym.sty | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hep-acronym/hep-acronym.sty b/Master/texmf-dist/tex/latex/hep-acronym/hep-acronym.sty new file mode 100644 index 00000000000..1cb970be785 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hep-acronym/hep-acronym.sty @@ -0,0 +1,192 @@ +%% +%% This is file `hep-acronym.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hep-acronym-implementation.dtx (with options: `package') +%% This is a generated file. +%% 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. +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{hep-acronym}[2021/08/01 v1.0 Acronyms using glossaries] + +\RequirePackage[nostyles]{glossaries-extra} +\setabbreviationstyle{long-hyphen-short-hyphen} +\glsenableentrycount +\glssetcategoryattribute{abbreviation}{entrycount}{1} +\AtBeginDocument{ + \@ifpackageloaded{hyperref}{ + \providecommand{\glsxtrusefield}[2]{\@gls@entry@field{#1}{#2}} + \providecommand{\glsxtrsetfieldifexists}[3]{\glsdoifexists{#1}{#3}} + \providecommand{\gGlsXtrSetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}{% + \csgdef{glo@\glsdetoklabel{#1}@#2}{#3}% + }% + } + \glssetcategoryattribute{abbreviation}{nohyperfirst}{true} + \renewcommand*{\glsdonohyperlink}[2]{{% + \glsxtrprotectlinks\edef\fieldvalue{% + \glsxtrusefield{\glslabel}{hastarget}% + }% + \ifdefstring\fieldvalue{true}{#2}{% + \gGlsXtrSetField{\glslabel}{hastarget}{true}% + \glsdohypertarget{#1}{#2}% + }% + }} + }{\providecommand{\pdfstringdefDisableCommands}[1]{}} +} +\RequirePackage[excludeor]{everyhook} +\newcommand{\begin@sentence}{1001} +\PushPostHook{par}{{\spacefactor=\begin@sentence}} +\def\frenchspacing{% + \sfcode`\.\begin@sentence \sfcode`\?\begin@sentence + \sfcode`\!\begin@sentence \sfcode`\:\begin@sentence + \sfcode`\;\@m \sfcode`\,\@m +} +\newcommand{\if@begin@of@sentence}[2]{\leavevmode\protecting{% + \ifboolexpr{ test {\ifnumcomp{\spacefactor}{=}{3000}} or% + test {\ifnumcomp{\spacefactor}{=}{2000}} or% + test {\ifnumcomp{\spacefactor}{=}{\begin@sentence}}% + }{#1}{#2}% +}} +\RequirePackage{xparse} +\ProvideDocumentCommand{\mathdef}{mO{0}m}{% + \expandafter\let\csname hep@text\string#1\endcsname=#1 + \expandafter\newcommand\csname hep@math\string#1\endcsname[#2]{#3} + \DeclareRobustCommand#1{% + \ifmmode + \expandafter\let\expandafter\next\csname% + hep@math\string#1\endcsname% + \else + \expandafter\let\expandafter\next\csname% + hep@text\string#1\endcsname% + \fi + \next + }% +} +\RequirePackage{xspace} +\RequirePackage{amstext} +\NewDocumentCommand{\acronym}{somsmo}{ + \newabbreviation[ + type=\acronymtype, + sort=#3, + \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}, + longplural=\IfNoValueTF{#6}{#5s}{#6} + ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#5} + \expandafter\newcommand\csname#3\endcsname[1][]{% + \if@begin@of@sentence{% + \ifglsused{#3}{\cgls{#3}[##1]}{\cGls{#3}[##1]}% + }{\cgls{#3}[##1]}% + \ifnum\glsentrycurrcount{#3}>1\relax + \IfBooleanTF{#4}{}{\@\xspace}% + \else\@\xspace\fi + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{% + \IfNoValueTF{#2}{#3}{#2} }% + } + \expandafter\mathdef\csname#3\endcsname{% + \text{\glsxtrshort{#3}}\@gls@increment@currcount{#3}% + } + \expandafter\newcommand\csname#3s\endcsname[1][]{% + \if@begin@of@sentence{\cGlspl{#3}[##1]}{\cglspl{#3}[##1]}% + \IfBooleanTF{#4}{}{\@\xspace}% + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{% + \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }% + } + \expandafter\mathdef\csname#3s\endcsname{% + \text{\glsxtrshortpl{#3}}\@gls@increment@currcount{#3}% + } +} +\NewDocumentCommand{\shortacronym}{somsmo}{ + \expandafter\newcommand\csname#3\endcsname[1][]{% + \IfNoValueTF{#2}{#3}{#2}\IfBooleanTF{#4}{}{\@\xspace}##1% + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{% + \IfNoValueTF{#2}{#3}{#2} }% + } + \expandafter\mathdef\csname#3\endcsname{% + \text{\IfNoValueTF{#2}{#3}{#2}}% + } + \expandafter\newcommand\csname#3s\endcsname[1][]{% + \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}% + \IfBooleanTF{#4}{}{\@\xspace}##1% + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{% + \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} }% + } + \expandafter\mathdef\csname#3s\endcsname{% + \text{\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}}% + }% +} +\NewDocumentCommand{\longacronym}{somsmo}{ + \expandafter\newcommand\csname#3\endcsname[1][]{% + \if@begin@of@sentence{\MakeUppercase#5}{#5}% + \IfBooleanTF{#4}{}{\@\xspace}##1% + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{#5 }} + \expandafter\newcommand\csname#3s\endcsname[1][]{% + \if@begin@of@sentence{% + \IfNoValueTF{#6}{\MakeUppercase#5s}{\MakeUppercase#6}% + }{% + \IfNoValueTF{#6}{#5s}{#6}}\IfBooleanTF{#4}{}{\@\xspace}##1% + } + \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{% + \IfNoValueTF{#6}{#5s}{#6} }% + } +} +\renewcommand*{\@gls@write@entrycounts}{% + \immediate\write\@auxout{% + \string\providecommand*{\string\@gls@entry@count}[2]{} + }% + \count@=0\relax + \forallglsentries{\@glsentry}{% + \glshasattribute{\@glsentry}{entrycount}{% + \ifglsused{\@glsentry}{% + \immediate\write\@auxout{% + \string\@gls@entry@count{\@glsentry}{% + \glsentrycurrcount{\@glsentry}% + } + }% + }{}\advance\count@ by \@ne + }{}% + }% +} +\newcommand{\resetacronym}[1]{\protect\glsreset{#1}} +\newcommand{\dummyacronym}[1]{\protect\glsunset{#1}} +\@ifundefined{endabstract}{}{% + \let\end@hep@abstract\endabstract% + \renewcommand\endabstract{\glsresetall\end@hep@abstract}% +} +\let\hep@table@of@contents\tableofcontents +\renewcommand\tableofcontents{% + \glsunsetall\hep@table@of@contents\glsresetall% +} +\let\hep@list@of@figures\listoffigures +\renewcommand\listoffigures{% + \glsunsetall\hep@list@of@figures\glsresetall% +} +\let\hep@list@of@tables\listoftables +\renewcommand\listoftables{% + \glsunsetall\hep@list@of@tables\glsresetall% +} +\NewDocumentCommand{\acronyms}{om}{% + \IfNoValueTF{#1}{ + \newglossary{#2}{#2.in}{#2.out}{#2}% + \renewcommand{\acronymtype}{#2}% + }{ + \newglossary{#1}{#1.in}{#1.out}{#2}% + \renewcommand{\acronymtype}{#1}% + } +} + +\endinput +%% +%% End of file `hep-acronym.sty'. |