[texhax] unspace already defined

Susan Dittmar Susan.Dittmar at gmx.de
Tue Apr 26 12:27:11 CEST 2011


Dear Nicholas,

Quoting Nicholas Cole (nicholas.cole at gmail.com):
> Dear All,
> 
> I am trying to build a project using the historian package and
> biblatex. It is an old project and used to build without a problem,
> but now fails with the following error
> [...]
> (/Users/nicholas/Library/texmf/tex/latex/biblatex/biblatex.sty
> [...]
> 
> ! LaTeX Error: Command \unspace already defined.
>                Or name \end... illegal, see p.192 of the manual.

I do not have the slightest idea what \unspace does in which package.
First thing I would try is put a 

\show\unspace

immediately before the call to biblatex.sty (I guess it's the
\usepackage{biblatex} line). This would show you what it does (or at least
how it's defined ;-) -- just read the latex run's output.

Next step: immediately before the call to biblatex, add

\renewcommand{\unspace}{\relax}

(now LaTeX thinks this command has not been defined). Immediately after
\usepackage{biblatex}, add 

\show\unspace

and compare to the original definition. If they are the same, remove the
\show\unspace command and forget about the rest.

A true problem arises if those two definitions do different things. Then
you have to decide which one to keep under the name of \unspace, and
perhaps re-define commands using the \unspace command.

In case you decide to forget about the first definition, the above
\renewcommand is sufficient. In case you decide to forget about the second
definition, you can use

\newcommand{\saveOrigOfUnspace}{} % just to make sure it does not exist yet
\let\saveOrigOfUnspace=\unspace % save first definition of \unspace
\renewcommand{\unspace}{\relax} % undefine \unspace
\usepackage{biblatex}
\let\unspace=\saveOrigOfUnspace % restore first definition of \unspace

Hope that helps,

	Susan



More information about the texhax mailing list