[OS X TeX] Exercises

Michael Sharpe msharpe at ucsd.edu
Fri Apr 10 20:33:52 CEST 2009


On Apr 10, 2009, at 9:56 AM, George Gratzer wrote:

> In my new book, I have exercises at the end of each section. I use  
> the xcb environment from amsbook.cls:
>
> \newenvironment{xcb}{%
>  \setcounter{enumi}{0}%
>  \settowidth{\leftmargini}{\labelenumi\hskip\labelsep}%
>  \setcounter{enumii}{4}% letter d
>  \settowidth{\leftmarginii}{\labelenumii\hskip\labelsep}%
>  \@startsection{section}% counter name; ignored because of the
>                                % * below
>  {1}% sectioning level
>  {\z@}% indent to the left of the section title
>  {18\p@\@plus2\p@}% vertical space above
>  {1sp}% Space below of 13pt base-to-base, so none needs to be added
>      % here; but \z@ would cause the following text to be run-in, so  
> we
>      % use 1sp instead.
>  {\bfseries}% The font of the subsection title
>  *% always unnumbered
> }{%
>  \par
> }
>
>
> modified as follows:
>
> \newenvironment{exercises}
>     {
>     \begin{xcb}{}\noindent\textbf{Exercises}
>     \begin{enumerate}
>     \renewcommand{\labelenumi}{\theenumi.}
>     \settowidth{\leftmargini}{NN.\hskip\labelsep}
>     }
>     {\end{enumerate}\end{xcb}}
>
> and then
>
> \begin{exercises}
>
> \item
>
> \begin{exercises}
>
> works well.
>
> Problem: I want the difficult exercises marked with a *:
>
> 25*.
>
> How could I do that? How do I modify one number, without effecting  
> the rest?
>

One way is to redefine the exercises environment as follows.

\newenvironment{exercises}
     {
     \begin{xcb}{}\noindent\textbf{Exercises}
     \begin{enumerate}
\let\olditem\item
\def\staritem{\let\exerstar\par\olditem }
\renewcommand{\item}{\let\exerstar\empty\olditem }
\renewcommand{\labelenumi}{\theenumi\ifx\exerstar\empty\else*\fi.}
     \settowidth{\leftmargini}{NN.\hskip\labelsep}
     }
     {\end{enumerate}\end{xcb}}

You might want to change the alignment of the numbers, or perhaps  
place the * before the exercise number---that's a simple change.

Michael




More information about the macostex-archives mailing list