diff options
author | Karl Berry <karl@freefriends.org> | 2011-01-06 00:18:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-01-06 00:18:34 +0000 |
commit | 868d076c9cb5397f7d4af2f8065c4d06e8a30d3e (patch) | |
tree | cfcf2fe0508a37a1691c30c971550dddec0e7454 /Master/texmf-dist | |
parent | 95e435b9d92376b084015c419cf900f00c3e6a5a (diff) |
new latex package physymb 0.1 (6jan11)
git-svn-id: svn://tug.org/texlive/trunk@20944 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/physymb/README | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/physymb/physymb.pdf | bin | 0 -> 307244 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/physymb/physymb.dtx | 1050 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/physymb/physymb.ins | 46 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/physymb/physymb.sty | 256 |
5 files changed, 1381 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/physymb/README b/Master/texmf-dist/doc/latex/physymb/README new file mode 100644 index 00000000000..41db520a62a --- /dev/null +++ b/Master/texmf-dist/doc/latex/physymb/README @@ -0,0 +1,29 @@ + ======================== physymb ============================ + Created by David Zaslavsky <diazona@ellipsix.net> + +The physymb package contains a bunch of assorted macros that may +be useful to physicists (and perhaps occasionally mathematicians). + +The package contains five files: + +* README: This file :) +* physymb.sty: The package itself. +* physymb.pdf: The PDF documentation, which details all the macros + defined by the package. +* physymb.dtx: The documented source. Running pdflatex on this + reproduces the PDF documentation. +* physymb.ins: The installer file. Running latex or pdflatex on + this will regenerate physymb.sty. + +To install the package, it should be enough to just copy physymb.sty +to the tex/latex/physymb/ directory (which you may need to create) +within your local TDS tree, which is typically $HOME/texmf/ on +a Linux system. The location varies on Windows. It's also recommended +to copy physymb.pdf into doc/latex/physymb/ under the TDS tree. + +If you don't know what a TDS tree is, or want to have this explained +in more detail, see +http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages + +physymb is licensed under the LaTeX Project Public License, +version 1.3 or later. diff --git a/Master/texmf-dist/doc/latex/physymb/physymb.pdf b/Master/texmf-dist/doc/latex/physymb/physymb.pdf Binary files differnew file mode 100644 index 00000000000..2e70ca094fc --- /dev/null +++ b/Master/texmf-dist/doc/latex/physymb/physymb.pdf diff --git a/Master/texmf-dist/source/latex/physymb/physymb.dtx b/Master/texmf-dist/source/latex/physymb/physymb.dtx new file mode 100644 index 00000000000..a79a674d718 --- /dev/null +++ b/Master/texmf-dist/source/latex/physymb/physymb.dtx @@ -0,0 +1,1050 @@ +% \iffalse meta-comment +% +% Copyright (C) 2005-2011 by David Zaslavsky <diazona@ellipsix.net> +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% 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 David Zaslavsky +% +% This work consists of the files physymb.dtx and physymb.ins +% and the derived files physymb.sty and physymb.pdf. +% +% \fi + +% \iffalse +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{physymb}[2010/12/15 v0.1 Physics symbol definitions] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[boldvectors,units]{physymb} +\usepackage{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{physymb.dtx} +\end{document} +%</driver> +% \fi + +% \CheckSum{0} +%% \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{v0.1}{2010/12/15}{Conversion from sty to dtx} +% +% \GetFileInfo{physymb.sty} +% +% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ } +% \DoNotIndex{\accentset,\addunit,\allowdisplaybreaks} +% \DoNotIndex{\bar,\boolean} +% \DoNotIndex{\cos,\cubic} +% \DoNotIndex{\dagger,\DeclareFontShape,\DeclareMathAlphabet,\DeclareMathOperator} +% \DoNotIndex{\DeclareOption,\Delta} +% \DoNotIndex{\ell\ensuremath,\equal} +% \DoNotIndex{\frac} +% \DoNotIndex{\gamma} +% \DoNotIndex{\hat} +% \DoNotIndex{\ifthenelse} +% \DoNotIndex{\joule} +% \DoNotIndex{\Lambda,\langle,\left,\lVert,\lvert} +% \DoNotIndex{\mathbb,\mathbf,\mathcal,\mathcalligra,\mathrm,\meter,\mu} +% \DoNotIndex{\nabla,\newboolean,\newcommand,\nu} +% \DoNotIndex{\Omega,\omega} +% \DoNotIndex{\partial,\per,\phi,\pi,\ProcessOptions} +% \DoNotIndex{\rangle,\relax,\renewcommand,\RequirePackage,\rho,\right,\rightharpoonup} +% \DoNotIndex{\rpcubic,\rVert,\rvert} +% \DoNotIndex{\setboolean,\Sigma,\sin,\star} +% \DoNotIndex{\tan,\tau,\theta,\times} +% \DoNotIndex{\unit} +% \DoNotIndex{\vert} +% \DoNotIndex{\Xi} +% +% \title{The \textsf{physymb} package\thanks{This document corresponds to \textsf{physymb}~\fileversion, dated~\filedate.}} +% \author{David Zaslavsky \\ \texttt{diazona@ellipsix.net}} +% +% \maketitle +% \begin{abstract} +% The |physymb| package is nothing but a bunch of simple macro definitions that +% may be useful for typesetting physics papers. +% \end{abstract} +% +% \paragraph{What's so great about it?} +% If you're scanning over this document wondering what good a bunch of simple macro +% definitions are, allow me to point out some highlights: +% \begin{itemize} +% \item Total and partial derivatives can be typeset using two character macros.\\ +% $\ud{y}{x}$ is now as easy as |\ud{y}{x}|. +% \item Numbers in scientific notation can also be typeset using a two character macro. +% $\sn{6.23}{6}$ is written |\sn{6.23}{6}|. +% \item Doing the same thing with units added is similarly convenient; you can write +% $\snunit{3.1}{6}{\meter^3}$ as |\snunit{3.1}{6}{\meter^3}|, which is a lot more +% convenient than writing the whole thing out ``manually.'' +% \item There are standard, simple macros for writing Dirac notation: $\ket{\psi}$ is +% as easy as |\ket{\psi}|. +% \end{itemize} +% +% There are a lot of macros in this package, and it typically doesn't take as many +% lines to explain their meanings as it does to list them all. For that reason, when +% there are a bunch of similar macros that I explain together, I've usually only listed +% one or two in the left margin. In these cases, all the macros are given in the text. +% +% \section{Options} +% +% |physymb| recognizes the following options, in no particular order. +% +% \begin{itemize} +% \item |arrowvectors| causes vectors (specifically, the |\vec| command) to be rendered +% with an arrow above the symbol. +% \item |boldvectors| causes vectors (again, from |\vec|) to be rendered by typesetting +% the symbol in bold. It's the alternative to |arrowvectors|. +% \item |feynman| pulls in the |feynmp| package. (It's precisely equivalent to +% |\usepackage{feynmp}|, it's just here for convenience.) +% \item |particle| enables all the particle physics macros. (It's actually not implemented +% yet, so in practice the particle macros get defined regardless of whether you pass this +% option or not, but that will be fixed soon.) +% \item |units| pulls in the |SIunits| package and enables the additional unit macros. +% \end{itemize} +% +% \section{Macros} +% +% \subsection{Trigonometry} +% +% \DescribeMacro{\asin} +% \DescribeMacro{\acos} +% The AMS packages only define inverse trigonometric functions using the ``arc'' +% syntax, i.e. they actually prefix ``arc'' to the name (as in $\arcsin x$). +% Sometimes you'd rather write them with a superscript $-1$ to save space, so +% those versions are included here. We have the inverse functions |\asin|, +% |\acos|, |\atan|, |\asec|, |\acsc|, and |\acot|. +% +% \DescribeMacro{\sech} +% \DescribeMacro{\cosh} +% For some reason, the hyperbolic sine and cosine |\sech| and |\cosh| aren't +% defined in the AMS packages. This fixes that. +% +% \DescribeMacro{\asinh} +% \DescribeMacro{\acosh} +% Finally, the inverse hyperbolic trig functions written with the superscript +% $-1$ are defined just as with the regular inverse trig functions. We have +% |\asinh|, |\acosh|, |\atanh|, |\asech|, |\acsch|, and |\acoth|. +% +% \subsection{Sets} +% +% There are certain sets of numbers that are semi-frequently referenced in physics. +% Typically they're used to say something like $n\in\intset$. Of course, a +% macro like |\intset| is not necessarily much quicker than writing +% |\mathbb{Z}|, but these macros are intended to have names that relate to +% their meanings so that you don't have to remember which letter goes to which set. +% +% \DescribeMacro{\whlset} +% |\whlset| ($\whlset$) denotes the set of whole numbers, which is typically +% defined to include all integers greater than zero, although there are different +% contradictory definitions floating around. +% +% \DescribeMacro{\natset} +% |\natset| ($\natset$) denotes the set of natural numbers, which is typically +% defined to include all integers greater than or equal to zero. Some people +% define ``natural numbers'' to exclude zero. +% +% \DescribeMacro{\intset} +% |\intset| ($\intset$) denotes the set of all integers. +% +% \DescribeMacro{\realset} +% |\realset| ($\realset$) denotes the set of all real numbers. +% +% \DescribeMacro{\imagset} +% |\imagset| ($\imagset$) denotes the set of all imaginary numbers, which is +% all complex numbers with real part equal to zero. This one is infrequently +% used. +% +% \DescribeMacro{\cpxset} +% |\cpxset| ($\cpxset$) denotes the set of all complex numbers. +% +% \subsection{Calculus} +% +% Probably the most useful macros in the package are the derivative operators. +% Since it's so common to write something of the form $\ud{y}{x}$ or $\pd{y}{x}$, +% we have two-character macros for each: +% \begin{itemize} +% \item \DescribeMacro{\ud} |\ud|\marg{top}\marg{bottom} typesets the normal total derivative +% \item \DescribeMacro{\pd} |\pd|\marg{top}\marg{bottom} typesets a partial derivative, which +% is the same thing but with a partial derivative symbol instead of the $\udc$. +% \end{itemize} +% \DescribeMacro{\udd} +% \DescribeMacro{\uddd} +% \DescribeMacro{\pdd} +% \DescribeMacro{\pddd} +% There are variants of these that produce higher-order derivatives; you can add +% an order by adding another |d|, up to a total of three. +% If you need something higher than the third derivative, you're on your own, but it's +% easy to construct it using |\frac| and |\udc| or |\pdc|, +% \begin{center} +% |\frac{\udc^4 y}{\udc x^4}| +% \end{center} +% +% \DescribeMacro{\udc} +% \DescribeMacro{\pdc} +% The macro |\udc| gives you the character that represents a differential. It's typically +% set in roman type to distinguish it from a variable. |\pdc| is also defined as the +% partial derivative character for consistency. There are variants of each with exponents +% (up to 3) built in; again, you get them by adding an extra |d| or two to the name of the +% command, |\uddc| and |\udddc| and so on. +% +% \DescribeMacro{\uds} +% \DescribeMacro{\pds} +% If you're using these in an integral, it's common to want a small space before the +% differential, so there are variants of the preceding commands defined that include +% this small space for you; they replace the |c| with an |s|. They follow the same +% pattern of adding additional |d|'s to get exponents. For example: +% +% \begin{minipage}{.64\textwidth} +% \begin{center} +% |\iint e^{i\vec{k}\cdot\vec{x}}\udds\vec{x}| +% \end{center} +% \end{minipage} +% \begin{minipage}{.34\textwidth} +% \begin{equation*} +% \iint e^{i\vec{k}\cdot\vec{x}}\udds\vec{x} +% \end{equation*} +% \end{minipage} +% +% \subsection{Vector Calculus} +% +% \DescribeMacro{\div} +% \DescribeMacro{\grad} +% \DescribeMacro{\curl} +% |\physymb| defines |\div|, |\grad|, and |\curl|, to represent the +% divergence, gradient, and curl. These are typeset with the nabla +% (or ``del'') character, $\nabla$, rather than being written out +% as words. Naturally, I would love to add an |\allthat| if I can +% find something good for it to represent. +% +% \DescribeMacro{\lapl} +% There is also a macro for the Laplacian operator (divergence of a +% gradient), |\lapl|. +% +% \subsection{Complex Analysis} +% +% \DescribeMacro{\conj} +% There is a macro to indicate the conjugate of a number, |\conj|\marg{number}. +% It puts a superscript star after the number, as in $\conj{z}$. +% +% \DescribeMacro{\realop} +% \DescribeMacro{\imagop} +% The traditional keywords indicating the real and imaginary parts of a complex number +% are given macros |\realop| and |\imagop|. They typeset $\realop$ and $\imagop$ +% respectively. +% +% \DescribeMacro{\real} +% \DescribeMacro{\imag} +% Why the |op|? Well, there are alternate versions that will also put curly braces +% around the following argument, |\real| and |\imag|. This is the way $\realop$ and +% $\imagop$ are often used. +% +% \begin{minipage}{.64\textwidth} +% \begin{center} +% |\real{z}, \imag{z}| +% \end{center} +% \end{minipage} +% \begin{minipage}{.34\textwidth} +% \begin{equation*} +% \real{z}, \imag{z} +% \end{equation*} +% \end{minipage} +% +% \DescribeMacro{\abs} +% The macro |\abs|\marg{value} surrounds its argument with vertical bars. +% +% \subsection{Linear Algebra} +% +% There are several assorted macros for linear algebra keywords and concepts. +% +% \DescribeMacro{\vec} +% \DescribeMacro{\vecvar} +% Vectors can be written using the macro |\vec|\marg{label}, which typesets +% the \meta{label} either in bold or with an arrow over it, according to which +% option was passed to the package (|arrowvectors| or |boldvectors|). +% The default is to use an arrow, to resemble the builtin definition of +% |\vec| (which, by the way, is overridden by this package). In many cases +% I prefer bold. |\vecvar|\marg{label} is another macro that does the exact +% same thing, for consistency with the other kinds of variables. +% +% \DescribeMacro{\tnsvar} +% The macro |\tnsvar|\marg{label} is for typesetting tensors. This just makes +% the \meta{label} bold, it doesn't do anything with indices. If you want a way +% to typeset tensor indices, look at the +% \href{http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=tensor}{tensor} +% package. +% +% \DescribeMacro{\matvar} +% |\matvar|\marg{label} is intended to designate matrices. It makes the label +% bold. +% +% \DescribeMacro{\identitym} +% The macro |\identitym| represents the identity matrix. It typesets a 1 in +% the same style as |\matvar| (so, bold). +% +% \DescribeMacro{\determinant} +% The macro |\determinant|\marg{matrix} uses vertical bars to denote the determinant +% of the \meta{matrix}. It's an alternative to the keyword operator |\det|, which +% just typesets as $\det$. +% +% \DescribeMacro{\trace} +% The macro |\trace| just typesets $\trace$. It's akin to |\det|. +% +% \DescribeMacro{\diag} +% This just typesets $\diag$, which is used to represent a matrix with the given entries +% on the diagonal. For example, one might write |\diag(1,2,3,4)|. +% +% \DescribeMacro{\norm} +% The norm of a vector can be denoted by double vertical bars. This is implemented by +% |\norm|\marg{value}. +% +% \DescribeMacro{\unitx} +% \DescribeMacro{\unity} +% \DescribeMacro{\unitz} +% Since it's so common to refer to unit vectors using hat notation, there are a +% bunch of macros for them using various letters. The package defines |\unitd|, +% |\unite|, |\uniti|, |\unitj|, |\unitk|, |\unitl| (which typesets as $\unitl$, +% not the normal $l$), |\unitn|, |\unitp|, |\unitq|, |\unitr|, |\units|, |\unitt|, +% |\unitu|, |\unitv|, |\unitw|, |\unitx|, |\unity|, |\unitz|, and for non-roman +% characters, |\unitphi|, |\unitrho|, |\unittheta|, and |\unitomega|. +% \DescribeMacro{\unitvec} +% If you want to use a different letter as a unit vector, it can be done with +% |\unitvec|\marg{symbol}. +% +% \DescribeMacro{\herm} +% |\herm|\marg{operator} designates the hermitian conjugate of an operator with +% a superscript dagger. +% +% \DescribeMacro{\transpose} +% |\transpose|\marg{matrix} sets a superscript $T$ after the matrix to denote +% the transpose. +% +% \DescribeMacro{\commut} +% \DescribeMacro{\acommut} +% There are simple macros for the commutator, |\commut|\marg{operator}\marg{operator}, +% and the anticommutator, |\acommut|\marg{operator}\marg{operator}. They just +% put the appropriate kind of braces around the arguments (and the comma between +% them, of course). +% +% \subsection{Differential Geometry} +% \DescribeMacro{\exd} +% The exterior derivative has a macro, |\exd|, kind of like the macro for differentials +% ($\udc$) although typeset in bold to distinguish it. This one doesn't have any variants, +% though, because $\exd^2 = 0$. +% +% \DescribeMacro{\hodge} +% The macro |\hodge| just puts a star (not superscript) to represent the Hodge dual. +% Use it as a prefix to the variable, $\hodge\exd x$. +% +% \subsection{Classical Mechanics} +% +% \DescribeMacro{\pbrac} +% The Poisson brackets of a pair of variables can be typeset using the macro +% |\pbrac|\marg{function}\marg{function}. This just surrounds the two arguments +% with curly braces, producing $\pbrac{f}{g}$. +% +% \DescribeMacro{\pbracvars} +% If you want to specify which variables the derivatives in the Poisson brackets +% are being taken with respect to, use the variant +% \begin{center} +% |\pbracvars|\marg{function}\marg{function}\marg{variable}\marg{variable} +% \end{center} +% It comes out looking like $\pbracvars{f}{g}{q}{p}$. +% +% \subsection{Quantum Mechanics} +% +% |physymb| includes a full set of macros for working with Dirac notation. +% +% \DescribeMacro{\ket} To typeset a ket ($\ket\psi$), use |\ket|\marg{label}. +% \DescribeMacro{\bra} Similarly, you can get a bra ($\bra\psi$), with |\bra|\marg{label}. +% \DescribeMacro{\braket} To typeset a bracket (inner product), use +% |\braket|\marg{bra label}\marg{ket label}. +% +% \DescribeMacro{\melement} To typeset a matrix element ($\melement{\phi}{A}{\psi}$), or any +% case in which you have an operator between the bra and the ket, use +% |\melement|\marg{bra label}\marg{operator}\marg{ket label}. +% It should work fine to put an arbitrarily complicated expression in the middle of |\melement|, +% but if your operator is something complicated, you \emph{could} consider just using |\bra| +% and |\ket| for clarity, +% \begin{center} +% |\bra{|\meta{bra label}|}|\meta{operator}|\ket{|\meta{ket label}|}| +% \end{center} +% +% \DescribeMacro{\expect} To get an expectation value (an on-diagonal matrix element with +% the state left implicit, $\expect{A}$), use |\expect|\marg{operator}. Again, you can put +% an arbitrary expression within |\expect| but if it would make the code unclear, consider +% using |\langle| and |\rangle|. +% +% \DescribeMacro{\projop} For a projection operator (outer product between a state and itself), +% we have the command |\projop|\marg{label}\marg{value}, which comes out as $\projop{\psi}{x}$. +% To get a general outer product between two different states, use |\bra| and |\ket|, +% \begin{center} +% |\ket{|\meta{ket label}|}|\meta{value}|\bra{|\meta{bra label}|}| +% \end{center} +% +% \subsection{Units} +% +% If the |units| option is provided to |physymb|, it automatically includes the |SIunits| +% package and defines some additional units that are often useful in practice. +% +% \DescribeMacro{\snunit} |\snunit|\marg{abcissa}\marg{exponent}\marg{unit} combines +% the functionality of |\sn| and |\unit|: it typesets a number in scientific notation +% with a following unit. If the abcissa is equal to $1$, it is omitted, so that +% |\snunit{1}{6}{\meter}| gives you $\snunit{1}{6}{\meter}$. +% +% \paragraph{SI units} +% \DescribeMacro{\joulepercubicmeter} +% \DescribeMacro{\joulepercubicmeterrp} +% These units of energy density have been useful to me approximately twice. +% Naturally, I had to include them. These augment the list of +% composite units made available by |SIunits| itself. +% +% \paragraph{Additional units} The |SIunits| package only includes SI units (as +% the name would suggest), but there are certain non-SI units that turn out to +% be occasionally useful when dealing with American non-scientists. |physymb| +% defines a selection of them as macros. +% +% \DescribeMacro{\torr} +% \DescribeMacro{\mmHg} +% Torr, |\torr|, and millimeters of mercury, |\mmHg|, are common atmospheric pressure units. +% +% \DescribeMacro{\amu} +% |\amu| represents the atomic mass unit, defined as $\frac{1}{12}$ of the mass of a carbon 12 +% atom. +% +% \DescribeMacro{\yr} +% |\yr| represents a year with the symbol $\yr$. There are various definitions of +% different kinds of years floating around, but generally the symbol is the same. +% +% \DescribeMacro{\erg} +% |\erg| represents an erg, the CGS unit of energy, which still finds occasional use. +% Its value is $\snunit{1}{-7}{\joule}$. +% +% \DescribeMacro{\gauss} +% |\gauss| is the Gauss, a unit of magnetic field equal to $\snunit{1}{-4}{\tesla}$. +% +% \DescribeMacro{\molar} +% |\molar| represents a molar, a unit of concentration equal to one mole per liter. +% Strictly speaking, this is a chemistry unit, but it occasionally comes up in +% physics so it shouldn't hurt to have the macro around. +% +% \DescribeMacro{\poise} +% The poise is the CGS unit of viscosity, equal to $\unit{0.1}{\pascal\usk\second}$. +% +% \DescribeMacro{\foot} +% The foot is the Imperial unit of length, equal to $\unit{30.48}{\centi\meter}$. +% +% \DescribeMacro{\mileperhour} +% This is typically (or perhaps almost exclusively) used to measure transportation +% speeds: cars, trains, airplanes, etc. It's equal to about +% $\unit{0.447}{\frac{\meter}{\second}}$. +% +% \DescribeMacro{\pound} +% The pound is the Imperial unit of either force or mass, depending on who you +% ask. Technically I believe it is a force, but in many situations +% I've often found it clearer to treat it as a unit of mass and use $\mathrm{lbf}$ +% (pound of force) as the unit of force. In this sense, it's equal to about +% $\unit{453.59}{\gram}$, and the pound of force is the weight of that mass +% under standard Earth surface gravity, which works out to about +% $\unit{4.448}{\newton}$. +% +% \subsection{Particle Physics} +% +% As a particle physicist, I do a lot of work that involves notation for elementary particles, +% so it's become useful to have a set of macros that produce standard written representations +% for them.\footnote{If there are other areas of physics in which a lot of short macros like +% these would be useful, I'm open to suggestions for adding them.} The names of the commands +% are pretty cryptic, but I've found that once you get used to using them, the names aren't +% hard to remember and the effort saved by having short macro names at least \emph{feels} +% worthwhile. +% +% In general, all the macro names follow the same pattern. Each one ends with a type +% code that identifies the type of particle: |q| for quark, |lp| for a ``regular'' lepton, +% |nu| for a neutrino, |br| for a baryon, |m| for a meson, and |bsn| for a boson. At the +% beginning is a particle code consisting of one or two letters that identify the specific +% particle within that type. +% +% Most of the basic macros consist of just those two parts. Antifermion macros are +% constructed by prepending an |a| to the type code. For vector bosons that occur in +% charge triplets, you prepend one of |p| (plus), |z| (zero), or |m| (minus) to indicate +% which one of the triplet you want. The same goes for baryons which occur in ``triplets'' +% with the same name (three particles denoted by the same letter, even though they +% may not actually be a triplet). Singlet baryons have the |z| as well for consistency. +% +% The proton and neutron are named differently because their names are so common. +% +% \paragraph{Quarks} +% \DescribeMacro{\upq} +% \DescribeMacro{\dnq} +% Each of the quark macros is named with three letters. The first two letters are the +% particle code representing the name of the quark, and the third is the type code |q|. +% The macros are |\upq|, |\dnq|, |\srq|, |\chq|, |\btq|, and |\tpq|, representing the +% up, down, strange, charm, bottom, and top quarks, respectively. +% +% \DescribeMacro{\upaq} +% \DescribeMacro{\dnaq} +% The corresponding macros for the antiquarks are obtained by prepending |a| to the +% type code |q|. We have |\upaq|, |\dnaq|, |\sraq|, |\chaq|, |\btaq|, and |\tpaq|. +% +% \paragraph{Leptons} +% \DescribeMacro{\elp} +% \DescribeMacro{\enu} +% Leptons are done a little differently because there are two distinct types. The macros for +% the electron, muon, and tau lepton are named with a letter and |lp|: we have |\elp| for the +% electron, |\ulp| for the muon, and |\tlp| for the tau. Neutrino macros are constructed +% using the same first letter, but |nu| instead of |lp|: |\enu|, |\unu|, and |\tnu|. +% +% \DescribeMacro{\ealp} +% \DescribeMacro{\eanu} +% Antileptons are named with an |a| between the particle code and the type code. +% So we get |\ealp|, |\ualp|, and |\talp| for the ``regular'' antileptons and +% |\eanu|, |\uanu|, and |\tanu| for the antineutrinos. +% +% \paragraph{Baryons} +% \DescribeMacro{\lmzbr} +% \DescribeMacro{\sgpbr} +% \DescribeMacro{\sgzbr} +% \DescribeMacro{\sgmbr} +% Many of the most commonly referenced baryons in the standard model have +% macros defined. Each of these ends with the type code |br|. Most of them are built +% by putting a particle code and a charge letter together: we have |\lmzbr| for the +% lambda baryon; |\sgpbr|, |\sgzbr|, |\sgmbr| for the sigmas, |\xizbr| and |\ximbr| +% for the xi particles, and |\ommbr| for the omega of charge $-1$. The delta macros +% are named on the same principle but since there are four of them, we use two charge +% letters to indicate the $+2$ charge: |\dlppbr|, |\dlpbr|, |\dlzbr|, and |\dlmbr|. +% +% \DescribeMacro{\sgspbr} +% \DescribeMacro{\sgszbr} +% \DescribeMacro{\sgsmbr} +% In addition, there are macros for the starred (excited) versions of the sigmas and +% xis (only), obtained by adding an |s| before the charge letter: |\sgspbr| etc. and +% |\xiszbr| etc. +% +% \DescribeMacro{\prbr} +% \DescribeMacro{\nebr} +% The proton and neutron don't quite fall into the pattern because their names aren't +% used for multiple particles. The proton is |\prbr| and the neutron is |\nebr|. +% +% \DescribeMacro{\dlmmabr} +% The antiparticles to all these are obtained in \emph{almost} the usual way, by +% adding |a| just before the type code |br|. The one difference is that the charge +% letters are updated to reflect the actual charge of the antiparticle, so for example +% the antipartcle of the $\dlppbr$ (|\dlppbr|), the $\dlmmabr$, is written |\dlmmabr|, +% with two |m|'s because of its double-minus charge. +% +% \paragraph{Mesons} +% \DescribeMacro{\pipm} +% \DescribeMacro{\pizm} +% \DescribeMacro{\pimm} +% Essentially all the mesons defined in the standard model have macros. The naming can +% be a bit tricky because some of them are named as charge triplets while others are +% named as antiparticles. In the former case, we have the $\pi$s, |\pipm|, |\pizm|, and |\pimm|, +% and the $\rho$s, |\ropm|, |\rozm|, and |\romm|. (I'm not sure if it'd make it cleaner +% to just add the |h| into the names) The kaons have similar names, |\kapm|, +% |\kazm|, and |\kamm|, but there is also the $\kazam$, |\kazam|. Finally, the neutral +% mesons are named |\etam|, |\etapm| (here the |p| is for ``prime,'' not ``plus''), and +% |\phim|. +% +% \paragraph{Bosons} +% \DescribeMacro{\phbsn} +% \DescribeMacro{\Wpbsn} +% \DescribeMacro{\Wmbsn} +% There aren't that many bosons so the naming is simple: |\phbsn| for the photon, +% |\Zzbsn| for the neutral $\Zzbsn$, and |\Wpbsn| and |\Wmbsn| for the $\Wbsn$s. There's +% also |\Wbsn|, which does not indicate either charge, for when you need to refer to +% a generic $\Wbsn$ boson. The Higgs boson is written |\hbsn|. +% +% \DescribeMacro{\photon} +% Also, there is a macro |\photon| which is defined to be the same thing as |\phbsn|. +% It's included to support some old LaTeX files I wrote and although it will +% \emph{probably} not be removed from the package in the future, I make no guarantees. +% +% \subsection{Miscellaneous} +% +% \DescribeMacro{\sn} |\sn|\marg{abcissa}\marg{exponent} is a shorthand for setting a number +% in scientific notation. It works just like |\snunit| except that it does not take any unit +% as an argument. +% +% \DescribeMacro{\scriptr} |\scriptr| produces the script r found in Griffiths' +% electromagnetism textbook, or at least the closest equivalent in LaTeX, $\scriptr$. +% +% \DescribeMacro{\orderof} |\orderof|\marg{expression} represents the order of an +% expression, for example the error term in a perturbation series. Typical usage +% would be like +% +% \begin{minipage}{.64\textwidth} +% \begin{center} +% |\frac{1}{1 - x} = 1 + x + \orderof{x^2}| +% \end{center} +% \end{minipage} +% \begin{minipage}{.34\textwidth} +% \begin{equation*} +% \frac{1}{1 - x} = 1 + x + \orderof{x^2} +% \end{equation*} +% \end{minipage} +% +% It can also be used to discuss the growth of a function, e.g. +% ``$\orderof{x^3}$ for large $x$,'' or for similar uses such as big-O notation +% in computer algorithm analysis. +% +% \DescribeMacro{\sgn} +% There is a macro for the sign operator, |\sgn|, defined as +% \begin{equation*} +% \sgn x = \begin{cases}1 & x > 0 \\ 0 & x = 0 \\ -1 & x < 0\end{cases} +% \end{equation*} +% (and yes, this is not really \emph{complex} analysis) +% +% \DescribeMacro{\round} +% Occasionally it's useful to have some way to designate rounding a number. +% The |\round| macro can be used for that. It comes out as $\round(x)$ (I do +% recommend the parentheses). +% +% \DescribeMacro{\evalat} +% The macro +% |\evalat|\marg{expression}\marg{lower limit}\marg{upper limit} +% is mainly useful for when you want to denote the numerical value +% of a derivative at a specific point, or when you want to represent the +% evaluation of an integral at the endpoints of the range of integration. +% It produces a vertical bar at the right of the \meta{expression}, +% with the \meta{lower limit} and \meta{upper limit} typeset at the +% lower and upper endpoints of the bar, respectively. +% +% \begin{minipage}{.64\textwidth} +% \begin{center} +% |\evalat{x^3 + 3x - 5}{2}{7}| +% \end{center} +% \end{minipage} +% \begin{minipage}{.34\textwidth} +% \begin{equation*} +% \evalat{x^3 + 3x - 5}{2}{7} +% \end{equation*} +% \end{minipage} +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{Feedback} +% +% This package is always a work in progress, both in terms of adding new macros +% to the collection and fixing any errors or inconveniences in the ones that +% are already here. Any feedback you may have will be welcome at my email address, +% given at the top of the document. +% +% \section{Implementation} +% +% \subsection{Initialization} +% \begin{macrocode} +\RequirePackage{ifthen} +% \end{macrocode} +% This flag is set if the |particle| option is enabled. It enables definitions of particle symbol macros. +% \begin{macrocode} +\newboolean{pparticle} +% \end{macrocode} +% This flag is set if the |feynman| option is enabled. It pulls in the |feynmf| package. +% \begin{macrocode} +\newboolean{pfeynman} +% \end{macrocode} +% This flag is set if the |units| option is enabled. It pulls in the |SIunits| package and provides additional unit definitions. +% \begin{macrocode} +\newboolean{punits} +% \end{macrocode} +% This flag is set if the |boldvectors| option is enabled. It causes vectors to be rendered using a bold font instead of an overset arrow. +% \begin{macrocode} +\newboolean{pboldvectors} +% \end{macrocode} +% +% \subsection{Option Declarations} +% These are the option declarations, pretty self-explanatory. +% \begin{macrocode} +\DeclareOption{particle}{\setboolean{pparticle}{true}} +\DeclareOption{units}{\setboolean{punits}{true}} +\DeclareOption{feynman}{\setboolean{pfeynman}{true}} +\DeclareOption{arrowvectors}{\setboolean{pboldvectors}{false}} +\DeclareOption{boldvectors}{\setboolean{pboldvectors}{true}} +\ProcessOptions\relax +% \end{macrocode} +% +% \subsection{Macro Definitions} +% Here we bring in the AMS packages for mathematical notation. +% \begin{macrocode} +\RequirePackage{amsbsy} +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +\allowdisplaybreaks[2] +\RequirePackage{accents} +% \end{macrocode} +% |calligra| is the package that includes the script r, $\scriptr$. +% \begin{macrocode} +\RequirePackage{calligra} +\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n} +\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{} +\newcommand{\scriptr}{\mathcalligra{r}} +% \end{macrocode} +% Scientific notation is implemented in the obvious way. +% \begin{macrocode} +\newcommand{\sn}[2]{\ensuremath{#1\times10^{#2}}} +% \end{macrocode} +% Here we load SIunits if the |units| option was passed. +% \begin{macrocode} +\ifthenelse{\boolean{punits}} +{ + \RequirePackage[thinspace,mediumqspace,Gray,squaren]{SIunits} +% \end{macrocode} +% These are some SI derived units that have been useful on occasion +% \begin{macrocode} + \addunit{\joulepercubicmeter}{\joule\per\cubic\meter} + \addunit{\joulepercubicmeterrp}{\joule\usk\rpcubic\meter} +% \end{macrocode} +% These are some useful non-SI units, defined using the SIunits internal command |\addunits| +% \begin{macrocode} + \addunit{\torr}{torr} + \addunit{\mmhg}{mmHg} + \addunit{\amu}{amu} + \addunit{\yr}{yr} + \addunit{\erg}{erg} + \addunit{\gauss}{Ga} + \addunit{\molar}{M} + \addunit{\poise}{P} + \addunit{\foot}{ft} + \addunit{\mileperhour}{mph} + \addunit{\pound}{lb} +% \end{macrocode} +% |\snunit| is implemented using a combination of |\sn| and |\unit| +% \begin{macrocode} + \newcommand{\snunit}[3]{\ifthenelse{\equal{#1}{1}}% + {\unit{10^{#2}}{#3}}{\unit{\sn{#1}{#2}}{#3}}} +} +{} +% \end{macrocode} +% |\orderof| uses the calligraphic capital O, $\mathcal{O}$ +% \begin{macrocode} +\newcommand{\orderof}[1]{\ensuremath{\mathcal{O}\left(#1\right)}} +% \end{macrocode} +% Now we come to assorted functions and keywords. First some inverse trig functions: +% \begin{macrocode} +\DeclareMathOperator{\asin}{\sin^{-1}} +\DeclareMathOperator{\acos}{\cos^{-1}} +\DeclareMathOperator{\atan}{\tan^{-1}} +\DeclareMathOperator{\asec}{\sec^{-1}} +\DeclareMathOperator{\acsc}{\csc^{-1}} +\DeclareMathOperator{\acot}{\cot^{-1}} +% \end{macrocode} +% and hyperbolic trig functions: +% \begin{macrocode} +\DeclareMathOperator{\sech}{sech} +\DeclareMathOperator{\csch}{csch} +\DeclareMathOperator{\asinh}{\sinh^{-1}} +\DeclareMathOperator{\acosh}{\cosh^{-1}} +\DeclareMathOperator{\atanh}{\tanh^{-1}} +\DeclareMathOperator{\asech}{\sech^{-1}} +\DeclareMathOperator{\acsch}{\csch^{-1}} +\DeclareMathOperator{\acoth}{\coth^{-1}} +% \end{macrocode} +% Next are some linear algebra keywords. +% \begin{macrocode} +\DeclareMathOperator{\diag}{diag} +\DeclareMathOperator{\realop}{Re} +\DeclareMathOperator{\imagop}{Im} +\newcommand{\real}[1]{\realop\{#1\}} +\newcommand{\imag}[1]{\imagop\{#1\}} +% \end{macrocode} +% The sign and absolute value keywords: +% \begin{macrocode} +\DeclareMathOperator{\sgn}{sgn} +\newcommand{\abs}[1]{\left\lvert#1\right\rvert} +% \end{macrocode} +% Norm of a vector: +% \begin{macrocode} +\newcommand{\norm}[1]{\left\lVert#1\right\rVert} +% \end{macrocode} +% Evaluation at endpoints uses |\left.| to get no visible mark on the left side. +% \begin{macrocode} +\newcommand{\evalat}[3]{\left.#1\right|_{#2}^{#3}} +% \end{macrocode} +% Poisson brackets are just braces +% \begin{macrocode} +\newcommand{\pbrac}[2]{\left\{#1,#2\right\}} +\newcommand{\pbracvars}[4]{\left\{#1,#2\right\}_{#3,#4}} +% \end{macrocode} +% This handles the redefinition of |\vec|. If the |boldvectors| option was passed, +% a vector is denoted by bolding the argument. If |arrowvectors| was passed, the +% vector is denoted by putting an arrow over the argument. +% Some people use an undertilde, which will probably be added in the future. +% \begin{macrocode} +\ifthenelse{\boolean{pboldvectors}}% + {\renewcommand{\vec}[1]{\mathbf{#1}}}% + {\renewcommand{\vec}[1]{\accentset{\rightharpoonup}{#1}}} +% \end{macrocode} +% |\vecvar| is just a synonym for |\vec| +% \begin{macrocode} +\newcommand{\vecvar}[1]{\vec{#1}} +% \end{macrocode} +% |\tnsvar| always uses bold. Some people use undertildes, which will be added. +% \begin{macrocode} +\newcommand{\tnsvar}[1]{\mathbf{#1}} +% \end{macrocode} +% |\matvar| always uses bold. +% \begin{macrocode} +\newcommand{\matvar}[1]{\mathbf{#1}} +% \end{macrocode} +% |\identitym| is a bold $1$ +% \begin{macrocode} +\newcommand{\identitym}{\mathbf{1}} +% \end{macrocode} +% |\determinant| uses vertical bars. +% \begin{macrocode} +\newcommand{\determinant}[1]{\left\lvert#1\right\rvert} +% \end{macrocode} +% |\trace| uses capital Tr. +% \begin{macrocode} +\DeclareMathOperator{\trace}{Tr} +% \end{macrocode} +% Now we get to some unit vectors, all just the relevant letter with a hat. +% \begin{macrocode} +\newcommand{\unitd}{\hat{d}} +\newcommand{\unite}{\hat{e}} +\newcommand{\uniti}{\hat{i}} +\newcommand{\unitj}{\hat{j}} +\newcommand{\unitk}{\hat{k}} +\newcommand{\unitl}{\hat{\ell}} +\newcommand{\unitn}{\hat{n}} +\newcommand{\unitp}{\hat{p}} +\newcommand{\unitq}{\hat{q}} +\newcommand{\unitr}{\hat{r}} +\newcommand{\units}{\hat{s}} +\newcommand{\unitt}{\hat{t}} +\newcommand{\unitu}{\hat{u}} +\newcommand{\unitv}{\hat{v}} +\newcommand{\unitw}{\hat{w}} +\newcommand{\unitx}{\hat{x}} +\newcommand{\unity}{\hat{y}} +\newcommand{\unitz}{\hat{z}} +\newcommand{\unitphi}{\hat{\phi}} +\newcommand{\unitrho}{\hat{\rho}} +\newcommand{\unittheta}{\hat{\theta}} +\newcommand{\unitomega}{\hat{\omega}} +% \end{macrocode} +% This turns any letter into a unit vector. +% \begin{macrocode} +\newcommand{\unitvec}[1]{\hat{#1}} +% \end{macrocode} +% |\udc| is just an upright (roman) d, and similarly for higher-order differentials. +% \begin{macrocode} +\newcommand{\udc}{\mathrm{d}} +\newcommand{\uddc}{\mathrm{d}^2} +\newcommand{\udddc}{\mathrm{d}^3} +% \end{macrocode} +% |\pdc| is just |\partial|, defined for similarity with |\udc|. +% \begin{macrocode} +\newcommand{\pdc}{\partial} +\newcommand{\pddc}{\partial^2} +\newcommand{\pdddc}{\partial^3} +% \end{macrocode} +% |\uds| is just like |\udc| but it includes a small space in front. If I can figure +% out how to do it I'll make the command autodetect the preceding character(s) and +% figure out whether to add the space or not. +% \begin{macrocode} +\newcommand{\uds}{\,\mathrm{d}} +\newcommand{\udds}{\,\mathrm{d}^2} +\newcommand{\uddds}{\,\mathrm{d}^3} +% \end{macrocode} +% |\pds| is also defined for similarity as just |\partial| with a space in front, +% although I'm not sure this one is really useful. +% \begin{macrocode} +\newcommand{\pds}{\,\partial} +\newcommand{\pdds}{\,\partial^2} +\newcommand{\pddds}{\,\partial^3} +% \end{macrocode} +% |\ud| typesets a derivative using |\udc|. Similarly for second and third derivatives. +% \begin{macrocode} +\newcommand{\ud}[2]{\frac{\mathrm{d}#1}{\mathrm{d}#2}} +\newcommand{\udd}[2]{\frac{\mathrm{d}^2#1}{\mathrm{d} #2^2}} +\newcommand{\uddd}[2]{\frac{\mathrm{d}^3#1}{\mathrm{d} #2^3}} +% \end{macrocode} +% |\pd| does the same for partial derivatives with |\pdc|. +% \begin{macrocode} +\newcommand{\pd}[2]{\frac{\partial #1}{\partial #2}} +\newcommand{\pdd}[2]{\frac{\partial^2#1}{\partial #2^2}} +\newcommand{\pddd}[2]{\frac{\partial^3#1}{\partial #2^3}} +% \end{macrocode} +% |\grad| typesets the gradient symbol, a nabla with an arrow over it (actually a harpoon). +% This is done the same way regardless of the |arrowvectors| or |boldvectors| setting. +% \begin{macrocode} +\newcommand{\grad}{\accentset{\rightharpoonup}{\nabla}} +% \end{macrocode} +% |\div| is the divergence, defined using |\grad|. Ordinarily |\div| stands for the +% division symbol but nobody really uses that, so I figured it's worth replacing. +% \begin{macrocode} +\renewcommand{\div}{\grad\cdot} +% \end{macrocode} +% |\curl| is done in the obvious way using |\grad| +% \begin{macrocode} +\newcommand{\curl}{\grad\times} +% \end{macrocode} +% |\lapl| is written without a harpoon since it's a scalar operator +% \begin{macrocode} +\newcommand{\lapl}{\nabla^2} +% \end{macrocode} +% |\conj| just puts a superscript star +% \begin{macrocode} +\newcommand{\conj}[1]{{#1 ^{*}}} +% \end{macrocode} +% |\herm| is the same thing but for operators or matrices, so with a dagger +% \begin{macrocode} +\newcommand{\herm}[1]{{#1 ^{\dagger}}} +% \end{macrocode} +% |\transpose| does the same with a $T$ +% \begin{macrocode} +\newcommand{\transpose}[1]{{#1 ^{T}}} +% \end{macrocode} +% These set notations are mostly done with |\mathbb| +% \begin{macrocode} +\newcommand{\natset}{\mathbb{N}} +\newcommand{\intset}{\mathbb{Z}} +\newcommand{\cpxset}{\mathbb{C}} +\newcommand{\whlset}{\mathbb{Q}} +\newcommand{\realset}{\mathbb{R}} +\newcommand{\imagset}{\mathbb{I}} +% \end{macrocode} +% Now Dirac notation, implemented using vertical bars and angle brackets in various combinations +% \begin{macrocode} +\newcommand{\bra}[1]{\left\langle #1 \right\rvert} +\newcommand{\ket}[1]{\left\lvert #1 \right\rangle} +\newcommand{\braket}[2]{\langle #1 \vert #2 \rangle} +\newcommand{\melement}[3]{\langle #1 \vert #2 \vert #3 \rangle} +\newcommand{\projop}[2]{\vert #1 \rangle #2 \langle #1 \vert} +\newcommand{\expect}[1]{\left\langle #1 \right\rangle} +% \end{macrocode} +% Commutators and anticommutators are done in the obvious way +% \begin{macrocode} +\newcommand{\commut}[2]{\left[ #1, #2 \right]} +\newcommand{\acommut}[2]{\left\{ #1, #2 \right\}} +% \end{macrocode} +% The |\round| operator just typesets the word ``round'' +% \begin{macrocode} +\DeclareMathOperator{\round}{round} +% \end{macrocode} +% The exterior derivative is typeset in bold, in contrast to the differential $\udc$ which +% is just a plain roman font +% \begin{macrocode} +\DeclareMathOperator{\exd}{\mathbf{d}} +% \end{macrocode} +% The Hodge dual uses a star, but not superscript like |\conj|. +% \begin{macrocode} +\newcommand{\hodge}{\star} +% \end{macrocode} +% These are short macros to typeset the symbols for the elementary (and common non-elementary) +% particles. Each one is set in math roman font, as opposed to text roman font if it makes +% a difference. They're followed by an empty token |{}| for reasons which I forget. +% +% Theoretically these should only be loaded if the |particle| option was passed but I'll get +% to that later; in the meantime they're unlikely to conflict with anything important. +% \begin{macrocode} +\newcommand{\upq}{\ensuremath{\mathrm{u}}{}} +\newcommand{\dnq}{\ensuremath{\mathrm{d}}{}} +\newcommand{\srq}{\ensuremath{\mathrm{s}}{}} +\newcommand{\chq}{\ensuremath{\mathrm{c}}{}} +\newcommand{\btq}{\ensuremath{\mathrm{b}}{}} +\newcommand{\tpq}{\ensuremath{\mathrm{t}}{}} +\newcommand{\upaq}{\ensuremath{\bar{\mathrm{u}}}{}} +\newcommand{\dnaq}{\ensuremath{\bar{\mathrm{d}}}{}} +\newcommand{\sraq}{\ensuremath{\bar{\mathrm{s}}}{}} +\newcommand{\chaq}{\ensuremath{\bar{\mathrm{c}}}{}} +\newcommand{\btaq}{\ensuremath{\bar{\mathrm{b}}}{}} +\newcommand{\tpaq}{\ensuremath{\bar{\mathrm{t}}}{}} +\newcommand{\elp}{\ensuremath{\mathrm{e}^-}{}} +\newcommand{\enu}{\ensuremath{\nu_\mathrm{e}}{}} +\newcommand{\ulp}{\ensuremath{\mu^-}{}} +\newcommand{\unu}{\ensuremath{\nu_{\mu}}{}} +\newcommand{\tlp}{\ensuremath{\tau^-}{}} +\newcommand{\tnu}{\ensuremath{\nu_{\tau}}{}} +\newcommand{\ealp}{\ensuremath{\mathrm{e}^+}{}} +\newcommand{\eanu}{\ensuremath{\bar{\nu}_\mathrm{e}}{}} +\newcommand{\ualp}{\ensuremath{\mu^+}{}} +\newcommand{\uanu}{\ensuremath{\bar{\nu}_{\mu}}{}} +\newcommand{\talp}{\ensuremath{\tau^+}{}} +\newcommand{\tanu}{\ensuremath{\bar{\nu}_{\tau}}{}} +\newcommand{\prbr}{\ensuremath{\mathrm{p}^+}{}} +\newcommand{\nebr}{\ensuremath{\mathrm{n}^0}{}} +\newcommand{\lmzbr}{\ensuremath{\Lambda^0}{}} +\newcommand{\sgpbr}{\ensuremath{\Sigma^+}{}} +\newcommand{\sgzbr}{\ensuremath{\Sigma^0}{}} +\newcommand{\sgmbr}{\ensuremath{\Sigma^-}{}} +\newcommand{\dlppbr}{\ensuremath{\Delta^{++}}{}} +\newcommand{\dlpbr}{\ensuremath{\Delta^+}{}} +\newcommand{\dlzbr}{\ensuremath{\Delta^0}{}} +\newcommand{\dlmbr}{\ensuremath{\Delta^-}{}} +\newcommand{\xizbr}{\ensuremath{\Xi^0}{}} +\newcommand{\ximbr}{\ensuremath{\Xi^-}{}} +\newcommand{\ommbr}{\ensuremath{\Omega^-}{}} +\newcommand{\sgspbr}{\ensuremath{\Sigma^{*+}}{}} +\newcommand{\sgszbr}{\ensuremath{\Sigma^{*0}}{}} +\newcommand{\sgsmbr}{\ensuremath{\Sigma^{*-}}{}} +\newcommand{\xiszbr}{\ensuremath{\Xi^{*0}}{}} +\newcommand{\xismbr}{\ensuremath{\Xi^{*-}}{}} +\newcommand{\prabr}{\ensuremath{\mathrm{p}^-}{}} +\newcommand{\neabr}{\ensuremath{\bar{\mathrm{n}}^0}{}} +\newcommand{\dlpabr}{\ensuremath{\bar{\Delta}^{+}}{}} +\newcommand{\dlzabr}{\ensuremath{\bar{\Delta}^{0}}{}} +\newcommand{\dlmabr}{\ensuremath{\bar{\Delta}^{-}}{}} +\newcommand{\dlmmabr}{\ensuremath{\bar{\Delta}^{--}}{}} +\newcommand{\pipm}{\ensuremath{\pi^+}{}} +\newcommand{\pizm}{\ensuremath{\pi^0}{}} +\newcommand{\pimm}{\ensuremath{\pi^-}{}} +\newcommand{\kapm}{\ensuremath{K^+}{}} +\newcommand{\kazm}{\ensuremath{K^0}{}} +\newcommand{\kazam}{\ensuremath{\bar{K}^0}{}} +\newcommand{\kamm}{\ensuremath{K^-}{}} +\newcommand{\ropm}{\ensuremath{\rho^+}{}} +\newcommand{\rozm}{\ensuremath{\rho^0}{}} +\newcommand{\romm}{\ensuremath{\rho^-}{}} +\newcommand{\etam}{\ensuremath{\eta}{}} +\newcommand{\etapm}{\ensuremath{\eta'}{}} +\newcommand{\kaspm}{\ensuremath{\mathrm{K}^{*+}}{}} +\newcommand{\kaszm}{\ensuremath{\mathrm{K}^{*0}}{}} +\newcommand{\kaszam}{\ensuremath{\bar{\mathrm{K}}^{*0}}{}} +\newcommand{\kasmm}{\ensuremath{\mathrm{K}^{*-}}{}} +\newcommand{\omm}{\ensuremath{\omega}{}} +\newcommand{\phim}{\ensuremath{\phi}{}} +\newcommand{\phbsn}{\ensuremath{\gamma}{}} +\newcommand{\Wbsn}{\ensuremath{\mathrm{W}}{}} +\newcommand{\Wpbsn}{\ensuremath{\mathrm{W}^{+}}{}} +\newcommand{\Wmbsn}{\ensuremath{\mathrm{W}^{-}}{}} +\newcommand{\Zzbsn}{\ensuremath{\mathrm{Z}^{0}}{}} +\newcommand{\hbsn}{\ensuremath{\mathrm{h}}{}} +\newcommand{\photon}{\phbsn} +% \end{macrocode} +% The |feynman| option is implemented by just loading the package |feynmp|. +% \begin{macrocode} +\ifthenelse{\boolean{pfeynman}}% + {\RequirePackage{feynmp}}% + {} +% \end{macrocode} +% +% \pagebreak[2] +% \Finale
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/physymb/physymb.ins b/Master/texmf-dist/source/latex/physymb/physymb.ins new file mode 100644 index 00000000000..9d49f53a89d --- /dev/null +++ b/Master/texmf-dist/source/latex/physymb/physymb.ins @@ -0,0 +1,46 @@ +%% +%% Copyright (C) 2005-2011 by David Zaslavsky <diazona@ellipsix.net> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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 David Zaslavsky +%% +%% This work consists of the files physymb.dtx and physymb.ins +%% and the derived files physymb.sty and physymb.pdf. +%% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/physymb} +\preamble +This is a generated file. +Copyright (C) 2006-2010 by David Zaslavsky +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.2 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.2 or later is part of all distributions of +LaTeX version 1999/12/01 or later. +\endpreamble +\generate{\file{physymb.sty}{\from{physymb.dtx}{package}}} +\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 physymb.sty} +\Msg{*} +\Msg{* To produce the documentation run the file physymb.dtx} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/physymb/physymb.sty b/Master/texmf-dist/tex/latex/physymb/physymb.sty new file mode 100644 index 00000000000..ea88e502349 --- /dev/null +++ b/Master/texmf-dist/tex/latex/physymb/physymb.sty @@ -0,0 +1,256 @@ +%% +%% This is file `physymb.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% physymb.dtx (with options: `package') +%% This is a generated file. +%% Copyright (C) 2006-2010 by David Zaslavsky +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.2 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.2 or later is part of all distributions of +%% LaTeX version 1999/12/01 or later. + +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{physymb}[2010/12/15 v0.1 Physics symbol definitions] + +%% \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 \~} +\RequirePackage{ifthen} +\newboolean{pparticle} +\newboolean{pfeynman} +\newboolean{punits} +\newboolean{pboldvectors} +\DeclareOption{particle}{\setboolean{pparticle}{true}} +\DeclareOption{units}{\setboolean{punits}{true}} +\DeclareOption{feynman}{\setboolean{pfeynman}{true}} +\DeclareOption{arrowvectors}{\setboolean{pboldvectors}{false}} +\DeclareOption{boldvectors}{\setboolean{pboldvectors}{true}} +\ProcessOptions\relax +\RequirePackage{amsbsy} +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +\allowdisplaybreaks[2] +\RequirePackage{accents} +\RequirePackage{calligra} +\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n} +\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{} +\newcommand{\scriptr}{\mathcalligra{r}} +\newcommand{\sn}[2]{\ensuremath{#1\times10^{#2}}} +\ifthenelse{\boolean{punits}} +{ + \RequirePackage[thinspace,mediumqspace,Gray,squaren]{SIunits} + \addunit{\joulepercubicmeter}{\joule\per\cubic\meter} + \addunit{\joulepercubicmeterrp}{\joule\usk\rpcubic\meter} + \addunit{\torr}{torr} + \addunit{\mmhg}{mmHg} + \addunit{\amu}{amu} + \addunit{\yr}{yr} + \addunit{\erg}{erg} + \addunit{\gauss}{Ga} + \addunit{\molar}{M} + \addunit{\poise}{P} + \addunit{\foot}{ft} + \addunit{\mileperhour}{mph} + \addunit{\pound}{lb} + \newcommand{\snunit}[3]{\ifthenelse{\equal{#1}{1}}% + {\unit{10^{#2}}{#3}}{\unit{\sn{#1}{#2}}{#3}}} +} +{} +\newcommand{\orderof}[1]{\ensuremath{\mathcal{O}\left(#1\right)}} +\DeclareMathOperator{\asin}{\sin^{-1}} +\DeclareMathOperator{\acos}{\cos^{-1}} +\DeclareMathOperator{\atan}{\tan^{-1}} +\DeclareMathOperator{\asec}{\sec^{-1}} +\DeclareMathOperator{\acsc}{\csc^{-1}} +\DeclareMathOperator{\acot}{\cot^{-1}} +\DeclareMathOperator{\sech}{sech} +\DeclareMathOperator{\csch}{csch} +\DeclareMathOperator{\asinh}{\sinh^{-1}} +\DeclareMathOperator{\acosh}{\cosh^{-1}} +\DeclareMathOperator{\atanh}{\tanh^{-1}} +\DeclareMathOperator{\asech}{\sech^{-1}} +\DeclareMathOperator{\acsch}{\csch^{-1}} +\DeclareMathOperator{\acoth}{\coth^{-1}} +\DeclareMathOperator{\diag}{diag} +\DeclareMathOperator{\realop}{Re} +\DeclareMathOperator{\imagop}{Im} +\newcommand{\real}[1]{\realop\{#1\}} +\newcommand{\imag}[1]{\imagop\{#1\}} +\DeclareMathOperator{\sgn}{sgn} +\newcommand{\abs}[1]{\left\lvert#1\right\rvert} +\newcommand{\norm}[1]{\left\lVert#1\right\rVert} +\newcommand{\evalat}[3]{\left.#1\right|_{#2}^{#3}} +\newcommand{\pbrac}[2]{\left\{#1,#2\right\}} +\newcommand{\pbracvars}[4]{\left\{#1,#2\right\}_{#3,#4}} +\ifthenelse{\boolean{pboldvectors}}% + {\renewcommand{\vec}[1]{\mathbf{#1}}}% + {\renewcommand{\vec}[1]{\accentset{\rightharpoonup}{#1}}} +\newcommand{\vecvar}[1]{\vec{#1}} +\newcommand{\tnsvar}[1]{\mathbf{#1}} +\newcommand{\matvar}[1]{\mathbf{#1}} +\newcommand{\identitym}{\mathbf{1}} +\newcommand{\determinant}[1]{\left\lvert#1\right\rvert} +\DeclareMathOperator{\trace}{Tr} +\newcommand{\unitd}{\hat{d}} +\newcommand{\unite}{\hat{e}} +\newcommand{\uniti}{\hat{i}} +\newcommand{\unitj}{\hat{j}} +\newcommand{\unitk}{\hat{k}} +\newcommand{\unitl}{\hat{\ell}} +\newcommand{\unitn}{\hat{n}} +\newcommand{\unitp}{\hat{p}} +\newcommand{\unitq}{\hat{q}} +\newcommand{\unitr}{\hat{r}} +\newcommand{\units}{\hat{s}} +\newcommand{\unitt}{\hat{t}} +\newcommand{\unitu}{\hat{u}} +\newcommand{\unitv}{\hat{v}} +\newcommand{\unitw}{\hat{w}} +\newcommand{\unitx}{\hat{x}} +\newcommand{\unity}{\hat{y}} +\newcommand{\unitz}{\hat{z}} +\newcommand{\unitphi}{\hat{\phi}} +\newcommand{\unitrho}{\hat{\rho}} +\newcommand{\unittheta}{\hat{\theta}} +\newcommand{\unitomega}{\hat{\omega}} +\newcommand{\unitvec}[1]{\hat{#1}} +\newcommand{\udc}{\mathrm{d}} +\newcommand{\uddc}{\mathrm{d}^2} +\newcommand{\udddc}{\mathrm{d}^3} +\newcommand{\pdc}{\partial} +\newcommand{\pddc}{\partial^2} +\newcommand{\pdddc}{\partial^3} +\newcommand{\uds}{\,\mathrm{d}} +\newcommand{\udds}{\,\mathrm{d}^2} +\newcommand{\uddds}{\,\mathrm{d}^3} +\newcommand{\pds}{\,\partial} +\newcommand{\pdds}{\,\partial^2} +\newcommand{\pddds}{\,\partial^3} +\newcommand{\ud}[2]{\frac{\mathrm{d}#1}{\mathrm{d}#2}} +\newcommand{\udd}[2]{\frac{\mathrm{d}^2#1}{\mathrm{d} #2^2}} +\newcommand{\uddd}[2]{\frac{\mathrm{d}^3#1}{\mathrm{d} #2^3}} +\newcommand{\pd}[2]{\frac{\partial #1}{\partial #2}} +\newcommand{\pdd}[2]{\frac{\partial^2#1}{\partial #2^2}} +\newcommand{\pddd}[2]{\frac{\partial^3#1}{\partial #2^3}} +\newcommand{\grad}{\accentset{\rightharpoonup}{\nabla}} +\renewcommand{\div}{\grad\cdot} +\newcommand{\curl}{\grad\times} +\newcommand{\lapl}{\nabla^2} +\newcommand{\conj}[1]{{#1 ^{*}}} +\newcommand{\herm}[1]{{#1 ^{\dagger}}} +\newcommand{\transpose}[1]{{#1 ^{T}}} +\newcommand{\natset}{\mathbb{N}} +\newcommand{\intset}{\mathbb{Z}} +\newcommand{\cpxset}{\mathbb{C}} +\newcommand{\whlset}{\mathbb{Q}} +\newcommand{\realset}{\mathbb{R}} +\newcommand{\imagset}{\mathbb{I}} +\newcommand{\bra}[1]{\left\langle #1 \right\rvert} +\newcommand{\ket}[1]{\left\lvert #1 \right\rangle} +\newcommand{\braket}[2]{\langle #1 \vert #2 \rangle} +\newcommand{\melement}[3]{\langle #1 \vert #2 \vert #3 \rangle} +\newcommand{\projop}[2]{\vert #1 \rangle #2 \langle #1 \vert} +\newcommand{\expect}[1]{\left\langle #1 \right\rangle} +\newcommand{\commut}[2]{\left[ #1, #2 \right]} +\newcommand{\acommut}[2]{\left\{ #1, #2 \right\}} +\DeclareMathOperator{\round}{round} +\DeclareMathOperator{\exd}{\mathbf{d}} +\newcommand{\hodge}{\star} +\newcommand{\upq}{\ensuremath{\mathrm{u}}{}} +\newcommand{\dnq}{\ensuremath{\mathrm{d}}{}} +\newcommand{\srq}{\ensuremath{\mathrm{s}}{}} +\newcommand{\chq}{\ensuremath{\mathrm{c}}{}} +\newcommand{\btq}{\ensuremath{\mathrm{b}}{}} +\newcommand{\tpq}{\ensuremath{\mathrm{t}}{}} +\newcommand{\upaq}{\ensuremath{\bar{\mathrm{u}}}{}} +\newcommand{\dnaq}{\ensuremath{\bar{\mathrm{d}}}{}} +\newcommand{\sraq}{\ensuremath{\bar{\mathrm{s}}}{}} +\newcommand{\chaq}{\ensuremath{\bar{\mathrm{c}}}{}} +\newcommand{\btaq}{\ensuremath{\bar{\mathrm{b}}}{}} +\newcommand{\tpaq}{\ensuremath{\bar{\mathrm{t}}}{}} +\newcommand{\elp}{\ensuremath{\mathrm{e}^-}{}} +\newcommand{\enu}{\ensuremath{\nu_\mathrm{e}}{}} +\newcommand{\ulp}{\ensuremath{\mu^-}{}} +\newcommand{\unu}{\ensuremath{\nu_{\mu}}{}} +\newcommand{\tlp}{\ensuremath{\tau^-}{}} +\newcommand{\tnu}{\ensuremath{\nu_{\tau}}{}} +\newcommand{\ealp}{\ensuremath{\mathrm{e}^+}{}} +\newcommand{\eanu}{\ensuremath{\bar{\nu}_\mathrm{e}}{}} +\newcommand{\ualp}{\ensuremath{\mu^+}{}} +\newcommand{\uanu}{\ensuremath{\bar{\nu}_{\mu}}{}} +\newcommand{\talp}{\ensuremath{\tau^+}{}} +\newcommand{\tanu}{\ensuremath{\bar{\nu}_{\tau}}{}} +\newcommand{\prbr}{\ensuremath{\mathrm{p}^+}{}} +\newcommand{\nebr}{\ensuremath{\mathrm{n}^0}{}} +\newcommand{\lmzbr}{\ensuremath{\Lambda^0}{}} +\newcommand{\sgpbr}{\ensuremath{\Sigma^+}{}} +\newcommand{\sgzbr}{\ensuremath{\Sigma^0}{}} +\newcommand{\sgmbr}{\ensuremath{\Sigma^-}{}} +\newcommand{\dlppbr}{\ensuremath{\Delta^{++}}{}} +\newcommand{\dlpbr}{\ensuremath{\Delta^+}{}} +\newcommand{\dlzbr}{\ensuremath{\Delta^0}{}} +\newcommand{\dlmbr}{\ensuremath{\Delta^-}{}} +\newcommand{\xizbr}{\ensuremath{\Xi^0}{}} +\newcommand{\ximbr}{\ensuremath{\Xi^-}{}} +\newcommand{\ommbr}{\ensuremath{\Omega^-}{}} +\newcommand{\sgspbr}{\ensuremath{\Sigma^{*+}}{}} +\newcommand{\sgszbr}{\ensuremath{\Sigma^{*0}}{}} +\newcommand{\sgsmbr}{\ensuremath{\Sigma^{*-}}{}} +\newcommand{\xiszbr}{\ensuremath{\Xi^{*0}}{}} +\newcommand{\xismbr}{\ensuremath{\Xi^{*-}}{}} +\newcommand{\prabr}{\ensuremath{\mathrm{p}^-}{}} +\newcommand{\neabr}{\ensuremath{\bar{\mathrm{n}}^0}{}} +\newcommand{\dlpabr}{\ensuremath{\bar{\Delta}^{+}}{}} +\newcommand{\dlzabr}{\ensuremath{\bar{\Delta}^{0}}{}} +\newcommand{\dlmabr}{\ensuremath{\bar{\Delta}^{-}}{}} +\newcommand{\dlmmabr}{\ensuremath{\bar{\Delta}^{--}}{}} +\newcommand{\pipm}{\ensuremath{\pi^+}{}} +\newcommand{\pizm}{\ensuremath{\pi^0}{}} +\newcommand{\pimm}{\ensuremath{\pi^-}{}} +\newcommand{\kapm}{\ensuremath{K^+}{}} +\newcommand{\kazm}{\ensuremath{K^0}{}} +\newcommand{\kazam}{\ensuremath{\bar{K}^0}{}} +\newcommand{\kamm}{\ensuremath{K^-}{}} +\newcommand{\ropm}{\ensuremath{\rho^+}{}} +\newcommand{\rozm}{\ensuremath{\rho^0}{}} +\newcommand{\romm}{\ensuremath{\rho^-}{}} +\newcommand{\etam}{\ensuremath{\eta}{}} +\newcommand{\etapm}{\ensuremath{\eta'}{}} +\newcommand{\kaspm}{\ensuremath{\mathrm{K}^{*+}}{}} +\newcommand{\kaszm}{\ensuremath{\mathrm{K}^{*0}}{}} +\newcommand{\kaszam}{\ensuremath{\bar{\mathrm{K}}^{*0}}{}} +\newcommand{\kasmm}{\ensuremath{\mathrm{K}^{*-}}{}} +\newcommand{\omm}{\ensuremath{\omega}{}} +\newcommand{\phim}{\ensuremath{\phi}{}} +\newcommand{\phbsn}{\ensuremath{\gamma}{}} +\newcommand{\Wbsn}{\ensuremath{\mathrm{W}}{}} +\newcommand{\Wpbsn}{\ensuremath{\mathrm{W}^{+}}{}} +\newcommand{\Wmbsn}{\ensuremath{\mathrm{W}^{-}}{}} +\newcommand{\Zzbsn}{\ensuremath{\mathrm{Z}^{0}}{}} +\newcommand{\hbsn}{\ensuremath{\mathrm{h}}{}} +\newcommand{\photon}{\phbsn} +\ifthenelse{\boolean{pfeynman}}% + {\RequirePackage{feynmp}}% + {} +\endinput +%% +%% End of file `physymb.sty'. |