Difference between revisions of "LaTeX:Commands"

m (Fractions: remove spacing after \frac)
(LaTeX)
(26 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{LaTeX: Commands}}
+
{{Latex}}
  
 
This page introduces various useful commands for rendering math in LaTeX, as well as instructions for building your own commands.
 
This page introduces various useful commands for rendering math in LaTeX, as well as instructions for building your own commands.
  
 
===Subscripts and Superscripts===
 
===Subscripts and Superscripts===
Subscripts and superscripts (such as exponents) can be made using the underscore _ and carat ^ symbols respectively.
+
Subscripts and superscripts (such as exponents) can be made using the underscore _ and caret ^ symbols respectively.
 
{| class="latextable"
 
{| class="latextable"
 
!Symbol !! Command!!Symbol!!Command
 
!Symbol !! Command!!Symbol!!Command
Line 16: Line 16:
 
| <math>2^{a_i}</math>||2^{a_i}||<math>2^a_i</math>||2^a_i
 
| <math>2^{a_i}</math>||2^{a_i}||<math>2^a_i</math>||2^a_i
 
|}
 
|}
Notice that we can apply both a subscript and a superscript at the same time. For subscripts or superscripts with more than one character, you must surround with curly braces. For example, <code>x^10</code> produces <math>x^10</math>, while <code>x^{10}</code> produces <math>x^{10}</math>.
+
Notice that we can apply both a subscript and a superscript at the same time. For subscripts or superscripts with more than one character, you must surround what you want to be the exponent/superscript with curly braces. For example, <code>x^10</code> produces <math>x^10</math>, while <code>x^{10}</code> produces <math>x^{10}</math>.
  
 
==Math Commands==
 
==Math Commands==
Line 32: Line 32:
  
  
Notice that with fractions with a 1-digit numerator and a 1-digit denominator, we can simply group the numerator and the denominator together as one number. However, for fractions with either a numerator or a denominator that requires more than one character, you need to surround everything in curly brackets.
+
Notice that with fractions with a 1-digit numerator and a 1-digit denominator, we can simply group the numerator and the denominator together as one number. However, for fractions with either a numerator or a denominator that requires more than one character (or if the numerator starts with a letter), you need to surround everything in curly brackets.
  
 
Use \cfrac for continued fractions.
 
Use \cfrac for continued fractions.
Line 45: Line 45:
 
!Symbol !! Command
 
!Symbol !! Command
 
|-
 
|-
|<math>\sqrt(2)</math>||\sqrt(2)
+
|<math>\sqrt{3}</math>||\sqrt{3}
|-
 
|<math>\sqrt{2}</math>||\sqrt{2}
 
 
|-
 
|-
 
| <math>\sqrt{x+y}</math>||\sqrt{x+y}
 
| <math>\sqrt{x+y}</math>||\sqrt{x+y}
Line 59: Line 57:
  
 
===Sums, Products, Limits and Logarithms===
 
===Sums, Products, Limits and Logarithms===
We use _ to get the 'bottom' parts of summations, products, and limits, as well as the subscripts of logarithms. We use ^ to get the 'top' parts of sums and products. (Integration symbols work the same way, as you'll see in the [[LaTeX:Commands#Calculus|calculus section]].) Click here for a few [[LaTeX:Commands#Other_Functions|other commands]] which take 'bottom' parts.
+
Use the commands \sum, \prod, \lim, and \log respectively. To denote lower and upper bounds, or the base of the logarithm, use _ and ^ in the same way they are used for subscripts and superscripts. (Lower and upper bounds for integrals work the same way, as you'll see in the [[LaTeX:Commands#Calculus|calculus section]])
 
{| class="latextable"
 
{| class="latextable"
 
!Symbol !! Command
 
!Symbol !! Command
Line 68: Line 66:
 
|-
 
|-
 
| <math>\textstyle \lim_{x\to\infty}\frac{1}{x}</math>||\lim_{x\to\infty}\frac{1}{x}
 
| <math>\textstyle \lim_{x\to\infty}\frac{1}{x}</math>||\lim_{x\to\infty}\frac{1}{x}
 +
|-
 +
| <math>\textstyle \lim\limits_{x\to\infty}\frac{1}{x}</math>||\lim\limits_{x\to\infty}\frac{1}{x}
 
|-
 
|-
 
|<math>\textstyle \log_n n^2</math>||\log_n n^2
 
|<math>\textstyle \log_n n^2</math>||\log_n n^2
Line 87: Line 87:
 
|<math>\sum\frac{1}{i}</math>||\sum\frac{1}{i}
 
|<math>\sum\frac{1}{i}</math>||\sum\frac{1}{i}
 
|-
 
|-
| <math>\frac{n}{n-1}</math>||\frac{n}{n-1}
+
| <math>\prod\frac{n}{n-1}</math>||\prod\frac{n}{n-1}
 
|-
 
|-
 
| <math>\textstyle \log n^2</math>||\log n^2
 
| <math>\textstyle \log n^2</math>||\log n^2
Line 152: Line 152:
  
 
===Calculus===
 
===Calculus===
Below are examples of calculus rendered in LaTeX. Most of these commands have been introduced before. Notice how definite integrals are rendered (and the difference between regular math and display mode for definite integrals). The , in the integrals makes a small space before the dx.
+
Below are examples of calculus expressions rendered in LaTeX. Most of these commands have been introduced before. Notice how definite integrals are rendered (and the difference between inline math and display mode for definite integrals). The \, in the integrals makes a small space before the dx.
 
{| class="latextable"
 
{| class="latextable"
 
!Symbol !! Command
 
!Symbol !! Command
Line 159: Line 159:
 
|-
 
|-
 
| <math>\int 2x\,dx = x^2+C</math>||\int 2x\,dx = x^2+C
 
| <math>\int 2x\,dx = x^2+C</math>||\int 2x\,dx = x^2+C
|-
 
| <math>\int^5_1 2x\,dx = 24</math>||\int^5_1 2x\,dx = 24
 
 
|-
 
|-
 
| <math>\int^5_1 2x\,dx = 24</math>||\int^5_1 2x\,dx = 24
 
| <math>\int^5_1 2x\,dx = 24</math>||\int^5_1 2x\,dx = 24
Line 168: Line 166:
 
| <math>\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds</math>||\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds
 
| <math>\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds</math>||\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds
 
|}
 
|}
 
+
<math>\text{TA-DA!!!}</math>
===Overline and Underline===
 
 
 
{| class="latextable"
 
!Symbol  !! Command
 
|-
 
|<math>\overline{a+bi}</math>||\overline{a+bi}
 
|-
 
| <math>\underline{747}</math>||\underline{747}
 
|}
 
  
 
== LaTeX ==
 
== LaTeX ==
Line 194: Line 183:
 
| <math>\textstyle\max</math>||\max||<math>\textstyle\min</math>||\min||<math>\Pr</math>||\Pr
 
| <math>\textstyle\max</math>||\max||<math>\textstyle\min</math>||\min||<math>\Pr</math>||\Pr
 
|-
 
|-
| <math>\sup</math>||\sup
+
| <math>\sup</math>||\sup||<math>\smiley</math>||\smiley
 
|}
 
|}
Some of these functions take 'bottom' parts just like sums and limits. Some render differently in display mode and regular math mode.
+
Some of these commands take subscripts in the same way sums, products, and logarithms do. Some render differently in display mode and inline math mode.
 
{| class="latextable"
 
{| class="latextable"
 
!Symbol !! Command!!Symbol !! Command!!Symbol !! Command
 
!Symbol !! Command!!Symbol !! Command!!Symbol !! Command
Line 205: Line 194:
 
|-
 
|-
 
| <math>\textstyle\min_x</math>||\min_x||<math>\Pr_x</math>||\Pr_x||<math>\sup_x</math>||\sup_x
 
| <math>\textstyle\min_x</math>||\min_x||<math>\Pr_x</math>||\Pr_x||<math>\sup_x</math>||\sup_x
 +
|-
 +
|
 
|}
 
|}
  
 
==Matrices==
 
==Matrices==
We can build an array or matrix with the \begin{array} command, and use \left and \right to properly size the delimiters around the matrix:
+
We can build an array or matrix with the \begin{array}…\end{array} commands, and use \left and \right to properly size the delimiters around the matrix:
 
<pre><nowiki>
 
<pre><nowiki>
 
The characteristic polynomial $f(\lambda)$ of the
 
The characteristic polynomial $f(\lambda)$ of the
Line 225: Line 216:
 
</nowiki>
 
</nowiki>
 
</pre>
 
</pre>
More simply, we can use the shortcut commands in the amsmath package:
+
More simply, we can use the shortcut matrix environments in the amsmath package:
 
<pre><nowiki>
 
<pre><nowiki>
 
The characteristic polynomial $f(\lambda)$ of the
 
The characteristic polynomial $f(\lambda)$ of the
Line 231: Line 222:
 
\[
 
\[
 
\begin{pmatrix}
 
\begin{pmatrix}
a & b & c <br />d & e & f <br />g & h & i
+
a & b & c
\end{pmatrix} \]
 
is given by the equation
 
\[ f(\lambda)
 
 
= \begin{vmatrix}
 
= \begin{vmatrix}
 
\lambda - a & -b & -c <br />-d & \lambda - e & -f <br />-g & -h & \lambda - i
 
\lambda - a & -b & -c <br />-d & \lambda - e & -f <br />-g & -h & \lambda - i
\end{vmatrix}.\]
+
\end{vmaix}.\]
 
</nowiki></pre>
 
</nowiki></pre>
You can read more about how the array command works [[LaTeX:Layout|here]] (it works the same as tabular).
+
You can read more about how the array environment works [[LaTeX:Layout|here]] (it works the same as tabular).
  
We can also use this environment to typeset any mathematics that calls for multiple columns, such as funky function definitions like this one:
+
We can also use this environment to typeset any mathematics that calls for multiple columns, such as piecewise-defined functions like this one:
 
<pre><nowiki>
 
<pre><nowiki>
 
\[ f(x) = \left\{ \begin{array}{ll}
 
\[ f(x) = \left\{ \begin{array}{ll}
 
x+7 & \mbox{if $5< x$};<br />x^2-3 & \mbox{if $-3 \le x \le 5$};<br />-x & \mbox{if $x < -3$}.\end{array} \right. \]
 
x+7 & \mbox{if $5< x$};<br />x^2-3 & \mbox{if $-3 \le x \le 5$};<br />-x & \mbox{if $x < -3$}.\end{array} \right. \]
</nowiki></pre>
 
 
But it would be better to use the cases environment and \text command that the amsmath package provides:
 
<pre><nowiki>
 
\[
 
f(x) = \begin{cases}
 
x+7 & \text{if $5< x$}; <br />x^2-3 & \text{if $-3 \le x \le 5$};<br />-x & \text{if $x < -3$}.
 
\end{cases}
 
\]
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 260: Line 239:
 
{| class="latextable"
 
{| class="latextable"
 
!Symbol !! Command!!Symbol !! Command!!Symbol !! Command!!Symbol !! Command
 
!Symbol !! Command!!Symbol !! Command!!Symbol !! Command!!Symbol !! Command
 +
|-hcal{R}<math>||\mathcal{R}||</math>\mathfrak{R}<math>||\mathfrak{R}
 
|-
 
|-
|<math>\mathbb{R}</math>||\mathbb{R}||<math>\mathbf{R}</math>||\mathbf{R}||<math>\mathcal{R}</math>||\mathcal{R}||<math>\mathfrak{R}</math>||\mathfrak{R}
+
| [[Image:Mathbb1.gif]]||\mathbb{Z}||</math>\mathbf{Z}<math>||\mathbf{Z}||</math>\mathcal{Z}<math>||\mathcal{Z}||</math>\mathfrak{Z}<math>||\mathfrak{Z}
|-
 
| [[Image:Mathbb1.gif]]||\mathbb{Z}||<math>\mathbf{Z}</math>||\mathbf{Z}||<math>\mathcal{Z}</math>||\mathcal{Z}||<math>\mathfrak{Z}</math>||\mathfrak{Z}
 
 
|-
 
|-
| <math>\mathbb{Q}</math>||\mathbb{Q}||<math>\mathbf{Q}</math>||\mathbf{Q}||<math>\mathcal{Q}</math>||\mathcal{Q}||<math>\mathfrak{Q}</math>||\mathfrak{Q}
+
| </math>\mathbb{Q}<math>||\mathbb{Q}||</math>\mathbf{Q}<math>||\mathbf{Q}||</math>\mathcal{Q}<math>||\mathcal{Q}||</math>most useful in <nowiki>$$...$$</nowiki> or <nowiki>$...$</nowiki> mode, where breaking up the math mode would force the output on to a new line entirely.
|}
 
If you're persistent, you can dig a few more out of [ftp://ftp.ams.org/pub/tex/doc/amsfonts/amsfndoc.pdf this document].
 
 
 
If you want to drop a little bit of text in the middle of math mode, you can use the \text command. The \text command is most useful in <nowiki>$$...$$</nowiki> or <nowiki>$...$</nowiki> mode, where breaking up the math mode would force the output on to a new line entirely.
 
 
So
 
So
 
<pre><nowiki>
 
<pre><nowiki>

Revision as of 20:24, 7 June 2024

LaTeX
About - Getting Started - Diagrams - Symbols - Downloads - Basics - Math - Examples - Pictures - Layout - Commands - Packages - Help

This page introduces various useful commands for rendering math in LaTeX, as well as instructions for building your own commands.

Subscripts and Superscripts

Subscripts and superscripts (such as exponents) can be made using the underscore _ and caret ^ symbols respectively.

Symbol Command Symbol Command
$2^{2}$ 2^2 $\textstyle a_i$ a_i
$\textstyle 2^{23}$ 2^{23} $\textstyle n_{i-1}$ n_{i-1}
$a^{i+1}_3$ a^{i+1}_3 $x^{3^2}$ x^{3^2}
$2^{a_i}$ 2^{a_i} $2^a_i$ 2^a_i

Notice that we can apply both a subscript and a superscript at the same time. For subscripts or superscripts with more than one character, you must surround what you want to be the exponent/superscript with curly braces. For example, x^10 produces $x^10$, while x^{10} produces $x^{10}$.

Math Commands

Here are some commonly used math commands in LaTeX:

Fractions

Symbol Command
$\frac {1}{2}$ \frac{1}{2} or \frac12
$\frac{2}{x+2}$ \frac{2}{x+2}
$\frac{1+\frac{1}{x}}{3x + 2}$ \frac{1+\frac{1}{x}}{3x + 2}


Notice that with fractions with a 1-digit numerator and a 1-digit denominator, we can simply group the numerator and the denominator together as one number. However, for fractions with either a numerator or a denominator that requires more than one character (or if the numerator starts with a letter), you need to surround everything in curly brackets.

Use \cfrac for continued fractions.

Expression Command
$\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}}$ \cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1+\cfrac{2}{1}}}}

Radicals

Symbol Command
$\sqrt{3}$ \sqrt{3}
$\sqrt{x+y}$ \sqrt{x+y}
$\sqrt{x+\frac{1}{2}}$ \sqrt{x+\frac{1}{2}}
$\sqrt[3]{3}$ \sqrt[3]{3}
$\sqrt[n]{x}$ \sqrt[n]{x}

Sums, Products, Limits and Logarithms

Use the commands \sum, \prod, \lim, and \log respectively. To denote lower and upper bounds, or the base of the logarithm, use _ and ^ in the same way they are used for subscripts and superscripts. (Lower and upper bounds for integrals work the same way, as you'll see in the calculus section)

Symbol Command
$\textstyle \sum_{i=1}^{\infty}\frac{1}{i}$ \sum_{i=1}^{\infty}\frac{1}{i}
$\textstyle \prod_{n=1}^5\frac{n}{n-1}$ \prod_{n=1}^5\frac{n}{n-1}
$\textstyle \lim_{x\to\infty}\frac{1}{x}$ \lim_{x\to\infty}\frac{1}{x}
$\textstyle \lim\limits_{x\to\infty}\frac{1}{x}$ \lim\limits_{x\to\infty}\frac{1}{x}
$\textstyle \log_n n^2$ \log_n n^2

Some of these are prettier in display mode:

Symbol Command
$\sum_{i=1}^{\infty}\frac{1}{i}$ \sum_{i=1}^{\infty}\frac{1}{i}
$\prod_{n=1}^5\frac{n}{n-1}$ \prod_{n=1}^5\frac{n}{n-1}
$\lim_{x\to\infty}\frac{1}{x}$ \lim_{x\to\infty}\frac{1}{x}

Note that we can use sums, products, and logarithms without _ or ^ modifiers.

Symbol Command
$\sum\frac{1}{i}$ \sum\frac{1}{i}
$\prod\frac{n}{n-1}$ \prod\frac{n}{n-1}
$\textstyle \log n^2$ \log n^2
$\textstyle \ln e$ \ln e

Mods

Symbol Command
$9\equiv 3 \bmod{6}$ 9\equiv 3 \bmod{6}
$9\equiv 3 \pmod{6}$ 9\equiv 3 \pmod{6}
$9\equiv 3 \mod{6}$ 9\equiv 3 \mod{6}
$9\equiv 3\pod{6}$ 9\equiv 3 \pod{6}

Combinations

Symbol Command
$\scriptstyle\binom{1}{1}$ \binom{1}{1}
$\scriptstyle\binom{n-1}{r-1}$ \binom{n-1}{r-1}

These often look better in display mode:

Symbol Command
$\dbinom{9}{3}$ \dbinom{9}{3}
$\dbinom{n-1}{r-1}$ \dbinom{n-1}{r-1}

Trigonometric Functions

Most of these are just the abbreviation of the trigonometric function with simply a backslash added before the abbreviation.

Symbol Command Symbol Command Symbol Command
$\textstyle \cos$ \cos $\textstyle \sin$ \sin $\textstyle \tan$ \tan
$\sec$ \sec $\textstyle \textstyle \csc$ \csc $\textstyle \cot$ \cot
$\textstyle \arccos$ \arccos $\textstyle \arcsin$ \arcsin $\textstyle \arctan$ \arctan
$\textstyle \cosh$ \cosh $\textstyle \sinh$ \sinh $\textstyle \tanh$ \tanh
$\textstyle \coth$ \coth

Here are a couple examples:

Symbol Command
$\textstyle \cos^2 x +\sin^2 x = 1$ \cos^2 x +\sin^2 x = 1
$\cos 90^\circ = 0$ \cos 90^\circ = 0

Calculus

Below are examples of calculus expressions rendered in LaTeX. Most of these commands have been introduced before. Notice how definite integrals are rendered (and the difference between inline math and display mode for definite integrals). The \, in the integrals makes a small space before the dx.

Symbol Command
$\frac{d}{dx}\left(x^2\right) = 2x$ \frac{d}{dx}\left(x^2\right) = 2x
$\int 2x\,dx = x^2+C$ \int 2x\,dx = x^2+C
$\int^5_1 2x\,dx = 24$ \int^5_1 2x\,dx = 24
$\frac{\partial^2U}{\partial x^2} + \frac{\partial^2U}{\partial y^2}$ \frac{\partial^2U}{\partial x^2} + \frac{\partial^2U}{\partial y^2}
$\frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds$ \frac{1}{4\pi}\oint_\Sigma\frac{1}{r}\frac{\partial U}{\partial n} ds

$\text{TA-DA!!!}$

LaTeX

Other Functions

Symbol Command Symbol Command Symbol Command
$\arg$ \arg $\textstyle\deg$ \deg $\textstyle\det$ \det
$\dim$ \dim $\textstyle\exp$ \exp $\textstyle\gcd$ \gcd
$\hom$ \hom $\inf$ \inf $\ker$ \ker
$\textstyle\lg$ \lg $\liminf$ \liminf $\limsup$ \limsup
$\textstyle\max$ \max $\textstyle\min$ \min $\Pr$ \Pr
$\sup$ \sup $\smiley$ \smiley

Some of these commands take subscripts in the same way sums, products, and logarithms do. Some render differently in display mode and inline math mode.

Symbol Command Symbol Command Symbol Command
$\dim_x$ \dim_x $\textstyle\gcd_x$ \gcd_x $\inf_x$ \inf_x
$\liminf_x$ \liminf_x $\limsup_x$ \limsup_x $\textstyle\max_x$ \max_x
$\textstyle\min_x$ \min_x $\Pr_x$ \Pr_x $\sup_x$ \sup_x

Matrices

We can build an array or matrix with the \begin{array}…\end{array} commands, and use \left and \right to properly size the delimiters around the matrix:

The characteristic polynomial $f(\lambda)$ of the
$3 \times 3$ matrix
\[
\left(
\begin{array}{ccc}
a & b & c <br />d & e & f <br />g & h & i \end{array}
\right)\]
is given by the equation
\[ f(\lambda)
= \left|
\begin{array}{ccc}
\lambda - a & -b & -c <br />-d & \lambda - e & -f <br />-g & -h & \lambda - i \end{array}
\right|.\]

More simply, we can use the shortcut matrix environments in the amsmath package:

The characteristic polynomial $f(\lambda)$ of the
$3 \times 3$ matrix
\[
\begin{pmatrix}
a & b & c
= \begin{vmatrix}
\lambda - a & -b & -c <br />-d & \lambda - e & -f <br />-g & -h & \lambda - i
\end{vmaix}.\]

You can read more about how the array environment works here (it works the same as tabular).

We can also use this environment to typeset any mathematics that calls for multiple columns, such as piecewise-defined functions like this one:

\[ f(x) = \left\{ \begin{array}{ll}
x+7 & \mbox{if $5< x$};<br />x^2-3 & \mbox{if $-3 \le x \le 5$};<br />-x & \mbox{if $x < -3$}.\end{array} \right. \]

Text Styles in Math Mode

You can render letters in various styles in math mode. Below are examples; you should be able to use these with any letters. The \mathbb requires the amsfonts package to be included in your document's preamble. Do not try to do \mathbb{year}. You'll get $\mathbb{year}$, and that looks nothing like it!

So
$$n^2 + 5 = 30\text{ so we have }n=\pm5$$

gives

Text1.gif

How to Build Your Own Commands

The command \newcommand is used to create your own commands. We'll start with an example:

\documentclass[11pt]{article}
\usepackage{amsmath}

\pdfpagewidth 8.5in
\pdfpageheight 11in
\newcommand{\reci}[1]{\frac{1}{#1}}
\newcommand{\hypot}[2]{\sqrt{#1^2+#2^2}}
\newcommand{\cbrt}[1]{\sqrt[3]{#1}}

\begin{document}

The reciprocal of 2 is $\reci{2}$.

The hypotenuse has length $\hypot{3}{4}$.

I'm sick of writing `$\backslash$sqrt[3]{2}$' all the time, just to get $\cbrt{2}$.

\end{document}

The \newcommand declarations are in the preamble. Each is of the form

\newcommand{name of new command}[number of arguments]{definition}

The name of the new command, which must begin with a \, is the name you'll use in the document to use the command. The number of arguments is how many inputs will be sent to the command. The definition is just normal LaTeX code, with #1, #2, #3, etc., placed where you want the inputs to go when the new command is called.

New commands can be used for all sorts of purposes, not just for making math commands you'll use a lot easier to call. For example, try this:

\documentclass[11pt]{article}
\usepackage{amsmath}

\pdfpagewidth 8.5in
\pdfpageheight 11in
\newcounter{prob_num}
\setcounter{prob_num}{1}
\newcommand{\prob}[5]{\bigskip \bigskip\arabic{prob_num}.\stepcounter{prob_num} #1
\par\nopagebreak[4]\medskip A.\ #2\hfill B.\ #3\hfill
C.\ #4\hfill D.\ #5\hfill E.\ NOTA}

\begin{document}

\prob{What is $2+2$?}{4}{5}{6}{7}

\prob{What is $\sqrt{100}$?}{81}{10}{9}{1}

\prob{Evaluate $\sum_{n=1}^\infty \frac{1}{n^2}$.}
{$\frac{1}{e}$} {$\frac{2}{\pi}$}
{$\frac{\pi^3}{8}$} {$\frac{\pi^2}{6}$}

\end{document}

In the example above, we create a new command called \prob. Each time we call \prob, we supply 5 arguments, one for the question and one for each of the multiple choices.

In the preamble and the definition of \prob, you'll see a few new LaTeX commands:

\newcounter{prob_num} creates a counter variable called prob_num

\setcounter{prob_num}{1} setsprob_num to equal 1.

In the definition of \prob, the \bigskip and \medskip commands create vertical space.

\arabic{prob_num} prints out the current value of the counter prob_num as an arabic numeral.

\stepcounter{prob_num} increments the counter prob_num by 1.

\nopagebreak[4] tells LaTeX not to break the page between the problem and the choices unless it really, really, really has to.

The \hfill commands put roughly equal space between the choices.

Once you build a body of custom commands that you will be using in many LaTeX documents, you should learn about creating your own package so you don't have to copy all your custom commands from document to document.

See Also

Symbol Command Symbol Command Symbol Command Symbol Command