%%
%% The LaTeX Companion, 2ed (second printing August 2004)
%%
%% Example A-3-7 on page 874.
%%
%% Copyright (C) 2004 Frank Mittelbach, Michel Goossens,
%%    Johannes Braams, David Carlisle, and Chris Rowley
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%

\documentclass{ttctexa}
\pagestyle{empty}
\setcounter{page}{6}
\setlength\textwidth{135.0pt}
\StartShownPreambleCommands
\usepackage{ifthen}
\newcommand\IXE[2][!*!,!]{%
 \ifthenelse{\equal{#1}{!*!,!}}%
   {\ifthenelse{\equal{#2}{}}{}{\textbf{#2}\index{#2}}}%
   {\ifthenelse{\equal{#1}{}}{}{\index{#1}}%
    \ifthenelse{\equal{#2}{}}{}{\textbf{#2}}}}
\StopShownPreambleCommands
\begin{document}
\par Identical in text and index |\IXE{both}|.
\par Different in text and index |\IXE[index]{text}|.
\par Only to index |\IXE[indexonly]{}|.
\par In text only |\IXE[]{textonly}|.
\par Nothing in text or index |\IXE[]{}|.
\end{document}
