%% hep package for LaTeX --- convenience wrapper for High Energy Physics packages %% Author: Andy Buckley %% %% 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