diff --git a/Doc/lib/libmath.tex b/Doc/lib/libmath.tex
index e41edda..8f7eeba 100644
--- a/Doc/lib/libmath.tex
+++ b/Doc/lib/libmath.tex
@@ -37,7 +37,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{exp}{x}
-Return the exponential value $\mbox{e}^x$.
+Return \code{e**\var{x}}.
 \end{funcdesc}
 
 \begin{funcdesc}{fabs}{x}
@@ -62,7 +62,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{ldexp}{x, i}
-Return $x {\times} 2^i$.
+Return \code{\var{x} * (2**\var{i})}.
 \end{funcdesc}
 
 \begin{funcdesc}{modf}{x}
@@ -71,7 +71,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{pow}{x, y}
-Return $x^y$.
+Return \code{\var{x}**\var{y}}.
 \end{funcdesc}
 
 \begin{funcdesc}{sin}{x}
diff --git a/Doc/lib/libpprint.tex b/Doc/lib/libpprint.tex
index aabc8c7..d003d2b 100644
--- a/Doc/lib/libpprint.tex
+++ b/Doc/lib/libpprint.tex
@@ -122,7 +122,7 @@
 Return a string representation of \var{object}, protected against
 recursive data structures.  If the representation of \var{object}
 exposes a recursive entry, the recursive reference will be represented
-as \samp{$<$Recursion on \var{typename} with id=\var{number}$>$}.  The
+as \code{<Recursion on \var{typename} with id=\var{number}>}.  The
 representation is not otherwise formatted.
 
 \begin{verbatim}
diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex
index 555803e..1e256af 100644
--- a/Doc/lib/libsys.tex
+++ b/Doc/lib/libsys.tex
@@ -176,7 +176,7 @@
 as thread switches and signal handlers.  The default is 10, meaning
 the check is performed every 10 Python virtual instructions.  Setting
 it to a larger value may increase performance for programs using
-threads.  Setting it to a value $\leq 0$ checks every virtual instruction,
+threads.  Setting it to a value \code{<=} 0 checks every virtual instruction,
 maximizing responsiveness as well as overhead.
 \end{funcdesc}
 
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index e352505..74e8104 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -48,8 +48,8 @@
 (0--23), minute (0--59), second (0--59), weekday (0--6, monday is 0),
 Julian day (1--366) and daylight savings flag (-1, 0  or 1).
 Note that unlike the C structure, the month value is a range of 1-12, not
-0-11.  A year value of $<$ 100 will typically be silently converted to
-1900 $+$ year value.  A -1 argument as daylight savings flag, passed to
+0-11.  A year value less than 100 will typically be silently converted to
+1900 plus the year value.  A -1 argument as daylight savings flag, passed to
 \code{mktime()} will usually result in the correct daylight savings
 state to be filled in.
 
diff --git a/Doc/libmacspeech.tex b/Doc/libmacspeech.tex
index d3b6e96..92c0541 100644
--- a/Doc/libmacspeech.tex
+++ b/Doc/libmacspeech.tex
@@ -45,7 +45,7 @@
 \renewcommand{\indexsubitem}{(voice object method)}
 
 \begin{funcdesc}{GetGender}{}
-Return the gender of the voice:\ 0 for male, 1 for female and $-1$ for neuter.
+Return the gender of the voice: 0 for male, 1 for female and -1 for neuter.
 \end{funcdesc}
 
 \begin{funcdesc}{NewChannel}{}
diff --git a/Doc/libmactcp.tex b/Doc/libmactcp.tex
index 4d6d5ba..a16afc8 100644
--- a/Doc/libmactcp.tex
+++ b/Doc/libmactcp.tex
@@ -164,7 +164,7 @@
 \renewcommand{\indexsubitem}{(UDP stream method)}
 
 \begin{funcdesc}{Read}{timeout}
-Read a datagram, waiting at most \var{timeout} seconds ($-1$ is
+Read a datagram, waiting at most \var{timeout} seconds (-1 is
 infinite).  Return the data.
 \end{funcdesc}
 
diff --git a/Doc/libmath.tex b/Doc/libmath.tex
index e41edda..8f7eeba 100644
--- a/Doc/libmath.tex
+++ b/Doc/libmath.tex
@@ -37,7 +37,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{exp}{x}
-Return the exponential value $\mbox{e}^x$.
+Return \code{e**\var{x}}.
 \end{funcdesc}
 
 \begin{funcdesc}{fabs}{x}
@@ -62,7 +62,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{ldexp}{x, i}
-Return $x {\times} 2^i$.
+Return \code{\var{x} * (2**\var{i})}.
 \end{funcdesc}
 
 \begin{funcdesc}{modf}{x}
@@ -71,7 +71,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{pow}{x, y}
-Return $x^y$.
+Return \code{\var{x}**\var{y}}.
 \end{funcdesc}
 
 \begin{funcdesc}{sin}{x}
diff --git a/Doc/libpprint.tex b/Doc/libpprint.tex
index aabc8c7..d003d2b 100644
--- a/Doc/libpprint.tex
+++ b/Doc/libpprint.tex
@@ -122,7 +122,7 @@
 Return a string representation of \var{object}, protected against
 recursive data structures.  If the representation of \var{object}
 exposes a recursive entry, the recursive reference will be represented
-as \samp{$<$Recursion on \var{typename} with id=\var{number}$>$}.  The
+as \code{<Recursion on \var{typename} with id=\var{number}>}.  The
 representation is not otherwise formatted.
 
 \begin{verbatim}
diff --git a/Doc/libsys.tex b/Doc/libsys.tex
index 555803e..1e256af 100644
--- a/Doc/libsys.tex
+++ b/Doc/libsys.tex
@@ -176,7 +176,7 @@
 as thread switches and signal handlers.  The default is 10, meaning
 the check is performed every 10 Python virtual instructions.  Setting
 it to a larger value may increase performance for programs using
-threads.  Setting it to a value $\leq 0$ checks every virtual instruction,
+threads.  Setting it to a value \code{<=} 0 checks every virtual instruction,
 maximizing responsiveness as well as overhead.
 \end{funcdesc}
 
diff --git a/Doc/libtime.tex b/Doc/libtime.tex
index e352505..74e8104 100644
--- a/Doc/libtime.tex
+++ b/Doc/libtime.tex
@@ -48,8 +48,8 @@
 (0--23), minute (0--59), second (0--59), weekday (0--6, monday is 0),
 Julian day (1--366) and daylight savings flag (-1, 0  or 1).
 Note that unlike the C structure, the month value is a range of 1-12, not
-0-11.  A year value of $<$ 100 will typically be silently converted to
-1900 $+$ year value.  A -1 argument as daylight savings flag, passed to
+0-11.  A year value less than 100 will typically be silently converted to
+1900 plus the year value.  A -1 argument as daylight savings flag, passed to
 \code{mktime()} will usually result in the correct daylight savings
 state to be filled in.
 
diff --git a/Doc/mac/libmacspeech.tex b/Doc/mac/libmacspeech.tex
index d3b6e96..92c0541 100644
--- a/Doc/mac/libmacspeech.tex
+++ b/Doc/mac/libmacspeech.tex
@@ -45,7 +45,7 @@
 \renewcommand{\indexsubitem}{(voice object method)}
 
 \begin{funcdesc}{GetGender}{}
-Return the gender of the voice:\ 0 for male, 1 for female and $-1$ for neuter.
+Return the gender of the voice: 0 for male, 1 for female and -1 for neuter.
 \end{funcdesc}
 
 \begin{funcdesc}{NewChannel}{}
diff --git a/Doc/mac/libmactcp.tex b/Doc/mac/libmactcp.tex
index 4d6d5ba..a16afc8 100644
--- a/Doc/mac/libmactcp.tex
+++ b/Doc/mac/libmactcp.tex
@@ -164,7 +164,7 @@
 \renewcommand{\indexsubitem}{(UDP stream method)}
 
 \begin{funcdesc}{Read}{timeout}
-Read a datagram, waiting at most \var{timeout} seconds ($-1$ is
+Read a datagram, waiting at most \var{timeout} seconds (-1 is
 infinite).  Return the data.
 \end{funcdesc}
 
