From fdd916a9e0d94bbf49f74c3b796e1bab88964d4c Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 28 Jan 2020 03:01:26 +0000 Subject: CTAN sync 202001280301 --- macros/latex/contrib/physunits/CHANGELOG.md | 39 + macros/latex/contrib/physunits/README.md | 81 ++ macros/latex/contrib/physunits/makefile | 122 ++ macros/latex/contrib/physunits/physunits.dtx | 1882 ++++++++++++++++++++++++++ macros/latex/contrib/physunits/physunits.ins | 56 + macros/latex/contrib/physunits/physunits.pdf | Bin 0 -> 100908 bytes 6 files changed, 2180 insertions(+) create mode 100644 macros/latex/contrib/physunits/CHANGELOG.md create mode 100644 macros/latex/contrib/physunits/README.md create mode 100644 macros/latex/contrib/physunits/makefile create mode 100644 macros/latex/contrib/physunits/physunits.dtx create mode 100644 macros/latex/contrib/physunits/physunits.ins create mode 100644 macros/latex/contrib/physunits/physunits.pdf (limited to 'macros/latex/contrib/physunits') diff --git a/macros/latex/contrib/physunits/CHANGELOG.md b/macros/latex/contrib/physunits/CHANGELOG.md new file mode 100644 index 0000000000..5ccb30dc10 --- /dev/null +++ b/macros/latex/contrib/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/macros/latex/contrib/physunits/README.md b/macros/latex/contrib/physunits/README.md new file mode 100644 index 0000000000..ce400e3487 --- /dev/null +++ b/macros/latex/contrib/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 +----------------------------------------------------------- + +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/macros/latex/contrib/physunits/makefile b/macros/latex/contrib/physunits/makefile new file mode 100644 index 0000000000..ca48c701ec --- /dev/null +++ b/macros/latex/contrib/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/macros/latex/contrib/physunits/physunits.dtx b/macros/latex/contrib/physunits/physunits.dtx new file mode 100644 index 0000000000..103f97c0c8 --- /dev/null +++ b/macros/latex/contrib/physunits/physunits.dtx @@ -0,0 +1,1882 @@ +% \iffalse meta-comment +% +% Copyright (C) 2020 by Brian W. Mulligan +% ----------------------------------------------------------- +% +% 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} +% +%\NeedsTeXFormat{LaTeX2e}[1994/06/01] +% \ProvidesPackage{physunits} +%<*package> + [2020/01/26 v1.0.3 Physical units package] +% +%\ProcessOptions\relax +%<*driver> +\documentclass{ltxdoc} +\usepackage{physunits} +\usepackage[backref]{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +%\OnlyDescription +\begin{document} +\DocInput{physunits.dtx} +\PrintChanges +\PrintIndex +\end{document} +% +% \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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\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 +% +%\fi +% +\makeatother + +% +% \Finale +% diff --git a/macros/latex/contrib/physunits/physunits.ins b/macros/latex/contrib/physunits/physunits.ins new file mode 100644 index 0000000000..36b01a112d --- /dev/null +++ b/macros/latex/contrib/physunits/physunits.ins @@ -0,0 +1,56 @@ +%% +%% Copyright (C) 2020 by Brian W. Mulligan +%% ----------------------------------------------------------- +%% +%% 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 + +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/macros/latex/contrib/physunits/physunits.pdf b/macros/latex/contrib/physunits/physunits.pdf new file mode 100644 index 0000000000..090dfa7d83 Binary files /dev/null and b/macros/latex/contrib/physunits/physunits.pdf differ -- cgit v1.2.3