Soul Package in ConTeXt
![](https://secure.gravatar.com/avatar/5abece7261d0b9f536c2e9512da14c65.jpg?s=120&d=mm&r=g)
Because of looking for a nice letterspacing solution I had a look at the LaTeX's soul.sty. Melchior Franz wrote that it should also work with ConTeXt:
The soul package Melchior FRANZ May 29, 2002 Abstract This article describes the soul package1, which provides h y p h e n - a t a b l e l e t t e r s p a c i n g ( s p a c i n g o u t ) , underlining and some derivatives such as overstriking and highlighting. Although the package is optimized for LATEX2", it also works with Plain TEX and with other flavors of TEX like, for instance, ConTEXt.
But how? \input soul.sty gives me in ConTeXt:
(/Users/steffen/Library/texmf/tex/latex/misc/soul.sty ! Undefined control sequence. l.49 \NeedsTeXFormat {LaTeX2e} ?
So what what did he mean by "works with"? What is the right way? Thank you for any reply, Steffen
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
At 13:52 17/09/2003 +0200, you wrote:
Because of looking for a nice letterspacing solution I had a look at the LaTeX's soul.sty.
Melchior Franz wrote that it should also work with ConTeXt:
The soul package Melchior FRANZ May 29, 2002 Abstract This article describes the soul package1, which provides h y p h e n - a t a b l e l e t t e r s p a c i n g ( s p a c i n g o u t ) , underlining and some derivatives such as overstriking and highlighting. Although the package is optimized for LATEX2", it also works with Plain TEX and with other flavors of TEX like, for instance, ConTEXt.
But how?
\input soul.sty
gives me in ConTeXt:
(/Users/steffen/Library/texmf/tex/latex/misc/soul.sty ! Undefined control sequence. l.49 \NeedsTeXFormat {LaTeX2e} ?
you can take a look in core-fnt.tex and supp-fun which has streched, all kinds of underline, dropped caps and alike Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com ------------------------------------------------------------------------- information: http://www.pragma-ade.com/roadmap.pdf documentation: http://www.pragma-ade.com/showcase.pdf -------------------------------------------------------------------------
![](https://secure.gravatar.com/avatar/6af1f724a401c9f6f746a973f33ff595.jpg?s=120&d=mm&r=g)
Steffen Wolfrum
But how?
\input soul.sty
gives me in ConTeXt:
(/Users/steffen/Library/texmf/tex/latex/misc/soul.sty ! Undefined control sequence. l.49 \NeedsTeXFormat {LaTeX2e} ?
this is because in core-mis.tex, ConTeXt defines \documentclass. I wonder why. This works, but I don't know about any drawbacks: \starttext \let\documentclass\undefined \input soul.sty \textul{foo} \stoptext But: (this is for Melchior Franz) IMO there is a newcommand* in soul.sty where it does not belong (line 89): \newskip\SOUL@spaceskip \newif\ifSOUL@ignorespaces \newcommand*\soulomit{\noexpand\soulomit} \def\SOUL@stopM{\SOUL@stop} \let\SOUL@stop\relax $Id: soul.dtx,v 1.82 2002/05/07 22:09:30 m Exp $ If you replace it with \def{..} everything looks fine. Patrick
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
At 12:07 19/09/2003 +0200, you wrote:
Patrick Gundlach
writes: this is because in core-mis.tex, ConTeXt defines \documentclass. I wonder why.
Actually, I still wonder why. Could anyone enlighten me?
as a trigger point for a message Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com ------------------------------------------------------------------------- information: http://www.pragma-ade.com/roadmap.pdf documentation: http://www.pragma-ade.com/showcase.pdf -------------------------------------------------------------------------
![](https://secure.gravatar.com/avatar/6af1f724a401c9f6f746a973f33ff595.jpg?s=120&d=mm&r=g)
Hi,
this is because in core-mis.tex, ConTeXt defines \documentclass. I wonder why.
Actually, I still wonder why. Could anyone enlighten me?
as a trigger point for a message
You mean the system : try LaTeX message? Would it break anything to remove the LaTeX check? Patrick -- Silent is the goldfish in its bowl
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
At 14:22 19/09/2003 +0200, Patrick Gundlach wrote:
Hi,
this is because in core-mis.tex, ConTeXt defines \documentclass. I wonder why.
Actually, I still wonder why. Could anyone enlighten me?
as a trigger point for a message
You mean the system : try LaTeX message?
Would it break anything to remove the LaTeX check?
no, apart from being less polite to ths confused user ; btw, why does it need to be removed? Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com ------------------------------------------------------------------------- information: http://www.pragma-ade.com/roadmap.pdf documentation: http://www.pragma-ade.com/showcase.pdf -------------------------------------------------------------------------
![](https://secure.gravatar.com/avatar/6af1f724a401c9f6f746a973f33ff595.jpg?s=120&d=mm&r=g)
Hi,
Would it break anything to remove the LaTeX check?
no, apart from being less polite to ths confused user ; btw, why does it need to be removed?
Well, it does not really have to be removed. The only thing that I think is unnecessary is that ConTeXt defines \documentclass. IMO it is not a good habit that any other macro package besides LaTeX defines \documentclass (unless, of course, absoultely necessary). So my suggestion is to use something like \ifx\documentclass\undefined\else \global\def\documentclass {\showmessage\m!systems3\empty\stoptext} \fi instead. We can forget about \documentstyle, since latex2.09 is ancient history. There might be more tex-macros out ther than soul.sty that are mostly macro package independant but looks for LaTeX by checking for \documentclass. Patrick -- Silent is the goldfish in its bowl
![](https://secure.gravatar.com/avatar/6af1f724a401c9f6f746a973f33ff595.jpg?s=120&d=mm&r=g)
Patrick Gundlach
\ifx\documentclass\undefined\else \global\def\documentclass {\showmessage\m!systems3\empty\stoptext} \fi
which only works because \documentclass is already defined in core-mis.tex :-(. Next time, please follow the rule: think then write and not write then think Patrick -- Silent is the goldfish in its bowl
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
At 14:55 21/09/2003 +0200, you wrote:
\ifx\documentclass\undefined\else \global\def\documentclass {\showmessage\m!systems3\empty\stoptext} \fi
ok, i made the code obsolete Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com ------------------------------------------------------------------------- information: http://www.pragma-ade.com/roadmap.pdf documentation: http://www.pragma-ade.com/showcase.pdf -------------------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Patrick Gundlach
-
Steffen Wolfrum