summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-27 21:56:05 +0000
committerKarl Berry <karl@freefriends.org>2020-01-27 21:56:05 +0000
commitc1881c5c5344914a46d0f06387afcb78981a85c5 (patch)
tree0856d11fe6b85ca6bab5388face0faedc6ca9c05 /Master/texmf-dist
parentc035ae941be8394f01abe2c683458a79c2c1a6ee (diff)
physunits (27jan20)
git-svn-id: svn://tug.org/texlive/trunk@53574 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/physunits/CHANGELOG.md39
-rw-r--r--Master/texmf-dist/doc/latex/physunits/README.md81
-rw-r--r--Master/texmf-dist/doc/latex/physunits/makefile122
-rw-r--r--Master/texmf-dist/doc/latex/physunits/physunits.pdfbin0 -> 100908 bytes
-rw-r--r--Master/texmf-dist/source/latex/physunits/physunits.dtx1882
-rw-r--r--Master/texmf-dist/source/latex/physunits/physunits.ins56
-rw-r--r--Master/texmf-dist/tex/latex/physunits/physunits.sty201
7 files changed, 2381 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md b/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md
new file mode 100644
index 00000000000..5ccb30dc100
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md
@@ -0,0 +1,39 @@
+# Changes
+## [1.0.0] - 2020/01/22
+- Initial version
+## [1.0.1] - 2020/01/25
+### Added
+- A changelog
+- A readme
+- Code for changelog into physconst.cpp
+- `make dist` to create distributable tarball and zip
+- line in .ins to force generation of the .sty
+- nicer index entries (and some associated code in .cpp to generate them)
+- added localuninstall and distuninstall targets to the makefile
+### Changed
+- Modified the makefile to split up generation of the .sty, and .pdf
+- Added a newline in the middle of the title declaration (in .cpp)
+- Added a newline in the middle of the \DoNotIndex declaration (in .cpp)
+- fixed makefile install options to correctly find TEXMF path
+## [1.0.2] - 2020/01/25
+### Changed
+- Switch compression of tarball to gzip to match requirement for CTAN
+## [1.0.3] - 2020/01/26
+### Added
+- uninstall instructions in README.md
+- installcheck in makefile
+- force makefile to be run serial
+### Changed
+- Switch tarball/zip to include .dtx instead of .sty per CTAN requirement
+- Clean up installation instructions in README.md
+- Made some changes in the makefile to take better advantage of make
+## [1.0.3a] - 2020/01/26
+### Added
+- Created a separate readme for the distribution
+- Created a separate makefile for the distribution
+### Changed
+- modify the makefile to include .ins in the package files
+- modify the makefile to include the new distrubution readme and makefile
+- give instructions on using makefile for distribution
+- Did a little more reformatting in the README.
+
diff --git a/Master/texmf-dist/doc/latex/physunits/README.md b/Master/texmf-dist/doc/latex/physunits/README.md
new file mode 100644
index 00000000000..ce400e3487e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/physunits/README.md
@@ -0,0 +1,81 @@
+# physunits
+A LaTeX package that includes macros for SI, cgs, and some imperial units.
+
+# License
+Copyright (C) 2020 by Brian W. Mulligan <bwmulligan@astronaos.com>
+-----------------------------------------------------------
+
+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 2006/05/20 or later.
+
+# Dependencies
+None.
+
+# Build Dependencies
+- some LaTeX distribution.
+- `hyperref` package for LaTeX
+
+# Files
+```
+ makefile GNU makefile to simplify building and installation on linux
+ README.md This file.
+ CHANGELOG.md List of changes
+ physunits.ins The installer file
+ physunits.dtx The package code and documentation
+ physunits.pdf The package user manual
+```
+
+# Building the Package
+## Linux / Mac using make and xelatex
+1. `make`
+
+## Otherwise
+1. Run `latex` on `physunits.ins` to create the `.sty` file. e.g. `latex physunits.ins`.
+1. The following steps apply only if you want the documentation (recommended).
+ 1. Run `latex` on `physunits.dtx` to create the `.pdf` file. e.g. `xelatex physunits.pdf`.
+ 1. Run `makeindex` to create the index, e.g. `makeindex -s gind.ist -o physunits.ind physunits.idx`.
+ 1. Run `makeindex` to create the change log, e.g. `makeindex -s gglo.ist -o physunits.gls physunits.glo`.
+ 1. Run `latex` on `physunits.dtx` to create the `.pdf` file with index and change log. e.g. `xelatex physunits.pdf`.
+ 1. Run `latex` on `physunits.dtx` to get the labels sorted out. e.g. `xelatex physunits.pdf`.
+
+Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files).
+
+# Installation
+First build the project as described above.
+
+## For a single project
+1. Copy the `physunits.sty` into your project where your `.tex` files are located.
+
+## for all users and projects
+### Linux / Mac using make and xelatex
+1. `make localinstall`
+
+### Otherwise
+Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files).
+1. Figure out where your LaTeX local packages are installed.
+1. Create a directory named `physunits` in that location.
+1. Copy the `.sty` file into the directory you just created.
+1. Figure out where your LaTeX local package documentation is installed.
+1. Create a directory named `physunits` in that location.
+1. Copy the `.pdf` file into the directory you just created.
+1. Run `texhash` or the equivalent to let LaTeX know the package is there.
+
+
+# Uninstallation
+
+### Linux / Mac using make
+1. `make localuninstall`
+### Otherwise
+1. Figure out where your LaTeX local packages are installed.
+1. Delete the directory named `physunits` in that location.
+1. Figure out where your LaTeX local package documentation is installed.
+1. Delete the directory named `physunits` in that location.
+1. Run `texhash` or the equivalent to let LaTeX know the package is gone.
+
diff --git a/Master/texmf-dist/doc/latex/physunits/makefile b/Master/texmf-dist/doc/latex/physunits/makefile
new file mode 100644
index 00000000000..ca48c701ecf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/physunits/makefile
@@ -0,0 +1,122 @@
+pkgname=$(patsubst %.ins,%,$(wildcard *.ins))
+TEXMFLOCAL = $(shell kpsewhich -var-value TEXMFLOCAL)
+TEXMFDIST = $(shell kpsewhich -var-value TEXMFDIST)
+
+.PHONY: all clean localinstall localuninstall localinstallcheck distinstall distuninstall distinstallcheck installcheck
+
+all: $(pkgname).pdf
+
+.PRECIOUS: %.sty %.dtx %.pdf
+.DELETE_ON_ERROR:
+.NOTPARALLEL:
+
+%.sty: %.dtx %.ins
+ latex $(pkgname).ins
+
+%.pdf: %.sty
+ xelatex $(pkgname).dtx
+ makeindex -s gind.ist -o $(pkgname).ind $(pkgname).idx
+ makeindex -s gglo.ist -o $(pkgname).gls $(pkgname).glo
+ xelatex $(pkgname).dtx
+ xelatex $(pkgname).dtx
+
+clean:
+ -rm *.pdf
+ -rm *.log
+ -rm *.out
+ -rm *.aux
+ -rm *.bib
+ -rm *.snm
+ -rm *.toc
+ -rm *.nav
+ -rm *.idx
+ -rm *.sty
+ -rm *.gls
+ -rm *.ilg
+ -rm *.ind
+ -rm *.glo
+ -rm $(pkgname).zip
+ -rm $(pkgname).tar
+ -rm $(pkgname).tar.gz
+ -rm -r $(pkgname)
+ -rm -r tmptar
+ -rm -r tmpzip
+
+$(TEXMFLOCAL)/tex/latex/$(pkgname):
+ mkdir -p $(TEXMFLOCAL)/tex/latex/$(pkgname)
+
+$(TEXMFLOCAL)/doc/latex/$(pkgname):
+ mkdir -p $(TEXMFLOCAL)/doc/latex/$(pkgname)
+
+$(TEXMFLOCAL)/tex/latex/$(pkgname)/$(pkgname).sty: $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname)
+ cp $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname)/.
+
+$(TEXMFLOCAL)/doc/latex/$(pkgname)/$(pkgname).pdf: $(pkgname).pdf $(TEXMFLOCAL)/doc/latex/$(pkgname)
+ cp $(pkgname).pdf $(TEXMFLOCAL)/doc/latex/$(pkgname)/.
+
+localinstall: $(pkgname).pdf $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname) $(TEXMFLOCAL)/doc/latex/$(pkgname) $(TEXMFLOCAL)/tex/latex/$(pkgname)/$(pkgname).sty $(TEXMFLOCAL)/doc/latex/$(pkgname)/$(pkgname).pdf
+ @echo Installing to $(TEXMFLOCAL)/tex/latex/$(pkgname)
+ texhash
+ make localinstallcheck
+
+localuninstall:
+ @echo Removing from $(TEXMFLOCAL)/tex/latex/$(pkgname)
+ -rm -r $(TEXMFLOCAL)/tex/latex/$(pkgname)
+ -rm -r $(TEXMFLOCAL)/doc/latex/$(pkgname)
+ texhash
+
+
+$(TEXMFDIST)/tex/latex/$(pkgname):
+ mkdir -p $(TEXMFDIST)/tex/latex/$(pkgname)
+
+$(TEXMFDIST)/doc/latex/$(pkgname):
+ mkdir -p $(TEXMFDIST)/doc/latex/$(pkgname)
+
+$(TEXMFDIST)/tex/latex/$(pkgname)/$(pkgname).sty: $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname)
+ cp $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname)/.
+
+$(TEXMFDIST)/doc/latex/$(pkgname)/$(pkgname).pdf: $(pkgname).pdf $(TEXMFDIST)/doc/latex/$(pkgname)
+ cp $(pkgname).pdf $(TEXMFDIST)/doc/latex/$(pkgname)/.
+
+distinstall: $(pkgname).pdf $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname) $(TEXMFDIST)/doc/latex/$(pkgname) $(TEXMFDIST)/tex/latex/$(pkgname)/$(pkgname).sty $(TEXMFDIST)/doc/latex/$(pkgname)/$(pkgname).pdf
+ @echo Installing to $(TEXMFDIST)/tex/latex/$(pkgname)
+ texhash
+ make distinstallcheck
+
+distuninstall:
+ @echo Removing from $(TEXMFDIST)/tex/latex/$(pkgname)
+ -rm -r $(TEXMFDIST)/tex/latex/$(pkgname)
+ -rm -r $(TEXMFDIST)/doc/latex/$(pkgname)
+ texhash
+
+#######################################################
+# checks - will be called recursively
+#######################################################
+
+localinstallcheck:
+ifeq (0,$(shell test -d $(TEXMFLOCAL)/tex/latex/$(pkgname); echo $$?))
+ @echo $(pkgname) installed as local: $(TEXMFLOCAL)/tex/latex/$(pkgname)
+else
+ $(error $(pkgname) is not installed as local)
+endif
+
+distinstallcheck:
+ifeq (0,$(shell test -d $(TEXMFDIST)/tex/latex/$(pkgname); echo $$?))
+ @echo $(pkgname) installed as dist: $(TEXMFDIST)/tex/latex/$(pkgname)
+else
+ $(error $(pkgname) is not installed as dist)
+endif
+
+installcheck:
+ifeq (0,$(shell test -d $(TEXMFDIST)/tex/latex/$(pkgname); echo $$?))
+ @echo $(pkgname) installed as dist: $(TEXMFDIST)/tex/latex/$(pkgname)
+else
+ifeq (0,$(shell test -d $(TEXMFLOCAL)/tex/latex/$(pkgname); echo $$?))
+ @echo $(pkgname) installed as local: $(TEXMFLOCAL)/tex/latex/$(pkgname)
+else
+ $(error $(pkgname) is not installed)
+endif
+endif
+
+
+
diff --git a/Master/texmf-dist/doc/latex/physunits/physunits.pdf b/Master/texmf-dist/doc/latex/physunits/physunits.pdf
new file mode 100644
index 00000000000..090dfa7d836
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/physunits/physunits.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/physunits/physunits.dtx b/Master/texmf-dist/source/latex/physunits/physunits.dtx
new file mode 100644
index 00000000000..103f97c0c8b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/physunits/physunits.dtx
@@ -0,0 +1,1882 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2020 by Brian W. Mulligan <bwmulligan@astronaos.com>
+% -----------------------------------------------------------
+%
+% 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 2006/05/20 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{physunits.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+%<package> \ProvidesPackage{physunits}
+%<*package>
+ [2020/01/26 v1.0.3 Physical units package]
+%</package>
+%<package>\ProcessOptions\relax
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{physunits}
+\usepackage[backref]{hyperref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\begin{document}
+\DocInput{physunits.dtx}
+\PrintChanges
+\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{486}
+%
+% \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}{2020/01/23}{Initial version}
+% \changes{v1.0.1}{2020/01/25}{Clean up formatting, fix index}
+% \changes{v1.0.2}{2020/01/25}{External changes in makefile}
+% \changes{v1.0.3}{2020/01/26}{External changes in makefile}
+%
+% \GetFileInfo{physunits.dtx}
+% \DeclareRobustCommand{\fileversion}{v1.0}
+% \DeclareRobustCommand{\filedate}{2020/01/26}
+%
+% \DoNotIndex{\DeclareRobustCommand,\newenvironment,\DeclareRobustCommand,
+% \left,\right,\textbf,\mathrm,\ensuremath,\units@separator,\expandafter,\,}
+%
+% \title{The \textsf{physunits} package\thanks{This document corresponds to%
+% \textsf{physunits}~\fileversion, dated \filedate.}}
+% \author{Brian W. Mulligan \\ \texttt{bwmulligan@astronaos.com}}
+%
+% \maketitle
+% \setlength{\parindent}{0em}
+% \setlength{\parskip}{1em}
+%
+% \section{Introduction}
+%
+%
+% This package consists of several macros that are shorthand for a variety of
+% physical units that are commonly used in introductory level physics and
+% astronomy classes.
+%
+% \section{Naming Convention}
+%
+% most macros consist of just the commonly used letter or unit, e.g.
+% \textbackslash m for
+% meters. In cases where the simple form of the unit conflicts with an existing
+% \LaTeX~macro, then the full word is used, starting with a upper-case letter,
+% e.g. \textbackslash Coulomb.
+%
+% One notable exception to the above naming convention is the use of
+% \textbackslash gm for
+% grams, instead of \textbackslash g or \textbackslash Gram.
+%
+% \section{Base and Prefixes}
+%
+% Most units are in the base unit only, but some very commonly used prefixes
+% are available as part of the macro, e.g. \textbackslash kg for kilogram,
+% \textbackslash cm for centimeter.
+% For base units, each macro accepts one option that can be used to specify
+% the prefix, for example \textbackslash m[n] will result in nm. The macros
+% enforce math
+% mode, so \textbackslash m[\textbackslash micro] will result in
+% $\mathrm{\mu m}$.
+%
+%
+% \section{Macro Usage}
+%
+%
+% \subsection{Special Macros}
+%
+%
+% \DescribeMacro{\units@separator}
+% |\units@separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+% \DescribeMacro{\micro}
+% |\micro| is a special macro that can be used for the prefix $\mathrm{\mu}$
+% (micro-). Internally it just uses \textbackslash mu.
+%
+% \subsection{Electricity \& Magnetism}
+% \index{Electricity \& Magnetism|usage(}
+%
+% \DescribeMacro{\V}
+% \index{Electricity \& Magnetism>Volts|usage}
+% |\V| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Volt}
+% \index{Electricity \& Magnetism>Volts|usage}
+% |\Volt| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Coulomb}
+% \index{Electricity \& Magnetism>Coulomb|usage}
+% |\Coulomb| is a macro for Coulombs (C).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\esu}
+% \index{Electricity \& Magnetism>esu|usage}
+% |\esu| is a macro for electrostatic units (esu), the units of charge in
+% Gaussian cgs.
+%
+% \DescribeMacro{\Ohm}
+% \index{Electricity \& Magnetism>Ohm|usage}
+% |\Ohm| is a macro for Ohms ($\Omega$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Amp}
+% \index{Electricity \& Magnetism>Amperes|usage}
+% |\Amp| is a macro for Amperes (A).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Farad}
+% \index{Electricity \& Magnetism>Farad|usage}
+% |\Farad| is a macro for Farads (F).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Tesla}
+% \index{Electricity \& Magnetism>Tesla|usage}
+% |\Tesla| is a macro for Teslas (T).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Gauss}
+% \index{Electricity \& Magnetism>Gauss|usage}
+% |\Gauss| is a macro for Gauss (G), the units for magnetic field strength in
+% Gaussian cgs.
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Henry}
+% \index{Electricity \& Magnetism>Henry|usage}
+% |\Henry| is a macro for Henrys (H).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+% \index{Electricity \& Magnetism|usage)}
+%
+% \subsection{Energy}
+% \index{Energy|usage(}
+%
+% \DescribeMacro{\eV}
+% \index{Energy>eV|usage}
+% |\eV| is a macro for electron Volts (eV).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\keV}
+% \index{Energy>eV|usage}
+% |\keV| is a macro for kilo-electron Volts (keV).
+%
+% \DescribeMacro{\MeV}
+% \index{Energy>eV|usage}
+% |\MeV| is a macro for mega-electron Volts (MeV).
+%
+% \DescribeMacro{\J}
+% \index{Energy>Joules|usage}
+% |\J| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Joule}
+% \index{Energy>Joules|usage}
+% |\Joule| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\erg}
+% \index{Energy>erg|usage}
+% |\erg| is a macro for ergs (erg), the unit of energy in cgs.
+%
+% \DescribeMacro{\kcal}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\kcal| is a macro for kilo-calories (kcal).
+%
+% \DescribeMacro{\Cal}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\Cal| is a macro for kilo=calories (Cal).
+%
+% \DescribeMacro{\calorie}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\calorie| is a macro for calories (cal).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\BTU}
+% \index{Energy>BTU|usage}
+% |\BTU| is a macro for British Thermal Units (BTU).
+%
+% \DescribeMacro{\tnt}
+% \index{Energy>TNT|usage}
+% |\tnt| is a macro for tons of TNT.
+% \index{Energy|usage)}
+%
+% \subsection{Power}
+% \index{Power|usage(}
+%
+% \DescribeMacro{\Watt}
+% \index{Power>Watts|usage}
+% |\Watt| is a macro for Watts (W).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\hpi}
+% \index{Power>Horsepower|usage}
+% \index{Power>Horsepower>Imperial|usage}
+% |\hpi| is a macro for Imperial Horsepower (hp(I)).
+%
+% \DescribeMacro{\hpi}
+% \index{Power>Horsepower|usage}
+% \index{Power>Horsepower>Metric|usage}
+% |\hpi| is a macro for Metric Horsepower (hp(M)).
+%
+% \DescribeMacro{\hp}
+% \index{Power>Horsepower|usage}
+% |\hp| is a macro for Horsepower (hp).
+% \index{Power|usage)}
+%
+% \subsection{Distance}
+% \index{Distance|usage)}
+%
+% \DescribeMacro{\meter}
+% \index{Distance>Meter|usage}
+% |\meter| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\m}
+% \index{Distance>Meter|usage}
+% |\m| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\km}
+% \index{Distance>Meter>Kilometer|usage}
+% |\km| is a macro for kilometers (km).
+%
+% \DescribeMacro{\au}
+% \index{Distance>Astronomical Unit|usage}
+% |\au| is a macro for astronmical units (au).
+%
+% \DescribeMacro{\pc}
+% \index{Distance>Parsec|usage}
+% |\pc| is a macro for parsecs (pc).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\ly}
+% \index{Distance>Light Years|usage}
+% |\ly| is a macro for light-years (ly).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\cm}
+% \index{Distance>Meter>Centimeter|usage}
+% |\cm| is a macro for centimeters (cm).
+%
+% \DescribeMacro{\nm}
+% \index{Distance>Meter>Nanometer|usage}
+% |\nm| is a macro for nanometers (nm).
+%
+% \DescribeMacro{\ft}
+% \index{Distance>Imperial>Feet|usage}
+% |\ft| is a macro for feet (ft).
+%
+% \DescribeMacro{\inch}
+% \index{Distance>Imperial>Inch|usage}
+% |\inch| is a macro for inches (in).
+%
+% \DescribeMacro{\mi}
+% \index{Distance>Imperial>Mile|usage}
+% |\mi| is a macro for miles (mi).
+%
+% \index{Distance|usage)}
+%
+% \subsection{Time}
+% \index{Time|usage(}
+%
+% \DescribeMacro{\s}
+% \index{Time>Seconds|usage}
+% |\s| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Sec}
+% \index{Time>Seconds|usage}
+% |\Sec| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Min}
+% \index{Time>Minutes|usage}
+% |\Min| is a macro for minutes (m).
+%
+% \DescribeMacro{\h}
+% \index{Time>Hours|usage}
+% |\h| is a macro for hours (h).
+%
+% \DescribeMacro{\y}
+% \index{Time>Years|usage}
+% |\y| is a macro for years (y).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Day}
+% \index{Time>Days|usage}
+% |\Day| is a macro for days (d).
+%
+% \index{Time|usage)}
+%
+% \subsection{Mass}
+%
+% \index{Mass|usage(}
+%
+% \DescribeMacro{\gm}
+% \index{Mass>Grams|usage}
+% |\gm| is a macro for grams (g).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\kg}
+% \index{Mass>Gram>Kilograms|usage}
+% |\kg| is a macro for kilograms (kg).
+%
+% \DescribeMacro{\lb}
+% \index{Mass>Pounds|usage}
+% |\lb| is a macro for pounds (weight) (lb).
+%
+% \DescribeMacro{\amu}
+% \index{Mass>AMU|usage}
+% \index{Mass>Dalton|usage}
+% |\amu| is a macro for atomic mass units (amu).
+%
+% \index{Mass|usage)}
+%
+% \subsection{Force}
+%
+% \index{Force|usage(}
+%
+% \DescribeMacro{\N}
+% \index{Force>Newton|usage}
+% |\N| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Newton}
+% \index{Force>Newton|usage}
+% |\Newton| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\dyne}
+% \index{Force>Dyne|usage}
+% |\dyne| is a macro for dynes (dyn).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\lbf}
+% \index{Force>Pounds|usage}
+% |\lbf| is a macro for pounds of force (lbf).
+%
+% \index{Force|usage)}
+%
+% \subsection{Velocity}
+%
+% \index{Velocity|usage(}
+%
+% \DescribeMacro{\kmps}
+% \index{Velocity>Kilometers per Second|usage}
+% |\kmps| is a macro for kilometers per second ($\kmps$).
+%
+% \DescribeMacro{\kmph}
+% \index{Velocity>Kilometers per Hour|usage}
+% |\kmph| is a macro for kilometers per hour ($\kmph$).
+%
+% \DescribeMacro{\mps}
+% \index{Velocity>Meters per Second|usage}
+% |\mps| is a macro for meters per second ($\mps$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\miph}
+% \index{Velocity>Miles per Hour|usage}
+% |\miph| is a macro for miles per hour ($\miph$).
+%
+% \DescribeMacro{\kts}
+% \index{Velocity>Knots|usage}
+% \index{Velocity>Nautical Miles per Hour|usage}
+% |\kts| is a macro for knots ($\kts$)., i.e. nautical miles per hour
+%
+% \index{Velocity|usage)}
+%
+% \subsection{Acceleration}
+%
+% \index{Acceleration|usage(}
+%
+% \DescribeMacro{\mpss}
+% \index{Acceleration>Meters per Second squared|usage}
+% |\mpss| is a macro for acceleration in meters per second squared ($\mpss$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\gacc}
+% \index{Acceleration>Gravity|usage}
+% |\gacc| is a macro for acceleration due to gravity ($\gacc$).
+%
+% \DescribeMacro{\ftpss}
+% \index{Acceleration>Feet per Second squared|usage}
+% |\ftpss| is a macro for acceleration in feet per second squared ($\ftpss$).
+%
+% \index{Velocity|usage)}
+%
+%
+% \subsection{Temperature}
+%
+% \index{Temperature|usage(}
+%
+% \DescribeMacro{\K}
+% \index{Temperature>Kelvin|usage}
+% |\K| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Kelvin}
+% \index{Temperature>Kelvin|usage}
+% |\Kelvin| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Celcius}
+% \index{Temperature>Celcius|usage}
+% |\Celcius| is a macro for degrees Celcius $(\Celcius)$.
+%
+% \DescribeMacro{\Rankine}
+% \index{Temperature>Rankine|usage}
+% |\Rankine| is a macro for degrees Rankine $(\Rankine)$.
+%
+% \DescribeMacro{\Fahrenheit}
+% \index{Temperature>Fahrenheit|usage}
+% |\Fahrenheit| is a macro for degrees Fahrenheit $(\Fahrenheit)$.
+%
+% \index{Temperature|usage)}
+%
+% \subsection{Angular Velocity}
+%
+% \index{Angular Velocity|usage(}
+%
+% \DescribeMacro{\rpm}
+% \index{Angular Velocity>RPM|usage}
+% |\rpm| is a macro for revolutions per minute $(\rpm)$.
+%
+% \index{Angular Velocity|usage)}
+%
+% \subsection{Frequency}
+%
+% \index{Frequency|usage(}
+%
+% \DescribeMacro{\Hz}
+% \index{Frequency>Hertz|usage}
+% |\Hz| is a macro for Hertz (Hz).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \index{Frequency|usage)}
+%
+%
+% \subsection{Pressure}
+%
+% \index{Pressure|usage(}
+%
+% \DescribeMacro{\barP}
+% \index{Pressure>bar|usage}
+% |\barP| is a macro for bar (bar). (The use of barP instead of just bar is due
+% the \LaTeX~command \textbackslash bar.)
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\atm}
+% \index{Pressure>atmosphere|usage}
+% |\atm| is a macro for atmosphere (atm).
+%
+% \DescribeMacro{\Pa}
+% \index{Pressure>Pascal|usage}
+% |\Pa| is a macro for Pascals (Pa).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\mmHg}
+% \index{Pressure>mm Hg|usage}
+% |\mmHg| is a macro for millimeters of mercury (mmHg).
+%
+% \DescribeMacro{\inHg}
+% \index{Pressure>in Hg|usage}
+% |\inHg| is a macro for inches of mercury (inHg).
+%
+% \DescribeMacro{\lbsi}
+% \index{Pressure>psi|usage}
+% \index{Pressure>Pound per square inch|usage}
+% |\lbsi| is a macro for pounds per square inch (psi). (Note that \textbackslash
+% psi is a latex command for the greek letter $\psi$).
+%
+% \DescribeMacro{\lbsf}
+% \index{Pressure>psf|usage}
+% \index{Pressure>Pound per square foot|usage}
+% |\lbsf| is a macro for pounds per square foot (psf).
+%
+% \DescribeMacro{\Ba}
+% \index{Pressure>Barre|usage}
+% |\Ba| is a macro for Barre (Ba).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Torr}
+% \index{Pressure>Torr|usage}
+% |\Torr| is a macro for Torr (Torr).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \index{Pressure|usage)}
+%
+% \subsection{Other}
+%
+% \index{Other|usage(}
+%
+% \DescribeMacro{\mol}
+% \index{Other>mole|usage(}
+% \index{mole|usage(}
+% |\mol| is a macro for moles (mol).
+%
+% \index{Other|usage)}
+
+% \StopEventually{}
+%
+
+\makeatletter
+% \section{Implementation}
+%
+% \subsection{Special}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\units@separator}
+% |\units@separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\units@separator}{\,}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\units@separator}
+% |\units@separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\micro}{\ensuremath{%
+\mu}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Electricity \& Magnetism}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\V}
+% |\V| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\V}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1V}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Volt}
+% |\Volt| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Volt}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1V}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Coulomb}
+% |\Coulomb| is a macro for Coulombs (C).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Coulomb}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1C}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\esu}
+% |\esu| is a macro for electrostatic units (esu).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\esu}{\ensuremath{%
+\expandafter\units@separator\mathrm{esu}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Ohm}
+% |\Ohm| is a macro for Ohms ($\Omega$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Ohm}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1\Omega}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Amp}
+% |\Amp| is a macro for Amperes (A).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Amp}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1A}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Farad}
+% |\Farad| is a macro for Farads (F).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Farad}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1F}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Tesla}
+% |\Tesla| is a macro for Teslas (T).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Tesla}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1T}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Gauss}
+% |\Gauss| is a macro for Gauss (G).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Gauss}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1G}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Henry}
+% |\Henry| is a macro for Henrys (H).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Henry}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1H}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+% \subsection{Energy}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\eV}
+% |\eV| is a macro for electron Volts (eV).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\eV}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1eV}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\keV}
+% |\keV| is a macro for kilo-electron Volts (keV).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\keV}{\ensuremath{%
+\expandafter\units@separator\mathrm{keV}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\MeV}
+% |\MeV| is a macro for mega-electron Volts (MeV).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\MeV}{\ensuremath{%
+\expandafter\units@separator\mathrm{MeV}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\J}
+% |\J| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\J}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1J}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Joule}
+% |\Joule| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Joule}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1J}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\erg}
+% |\erg| is a macro for ergs (erg).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\erg}{\ensuremath{%
+\expandafter\units@separator\mathrm{erg}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kcal}
+% |\kcal| is a macro for kilo-calories (kcal).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\kcal}[1]{\ensuremath{%
+\expandafter\units@separator\mathrm{kcal}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Cal}
+% |\Cal| is a macro for kilo=calories (Cal).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Cal}{\ensuremath{%
+\expandafter\units@separator\mathrm{Cal}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\calorie}
+% |\calorie| is a macro for calories (cal).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\calorie}[1][ ]{%
+\ensuremath{%
+\expandafter\units@separator\mathrm{#1cal}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\BTU}
+% |\BTU| is a macro for British Thermal Units (BTU).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\BTU}{\ensuremath{%
+\expandafter\units@separator\mathrm{BTU}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\tnt}
+% |\tnt| is a macro for tons of TNT).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\tnt}{\ensuremath{%
+\expandafter\units@separator\mathrm{ton%
+\expandafter\units@separator of%
+\expandafter\units@separator TNT}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Power}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Watt}
+% |\Watt| is a macro for Watts (W).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Watt}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1W}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hpi}
+% |\hpi| is a macro for Imperial Horsepower (hp(I)).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\hpi}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp(I)}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hpi}
+% |\hpi| is a macro for Metric Horsepower (hp(M)).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\hpm}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp(M)}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hp}
+% |\hp| is a macro for Horsepower (hp).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\hp}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Distance}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\meter}
+% |\meter| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\meter}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\m}
+% |\m| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\m}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\km}
+% |\km| is a macro for kilometers (km).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\km}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\au}
+% |\au| is a macro for astronmical units (au).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\au}{\ensuremath{%
+\expandafter\units@separator\mathrm{au}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\pc}
+% |\pc| is a macro for parsecs (pc).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\pc}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1pc}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ly}
+% |\ly| is a macro for light-years (ly).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\ly}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1ly}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\cm}
+% |\cm| is a macro for centimeters (cm).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\cm}{\ensuremath{%
+\expandafter\units@separator\mathrm{cm}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\nm}
+% |\nm| is a macro for nanometers (nm).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\nm}{\ensuremath{%
+\expandafter\units@separator\mathrm{nm}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ft}
+% |\ft| is a macro for feet (ft).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\ft}{\ensuremath{%
+\expandafter\units@separator\mathrm{ft}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\inch}
+% |\inch| is a macro for inches (in).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\inch}{\ensuremath{%
+\expandafter\units@separator\mathrm{in}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mi}
+% |\mi| is a macro for miles (mi).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\mi}{\ensuremath{%
+\expandafter\units@separator\mathrm{mi}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Time}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\s}
+% |\s| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\s}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1s}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Sec}
+% |\Sec| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Sec}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1s}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Min}
+% |\Min| is a macro for minutes (m).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Min}{\ensuremath{%
+\expandafter\units@separator\mathrm{min}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\h}
+% |\h| is a macro for hours (h).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\h}{\ensuremath{%
+\expandafter\units@separator\mathrm{h}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\y}
+% |\y| is a macro for years (y).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\y}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1y}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Day}
+% |\Day| is a macro for days (d).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Day}{\ensuremath{%
+\expandafter\units@separator\mathrm{d}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Mass}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\gm}
+% |\gm| is a macro for grams (g).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+
+\DeclareRobustCommand{\gm}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1g}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kg}
+% |\kg| is a macro for kilograms (kg).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\kg}{\ensuremath{%
+\expandafter\units@separator\mathrm{kg}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lb}
+% |\lb| is a macro for pounds (weight) (lb).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\lb}{\ensuremath{%
+\expandafter\units@separator\mathrm{lb}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\amu}
+% |\amu| is a macro for atomic mass units (amu).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\amu}{\ensuremath{%
+\expandafter\units@separator\mathrm{amu}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Force}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\N}
+% |\N| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\N}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1N}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Newton}
+% |\Newton| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Newton}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1N}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\dyne}
+% |\dyne| is a macro for dynes (dyn).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\dyne}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1dyn}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbf}
+% |\lbf| is a macro for pounds of force (lbf).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\lbf}{\ensuremath{%
+\expandafter\units@separator\mathrm{lbf}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Velocity}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kmps}
+% |\kmps| is a macro for kilometers per second ($\kmps$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\kmps}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}%
+\expandafter\units@separator\mathrm{s}^{-1}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kmph}
+% |\kmph| is a macro for kilometers per hour ($\kmph$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\kmph}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}%
+\expandafter\units@separator\mathrm{h}^{-1}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mps}
+% |\mps| is a macro for meters per second ($\mps$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\mps}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}%
+\expandafter\units@separator\mathrm{s}^{-1}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\miph}
+% |\miph| is a macro for miles per hour ($\miph$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\miph}{\ensuremath{%
+\expandafter\units@separator\mathrm{mi}%
+\expandafter\units@separator\mathrm{h}^{-1}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kts}
+% |\kts| is a macro for knots ($\kts$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\kts}{\ensuremath{%
+\expandafter\units@separator\mathrm{kts}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Acceleration}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mpss}
+% |\mpss| is a macro for acceleration in meters per second squared ($\mpss$).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+
+\DeclareRobustCommand{\mpss}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}%
+\expandafter\units@separator\mathrm{s}^{-2}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\gacc}
+% |\gacc| is a macro for acceleration due to gravity ($\gacc$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\gacc}{\ensuremath{%
+\expandafter\units@separator\mathrm{g}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ftpss}
+% |\ftpss| is a macro for acceleration in feet per second squared ($\ftpss$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\ftpss}{\ensuremath{%
+\expandafter\units@separator\mathrm{ft}%
+\expandafter\units@separator\mathrm{s}^{-2}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Temperature}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\K}
+% |\K| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\K}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1K}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Kelvin}
+% |\Kelvin| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Kelvin}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1K}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Celcius}
+% |\Celcius| is a macro for degrees Celcius $(\Celcius)$.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Celcius}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{C}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Rankine}
+% |\Rankine| is a macro for degrees Rankine $(\Rankine)$.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Rankine}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{R}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Fahrenheit}
+% |\Fahrenheit| is a macro for degrees Fahrenheit $(\Fahrenheit)$.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Fahrenheit}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{F}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Angular Velocity}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\rpm}
+% |\rpm| is a macro for revolutions per minute $(\rpm)$.
+%
+% \begin{macrocode}
+
+\DeclareRobustCommand{\rpm}{\ensuremath{%
+\expandafter\units@separator\mathrm{rev}%
+\expandafter\units@separator\Min^{-1}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+% \subsection{Frequency}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Hz}
+% |\Hz| is a macro for Hertz (Hz).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+
+\DeclareRobustCommand{\Hz}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Hz}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Pressure}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\barP}
+% |\barP| is a macro for bar (bar). (The use of barP instead of just bar is due
+% the \LaTeX~command \textbackslash bar.)
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\barP}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1bar}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\atm}
+% |\atm| is a macro for atmosphere (atm).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\atm}{\ensuremath{%
+\expandafter\units@separator\mathrm{atm}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Pa}
+% |\Pa| is a macro for Pascals (Pa).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Pa}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Pa}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mmHg}
+% |\mmHg| is a macro for millimeters of mercury (mmHg).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\mmHg}{\ensuremath{%
+\expandafter\units@separator\mathrm{mmHg}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\inHg}
+% |\inHg| is a macro for inches of mercury (inHg).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\inHg}{\ensuremath{%
+\expandafter\units@separator\mathrm{inHg}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbsi}
+% |\lbsi| is a macro for pounds per square inch (psi). (Note that \textbackslash
+% psi is a latex command for the greek letter $\psi$).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\lbsi}{\ensuremath{%
+\expandafter\units@separator\mathrm{psi}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbsf}
+% |\lbsf| is a macro for pounds per square foot (psf).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\lbsf}{\ensuremath{%
+\expandafter\units@separator\mathrm{psf}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Ba}
+% |\Ba| is a macro for Barre (Ba).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Ba}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Ba}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Torr}
+% |\Torr| is a macro for Torr (Torr).
+% This macro accepts an optional argument for a prefix. If no option is
+% supplied, no prefix will be prepended.
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\Torr}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Torr}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Other}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mol}
+% |\mol| is a macro for moles (mol).
+%
+% \begin{macrocode}
+\DeclareRobustCommand{\mol}{\ensuremath{%
+\expandafter\units@separator\mathrm{mol}}}
+% \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+\makeatother
+
+%
+% \Finale
+%
diff --git a/Master/texmf-dist/source/latex/physunits/physunits.ins b/Master/texmf-dist/source/latex/physunits/physunits.ins
new file mode 100644
index 00000000000..36b01a112db
--- /dev/null
+++ b/Master/texmf-dist/source/latex/physunits/physunits.ins
@@ -0,0 +1,56 @@
+%%
+%% Copyright (C) 2020 by Brian W. Mulligan <bwmulligan@astronaos.com>
+%% -----------------------------------------------------------
+%%
+%% 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 2006/05/20 or later.
+%%
+%%
+
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/physunits}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2020 by Brian W. Mulligan <bwmulligan@astronaos.com>
+
+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 2006/05/20 or later.
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{physunits.sty}{\from{physunits.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* physunits.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file physunits.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/physunits/physunits.sty b/Master/texmf-dist/tex/latex/physunits/physunits.sty
new file mode 100644
index 00000000000..c84b78b9d9b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/physunits/physunits.sty
@@ -0,0 +1,201 @@
+%%
+%% This is file `physunits.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% physunits.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2020 by Brian W. Mulligan <bwmulligan@astronaos.com>
+%%
+%% 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 2006/05/20 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+ \ProvidesPackage{physunits}
+ [2020/01/26 v1.0.3 Physical units package]
+\ProcessOptions\relax
+
+
+\makeatletter
+\DeclareRobustCommand{\units@separator}{\,}
+\DeclareRobustCommand{\micro}{\ensuremath{%
+\mu}}
+\DeclareRobustCommand{\V}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1V}}}
+\DeclareRobustCommand{\Volt}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1V}}}
+\DeclareRobustCommand{\Coulomb}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1C}}}
+\DeclareRobustCommand{\esu}{\ensuremath{%
+\expandafter\units@separator\mathrm{esu}}}
+\DeclareRobustCommand{\Ohm}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1\Omega}}}
+\DeclareRobustCommand{\Amp}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1A}}}
+\DeclareRobustCommand{\Farad}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1F}}}
+\DeclareRobustCommand{\Tesla}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1T}}}
+\DeclareRobustCommand{\Gauss}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1G}}}
+\DeclareRobustCommand{\Henry}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1H}}}
+\DeclareRobustCommand{\eV}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1eV}}}
+\DeclareRobustCommand{\keV}{\ensuremath{%
+\expandafter\units@separator\mathrm{keV}}}
+\DeclareRobustCommand{\MeV}{\ensuremath{%
+\expandafter\units@separator\mathrm{MeV}}}
+\DeclareRobustCommand{\J}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1J}}}
+\DeclareRobustCommand{\Joule}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1J}}}
+\DeclareRobustCommand{\erg}{\ensuremath{%
+\expandafter\units@separator\mathrm{erg}}}
+\DeclareRobustCommand{\kcal}[1]{\ensuremath{%
+\expandafter\units@separator\mathrm{kcal}}}
+\DeclareRobustCommand{\Cal}{\ensuremath{%
+\expandafter\units@separator\mathrm{Cal}}}
+\DeclareRobustCommand{\calorie}[1][ ]{%
+\ensuremath{%
+\expandafter\units@separator\mathrm{#1cal}}}
+\DeclareRobustCommand{\BTU}{\ensuremath{%
+\expandafter\units@separator\mathrm{BTU}}}
+\DeclareRobustCommand{\tnt}{\ensuremath{%
+\expandafter\units@separator\mathrm{ton%
+\expandafter\units@separator of%
+\expandafter\units@separator TNT}}}
+\DeclareRobustCommand{\Watt}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1W}}}
+\DeclareRobustCommand{\hpi}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp(I)}}}
+\DeclareRobustCommand{\hpm}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp(M)}}}
+\DeclareRobustCommand{\hp}{\ensuremath{%
+\expandafter\units@separator\mathrm{hp}}}
+\DeclareRobustCommand{\meter}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}}}
+\DeclareRobustCommand{\m}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}}}
+\DeclareRobustCommand{\km}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}}}
+\DeclareRobustCommand{\au}{\ensuremath{%
+\expandafter\units@separator\mathrm{au}}}
+\DeclareRobustCommand{\pc}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1pc}}}
+\DeclareRobustCommand{\ly}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1ly}}}
+\DeclareRobustCommand{\cm}{\ensuremath{%
+\expandafter\units@separator\mathrm{cm}}}
+\DeclareRobustCommand{\nm}{\ensuremath{%
+\expandafter\units@separator\mathrm{nm}}}
+\DeclareRobustCommand{\ft}{\ensuremath{%
+\expandafter\units@separator\mathrm{ft}}}
+\DeclareRobustCommand{\inch}{\ensuremath{%
+\expandafter\units@separator\mathrm{in}}}
+\DeclareRobustCommand{\mi}{\ensuremath{%
+\expandafter\units@separator\mathrm{mi}}}
+\DeclareRobustCommand{\s}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1s}}}
+\DeclareRobustCommand{\Sec}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1s}}}
+\DeclareRobustCommand{\Min}{\ensuremath{%
+\expandafter\units@separator\mathrm{min}}}
+\DeclareRobustCommand{\h}{\ensuremath{%
+\expandafter\units@separator\mathrm{h}}}
+\DeclareRobustCommand{\y}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1y}}}
+\DeclareRobustCommand{\Day}{\ensuremath{%
+\expandafter\units@separator\mathrm{d}}}
+
+\DeclareRobustCommand{\gm}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1g}}}
+\DeclareRobustCommand{\kg}{\ensuremath{%
+\expandafter\units@separator\mathrm{kg}}}
+\DeclareRobustCommand{\lb}{\ensuremath{%
+\expandafter\units@separator\mathrm{lb}}}
+\DeclareRobustCommand{\amu}{\ensuremath{%
+\expandafter\units@separator\mathrm{amu}}}
+\DeclareRobustCommand{\N}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1N}}}
+\DeclareRobustCommand{\Newton}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1N}}}
+\DeclareRobustCommand{\dyne}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1dyn}}}
+\DeclareRobustCommand{\lbf}{\ensuremath{%
+\expandafter\units@separator\mathrm{lbf}}}
+\DeclareRobustCommand{\kmps}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}%
+\expandafter\units@separator\mathrm{s}^{-1}}}
+\DeclareRobustCommand{\kmph}{\ensuremath{%
+\expandafter\units@separator\mathrm{km}%
+\expandafter\units@separator\mathrm{h}^{-1}}}
+\DeclareRobustCommand{\mps}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}%
+\expandafter\units@separator\mathrm{s}^{-1}}}
+\DeclareRobustCommand{\miph}{\ensuremath{%
+\expandafter\units@separator\mathrm{mi}%
+\expandafter\units@separator\mathrm{h}^{-1}}}
+\DeclareRobustCommand{\kts}{\ensuremath{%
+\expandafter\units@separator\mathrm{kts}}}
+
+\DeclareRobustCommand{\mpss}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1m}%
+\expandafter\units@separator\mathrm{s}^{-2}}}
+\DeclareRobustCommand{\gacc}{\ensuremath{%
+\expandafter\units@separator\mathrm{g}}}
+\DeclareRobustCommand{\ftpss}{\ensuremath{%
+\expandafter\units@separator\mathrm{ft}%
+\expandafter\units@separator\mathrm{s}^{-2}}}
+\DeclareRobustCommand{\K}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1K}}}
+\DeclareRobustCommand{\Kelvin}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1K}}}
+\DeclareRobustCommand{\Celcius}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{C}}}
+\DeclareRobustCommand{\Rankine}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{R}}}
+\DeclareRobustCommand{\Fahrenheit}{^\circ\ensuremath{%
+\expandafter\units@separator\mathrm{F}}}
+
+\DeclareRobustCommand{\rpm}{\ensuremath{%
+\expandafter\units@separator\mathrm{rev}%
+\expandafter\units@separator\Min^{-1}}}
+
+\DeclareRobustCommand{\Hz}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Hz}}}
+\DeclareRobustCommand{\barP}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1bar}}}
+\DeclareRobustCommand{\atm}{\ensuremath{%
+\expandafter\units@separator\mathrm{atm}}}
+\DeclareRobustCommand{\Pa}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Pa}}}
+\DeclareRobustCommand{\mmHg}{\ensuremath{%
+\expandafter\units@separator\mathrm{mmHg}}}
+\DeclareRobustCommand{\inHg}{\ensuremath{%
+\expandafter\units@separator\mathrm{inHg}}}
+\DeclareRobustCommand{\lbsi}{\ensuremath{%
+\expandafter\units@separator\mathrm{psi}}}
+\DeclareRobustCommand{\lbsf}{\ensuremath{%
+\expandafter\units@separator\mathrm{psf}}}
+\DeclareRobustCommand{\Ba}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Ba}}}
+\DeclareRobustCommand{\Torr}[1][ ]{\ensuremath{%
+\expandafter\units@separator\mathrm{#1Torr}}}
+\DeclareRobustCommand{\mol}{\ensuremath{%
+\expandafter\units@separator\mathrm{mol}}}
+\makeatother
+
+\endinput
+%%
+%% End of file `physunits.sty'.