summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hep
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/hep
Initial commit
Diffstat (limited to 'macros/latex/contrib/hep')
-rw-r--r--macros/latex/contrib/hep/ChangeLog7
-rw-r--r--macros/latex/contrib/hep/README53
-rw-r--r--macros/latex/contrib/hep/hep.sty129
3 files changed, 189 insertions, 0 deletions
diff --git a/macros/latex/contrib/hep/ChangeLog b/macros/latex/contrib/hep/ChangeLog
new file mode 100644
index 0000000000..7a7d9488ca
--- /dev/null
+++ b/macros/latex/contrib/hep/ChangeLog
@@ -0,0 +1,7 @@
+2005-12-13 Andy Buckley <andy@insectnation.org>
+
+ * First release.
+
+ * Added option passing to the hepnames and hepunits packages.
+
+ * Started ChangeLog.
diff --git a/macros/latex/contrib/hep/README b/macros/latex/contrib/hep/README
new file mode 100644
index 0000000000..d6583452a5
--- /dev/null
+++ b/macros/latex/contrib/hep/README
@@ -0,0 +1,53 @@
+hep --- convenience wrapper for high-energy physics packages
+by Andy Buckley <andy@insectnation.org>
+-----------------------------------------------------------
+
+The hep package is a relatively thin wrapper package on a variety of packages
+useful for typesetting high-energy physics documents. It is aimed at HEP users
+who just want to write papers without having to worry about which packages are
+useful. hep includes a useful minimal set of packages by default, with more
+specialist ones being available via package options.
+
+The default packages (activated just by placing \usepackage{hep} in the document
+preamble) are:
+ * url: provides \url{} macro for typestting (you guessed it) URLs. For example,
+ \url{http://www.mysite.org}.
+ * cite: gathers consecutive citations to show e.g. [21-23] rather than [21,22,23]
+ * amsmath: extended maths stymbols etc.
+ * braket: provides \bra{}, \ket{} and \braket{} macros for Dirac notation
+ * cancel/slashed: two different ways to do Feynman slash notation
+ * hepnicenames: collection of macros for typesetting particle names. Also includes
+ heppennames and hepparticles. See
+ http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/hepnames.html and
+ http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/hepparticles.html
+ for details.
+ * hepunits: extends the SIunits package to provide HEP specific units, accessed
+ via e.g. \unit{114.5}{\GeVovercsq} (the LEP2 lower bound on the Higgs mass).
+ See http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/hepunits.html
+ for details.
+
+Options for these default packages can be passed using \usepackage[option1,option2,...]{hep}
+The available options are:
+ * HNitalic, HNitforce, HNmaybess, HNnoss,
+ corresponding to the hepnames/hepparticles options (without the "HN" prefix)
+
+ * HUnoprefixcmds, HUcdot, HUthickspace, HUmediumspace, HUthinspace,
+ HUthickqspace, HUmediumqspace, HUthinqspace, HUnoamssquareissue,
+ HUamssymb, HUsquaren, HUpstricks, HUGray, HUitalian, HUtextstyle
+ HUnotextstyle, HUbinary, HUnoams, HUderivedinbase, HUderived
+ corresponding to the hepunits options (without the "HU" prefix)
+
+Additionally, the "fd", "hyper", "layout" and "float" options add useful
+packages for Feynman diagrams, hyperlinking (with sensible default options),
+layout additions (the booktabs, setspace, fancyhdr and tocbibind packages) and
+additional float handling (via the morefloats, afterpage, ccaption, subfigure
+and caption packages). The convenience option "all" includes all of the optional
+packages. While the hyper, layout and float options are not HEP-specific, they
+reflect the package author's prejudice that not enough authors know about these
+packages and that they should be encouraged to use them :-)
+
+Comments, criticism etc. should be directed at andy-texpkg@insectnation.org.
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
diff --git a/macros/latex/contrib/hep/hep.sty b/macros/latex/contrib/hep/hep.sty
new file mode 100644
index 0000000000..c5573e564d
--- /dev/null
+++ b/macros/latex/contrib/hep/hep.sty
@@ -0,0 +1,129 @@
+%% hep package for LaTeX --- convenience wrapper for High Energy Physics packages
+%% Author: Andy Buckley <andy@insectnation.org>
+%%
+%% This material is subject to the LaTeX Project Public License.
+%% See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+%% for the details of that license.
+%%
+%% Usage: \usepackage[options]{hep}
+%% where "options" are any of: fd --- includes feynmf and axodraw for making Feynman diagrams
+%% layout --- some nice layout tweaks like booktabs, setspace and fancyhdr
+%% hyper --- include hyperref with some sensible default options
+%% float --- include morefloats and afterpage for extra float handling flexibility
+%% all --- all of the above
+
+%% Admin
+\def\fileversion{1.0}
+\def\filedate{2005/12/13}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{hep}[\filedate\space Convenience wrapper for HEP packages (v\fileversion)]
+
+
+%% Handle package options
+\def\@empty{}
+\def\@requirefdpkgs{}
+\def\@requirelayoutpkgs{}%
+\def\@requirehyper{}%
+\def\@requirefloatpkgs{}%
+\DeclareOption{fd}{% Include packages for drawing Feynman diagrams?
+ \def\@requirefdpkgs{yes}}
+\DeclareOption{layout}{% Include packages for nice layout?
+ \def\@requirelayoutpkgs{yes}}
+\DeclareOption{hyper}{% Include hyperref package (with decent options)
+ \def\@requirehyper{yes}}
+\DeclareOption{float}{% Include packages for extra float handling
+ \def\@requirefloatpkgs{yes}}
+\DeclareOption{all}{% Convenience handle to include all the optional bits
+ \def\@requirefdpkgs{yes}%
+ \def\@requirelayoutpkgs{yes}%
+ \def\@requirehyper{yes}%
+ \def\@requirefloatpkgs{yes}%
+}
+
+%% Pass options to hepnames packages
+\DeclareOption{HNitalic}{\PassOptionsToPackage{italic}{hepnicenames}}
+\DeclareOption{HNitforce}{\PassOptionsToPackage{itforce}{hepnicenames}}
+\DeclareOption{HNmaybess}{\PassOptionsToPackage{maybess}{hepnicenames}}
+\DeclareOption{HNnoss}{\PassOptionsToPackage{noss}{hepnicenames}}
+
+%% Pass options to hepunits package
+\DeclareOption{HUnoprefixcmds}{\PassOptionsToPackage{noprefixcmds}{hepunits}}
+\DeclareOption{HUcdot}{\PassOptionsToPackage{cdot}{hepunits}}
+\DeclareOption{HUthickspace}{\PassOptionsToPackage{thickspace}{hepunits}}
+\DeclareOption{HUmediumspace}{\PassOptionsToPackage{mediumspace}{hepunits}}
+\DeclareOption{HUthinspace}{\PassOptionsToPackage{thinspace}{hepunits}}
+\DeclareOption{HUthickqspace}{\PassOptionsToPackage{thickqspace}{hepunits}}
+\DeclareOption{HUmediumqspace}{\PassOptionsToPackage{mediumqspace}{hepunits}}
+\DeclareOption{HUthinqspace}{\PassOptionsToPackage{thinqspace}{hepunits}}
+\DeclareOption{HUnoamssquareissue}{\PassOptionsToPackage{noamssquareissue}{hepunits}}
+\DeclareOption{HUamssymb}{\PassOptionsToPackage{amssymb}{hepunits}}
+\DeclareOption{HUsquaren}{\PassOptionsToPackage{squaren}{hepunits}}
+\DeclareOption{HUpstricks}{\PassOptionsToPackage{pstricks}{hepunits}}
+\DeclareOption{HUGray}{\PassOptionsToPackage{Gray}{hepunits}}
+\DeclareOption{HUitalian}{\PassOptionsToPackage{italian}{hepunits}}
+\DeclareOption{HUtextstyle}{\PassOptionsToPackage{textstyle}{hepunits}}
+\DeclareOption{HUnotextstyle}{\PassOptionsToPackage{notextstyle}{hepunits}}
+\DeclareOption{HUbinary}{\PassOptionsToPackage{binary}{hepunits}}
+\DeclareOption{HUnoams}{\PassOptionsToPackage{noams}{hepunits}}
+\DeclareOption{HUderivedinbase}{\PassOptionsToPackage{derivedinbase}{hepunits}}
+\DeclareOption{HUderived}{\PassOptionsToPackage{derived}{hepunits}}
+
+\ProcessOptions
+
+
+%% Useful packages for citations
+\RequirePackage{url}
+\RequirePackage{cite}
+
+
+%% Hyperlinks (optional, has to come early in the package list)
+\ifx\@requirehyper\@empty\else
+\RequirePackage[colorlinks=true,bookmarks=true]{hyperref}
+%pdfpagemode=FullScreen
+\fi
+
+
+%% Maths typesetting packages
+\RequirePackage{amsmath} % ``Proper'' math commands and environments
+\RequirePackage{braket} % Dirac bra-ket notation
+\RequirePackage{cancel} % useful for Feynman slash notation
+\RequirePackage{slashed} % also for slash notation: take your pick!
+%\RequirePackage{maybemath} % contextual math typesetting
+%\RequirePackage{hepmath} % Common HEP mathematical constructs and use-anywhere Greek letters
+
+
+%% Particle names (should be specified *after* hyperref)
+%\RequirePackage{hepparticles} % particle name typesetting (uses maybemath)
+%\RequirePackage{heppennames} % Particle Entity Notation macros for particle symbols
+\RequirePackage{hepnicenames} % A ``friendly'' macro set for selected PEN symbols
+ % which includes hepparticles and heppennames
+
+
+%% SIunits package and HEP extensions
+\RequirePackage{hepunits} % imports SIunits with sensible options and HEP-specific units
+
+
+%% Feynman diagrams (optional)
+\ifx\@requirefdpkgs\@empty\else
+\RequirePackage{axodraw}
+\RequirePackage{feynmf}
+%\RequirePackage{feynmp}
+\fi
+
+
+%% Layout improvements (optional)
+\ifx\@requirelayoutpkgs\@empty\else
+\RequirePackage{booktabs} % elegant table design
+\RequirePackage{setspace} % proper line spacing handling
+\RequirePackage{fancyhdr} % configurable headers and footers
+\RequirePackage[nottoc]{tocbibind} % biblio but not ToC in ToC
+\fi
+
+%% Extra float handling (optional)
+\ifx\@requirefloatpkgs\@empty\else
+\RequirePackage{morefloats} % extra floats
+\RequirePackage{afterpage} % float handling
+\RequirePackage[subfigure]{ccaption} % continued captions
+\RequirePackage{subfigure} % subfigures
+\RequirePackage[margin=20pt,labelfont=bf]{caption} % nice-looking captions
+\fi