Thursday, December 15, 2011

Basic Physics Macros

Continuing from my post LaTeX Macros for Personal Notes, I'd like to discuss some macros for physics.

I am using the "ISEE" approach to tackling examples, where we have four major steps:

  1. "Identify" what do we have and what are we looking for?
  2. "Set Up" what are the relevant concepts and equations? Set up the equations.
  3. "Execute" Carry out the scratch work
  4. "Evaluate" Look back, reflect, what were the key points and key ideas?

We are working with a lot of examples, and the examples are long (compared to math!). So we need to indicate when the examples are done.

Following Euclid, we introduce a \qefsymbol which is used at the end of examples and constructions. This is done just as QED is used at the end of proofs.

I will use the amsthm package.

\usepackage{amsthm}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}[chapter]
\newtheorem{prop}[thm]{Proposition}

\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{ex}[thm]{Example}
\newtheorem{fact}{Experimental Fact}
\newtheorem{prob}[thm]{Problem}
\newtheorem{construction}[thm]{Construction}
\newtheorem{con}[thm]{Conjecture}
\newtheorem*{notation}{Notation}
\newtheorem*{assume}{Assumption}
\newtheorem*{quest}{Question}

\theoremstyle{remark}
\newtheorem{rmk}[thm]{Remark}
\newtheorem{sch}[thm]{Scholium}

\newcommand\qefsymbol{\ensuremath\blacksquare}
%{\ensuremath\triangle} % perhaps \ensuremath\triangle if one prefers...

\makeatletter
\newenvironment{example}{\begin{ex} %
  \let\qedsymbol\qefsymbol % this is a temporary "let"
  \pushQED{\qed}}%
  {\popQED\@endpefalse\end{ex}}

\newenvironment{construct}%
  {\begin{construction}\pushQED{\qed}}%
  {\popQED\end{construction}}
\makeatother

Now, to keep track of which step of ISEE we are at, I'd like to introduce the following code:

\font\manual=manfnt

\newcommand\identify{\noindent\llap{\manual\char'170\rm\kern.5em}\textbf{Identify:}}
\newcommand\setup{\noindent\llap{\manual\char'170\rm\kern.5em}\textbf{Set up:}}
\newcommand\execute{\noindent\llap{\manual\char'170\rm\kern.5em}\textbf{Execute:}}
\newcommand\evaluate{\noindent\llap{\manual\char'170\rm\kern.5em}\textbf{Evaluate:}}

There are other matters to discuss, like units and so forth, which I'll tackle next time...

No comments:

Post a Comment