On 10 Aug 2010, at 17:08, Roger Bishop Jones wrote:
> ...
> \typeout{$Id: rbj.sty,v 1.2 2010-08-08 15:50:44 rbj Exp $}
> \NeedsTeXFormat{LaTeX2e}
> \ProvidesPackage{rbj}
> \RequirePackage{ProofPower}
> \RequirePackage{mathabx}
> \def\Zdef{\MMM{\corresponds}}
> \def\holindexon{\def\holin...@aux##1{%
> \suppr...@quotechars
> \MMM{\def\${\noexpand\$}
> \edef\Temp{##1}\index{!\Temp }}}}
>
> I then invoked package rbj instead of ProoFPower in my
> ProofPower .doc file.
>
>> For what TeX calls macros and LaTeX calls commands, the
>> TeX \def or \let will override and existing definition
>> while in LaTeX you have to use \renewcommand rather than
>> \newcommand. For LaTeX environments, you use
>> \renewenvironment. Do bear in that both TeX and LaTeX
>> are block-structured, but LaTeX has something called
Oops! That last "LaTeX" should read "TeX".
>> \gdef which lets you make top-level definitions from
>> within a block.
>
> Unfortunately the distinction between tex and Latex
> environments is one which I have not grasped, so I don't
> know which I am in.
When I wrote "environment" I was using it as the LaTeX technical term for the
things like "tabular" in
\begin{tabular}
\end{tabular}
of which LaTeX predefines many and which you can define for yourself using
\newenvironment. LaTeX is just a macro package as far as TeX is concerned and
there isn't any sense in which you are "in" one or the other: when you run
latex or pdflatex they are both there, cheerfully providing too many different
ways of doing the same thing.
Regards,
Rob.
> However, since ProofPower uses \def I
> guess it must be in a tex environment, and so I would
> suppose that my change is also.
>
See above. In fact the ProofPower style files use a mixture of TeX's \def
(rather than LaTeX's \newcommand) and LaTeX's \newenvironment (which has no
equivalent in TeX).
> Possibly my problem is that my redefinition comes later than
> the crucial invocation of HOLindexOn.
> I see that it is invoked immediately, so perhaps I should
> reinvoke after my redefinition.
>
Yes, indeed. What the macro you are redefining does does is redefine another
macro, so nothing much will happen if you don't invoke it.
Regards,
Rob.
_______________________________________________
Proofpower mailing list
[email protected]
http://lemma-one.com/mailman/listinfo/proofpower_lemma-one.com