You may wonder why those incompatible changes were made. The reason is that I wrote the first version of Hyperlatex purely for personal use (to write the Ipe manual), and didn't spent much care on some design decisions that were not important for my application. In particular, there were a few ideosyncrasies that stem from Hyperlatex's origin in the Emacs latexinfo package. As there seem to be more and more Hyperlatex users all over the world, I decided that it was time to do things properly. I realize that this is a burden to everyone who is already using Hyperlatex 1.3, but think of the new users who will find Hyperlatex 1.4 so much more familiar and consistent.
\NotSpecial
that allows you to
turn off a special character, if you use it very often.
The treatment of special characters was really a historic relict
from the latexinfo macros that I used to write Hyperlatex.
latexinfo has only three special characters, namely \
,
{
, and }
. (latexinfo is mainly used for software
documentation, where one often has to use these characters without
there special meaning, and since there is no math mode in info
files, most of them are useless anyway.)
\W
(instead of \H
).
The old command \H
redefined the LaTeX command for the Hungarian
accent. This was really an oversight, as this manual even
shows an example using that accent!
\+
, \=
, \S
, \C
,
\minus
, \sim
... are no longer recognized by
Hyperlatex 1.4.
It feels wrong to deviate from LaTeX without any reason. You can easily define these commands yourself, if you use them (see below).
\htmlmathitalics
command has disappeared (it's now the
default, unless we use the real math mode of HTML 3).
example
environment, only the four
characters %
, \
, {
, and }
are special.
In Hyperlatex 1.3, the ~
was special as well, to be more
consistent. The new behavior seems more consistent with having ten
special characters.
\set
and \clear
commands have been removed, and their
function has been taken over by
\newcommand
.
\documentclass
and all
the \usepackage
declarations. These declarations will make
Hyperlatex 1.4 behave very much like Hyperlatex 1.3--only five
special characters, the control sequences \C
, \H
, and \S
,
\set
and \clear
are defined, and so are the small commands that
have disappeared in Hyperlatex 1.4. If you need only some features of
Hyperlatex 1.3, pick them and copy them into your preamble.
There is only one problem that you have to fix by hand: Hyperlatex 1.4 will not recognize a%% In Hyperlatex 1.3, ^ _ & $ # were not special \NotSpecial{\do\^\do\_\do\&\do\$\do\#} %% commands that have disappeared \newcommand{\scap}{\textsc} \newcommand{\italic}{\textit} \newcommand{\bold}{\textbf} \newcommand{\typew}{\texttt} \newcommand{\dmn}[1]{#1} \newcommand{\minus}{$-$} \newcommand{\htmlmathitalics}{} %% redefinition of Latex \sim, \+, \= \W\newcommand{\sim}{\~{}} \let\TexSim=\sim \T\newcommand{\sim}{\ifmmode\TexSim\else\~{}\fi} \newcommand{\+}{\verb+} \renewcommand{\=}{\back{}} %% \C for comments \W\newcommand{\C}{%} \T\newcommand{\C}{\W} %% \S to separate cells in tabular environment \newcommand{\S}{\htmltab} %% \H for Html mode \T\let\H=\W \W\newcommand{\H}{} %% \set and \clear \W\newcommand{\set}[1]{\renewcommand{\#1}{1}} \W\newcommand{\clear}[1]{\renewcommand{\#1}{0}} \T\newcommand{\set}[1]{\expandafter\def\csname#1\endcsname{1}} \T\newcommand{\clear}[1]{\expandafter\def\csname#1\endcsname{0}}
\set
or \clear
command in the preamble. You
have to either move those commands into the main document
(after the \topnode
declaration) or else you have to convert
them into the new \newcommand
format.
You should also check whether your file contains a \C
at the end of
a line (with only white space behind it). Replace it with %
(the definition of \C
doesn't work properly in that situation,
because Hyperlatex doesn't tokenize its input).