Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

\uparrow and \downarrow spacing, when used to indicate converging and diverging computation

213 views
Skip to first unread message

Aatu Koskensilta

unread,
Feb 27, 2009, 4:27:13 AM2/27/09
to

I'm writing a paper which involves Turing machines and their halting
and non-halting. The more or less standard way to express "M halts"
symbolically is M\downarrow, and similarly for "M does not halt"
(empty input is assumed implicitly, not that it matters in this
context.) LaTeX does not seem to like this notation, \downarrow being
laid out far too far apart from M.

What am I to do to appease LaTeX and get prettier output? (Simply
inserting \!\! in front of \downarrow also results in ugliness...)

--
Aatu Koskensilta (aatu.kos...@uta.fi)

"Wovon man nicht sprechen kann, darüber muss man schweigen"
- Ludwig Wittgenstein, Tractatus Logico-Philosophicus

Lars Madsen

unread,
Feb 27, 2009, 4:49:30 AM2/27/09
to
Aatu Koskensilta wrote:
> I'm writing a paper which involves Turing machines and their halting
> and non-halting. The more or less standard way to express "M halts"
> symbolically is M\downarrow, and similarly for "M does not halt"
> (empty input is assumed implicitly, not that it matters in this
> context.) LaTeX does not seem to like this notation, \downarrow being
> laid out far too far apart from M.
>
> What am I to do to appease LaTeX and get prettier output? (Simply
> inserting \!\! in front of \downarrow also results in ugliness...)
>

why don't you just make your own macro, say \halts, then just reading

M\halts

makes sense, and you can define \halts to to what ever you want, e.g.
add some \!'s

I often recommend this to users to make their source code more readable,
and easier to reconfigure later on


--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Aatu Koskensilta

unread,
Feb 27, 2009, 4:51:10 AM2/27/09
to
Lars Madsen <dal...@RTFSIGNATUREimf.au.dk> writes:

> Aatu Koskensilta wrote:
>
>> I'm writing a paper which involves Turing machines and their
>> halting and non-halting. The more or less standard way to express
>> "M halts" symbolically is M\downarrow, and similarly for "M does
>> not halt" (empty input is assumed implicitly, not that it matters
>> in this context.) LaTeX does not seem to like this notation,
>> \downarrow being laid out far too far apart from M.
>>
>> What am I to do to appease LaTeX and get prettier output? (Simply
>> inserting \!\! in front of \downarrow also results in ugliness...)
>>
>
> why don't you just make your own macro, say \halts, then just reading
>
> M\halts

The trouble is I don't know what to put in the macro (which already
exists, as it happens, currently consisting of just \downarrow). The
problem lies in that I don't know how to tell LaTeX that the
\downarrow should be closer to the M (or whatever letter or term names
the machine the convergence of which we're asserting). One \! is not
quite enough, and \!\! is a bit too much. Since this is standard
notation, I was hoping there was a standard solution...

Rasmus Villemoes

unread,
Feb 27, 2009, 5:29:24 AM2/27/09
to
Aatu Koskensilta <aatu.kos...@uta.fi> writes:

> The trouble is I don't know what to put in the macro (which already
> exists, as it happens, currently consisting of just \downarrow). The
> problem lies in that I don't know how to tell LaTeX that the
> \downarrow should be closer to the M (or whatever letter or term names
> the machine the convergence of which we're asserting). One \! is not
> quite enough, and \!\! is a bit too much. Since this is standard
> notation, I was hoping there was a standard solution...
>

Use \mathord{ } to make latex treat some symbol as an "ordinary"
symbol. Currently I guess \downarrow is treated as a binary relation
(that is, \mathbin). I think "M\mathord{\downarrow}" is close to
what you want.

--
Rasmus Villemoes
<http://rasmusvillemoes.dk/>

Lars Madsen

unread,
Feb 27, 2009, 5:30:52 AM2/27/09
to
Aatu Koskensilta wrote:
> Lars Madsen <dal...@RTFSIGNATUREimf.au.dk> writes:
>
>> Aatu Koskensilta wrote:
>>
>>> I'm writing a paper which involves Turing machines and their
>>> halting and non-halting. The more or less standard way to express
>>> "M halts" symbolically is M\downarrow, and similarly for "M does
>>> not halt" (empty input is assumed implicitly, not that it matters
>>> in this context.) LaTeX does not seem to like this notation,
>>> \downarrow being laid out far too far apart from M.
>>>
>>> What am I to do to appease LaTeX and get prettier output? (Simply
>>> inserting \!\! in front of \downarrow also results in ugliness...)
>>>
>> why don't you just make your own macro, say \halts, then just reading
>>
>> M\halts
>
> The trouble is I don't know what to put in the macro (which already
> exists, as it happens, currently consisting of just \downarrow). The
> problem lies in that I don't know how to tell LaTeX that the
> \downarrow should be closer to the M (or whatever letter or term names
> the machine the convergence of which we're asserting). One \! is not
> quite enough, and \!\! is a bit too much. Since this is standard
> notation, I was hoping there was a standard solution...
>

try using \mkern-5mu or so, 1mu = 1/18 em and \mkern can only be used in
math mode

\newcommand\halts{\mkern-7mu\downarrow}

Aatu Koskensilta

unread,
Feb 27, 2009, 5:27:26 AM2/27/09
to
Rasmus Villemoes <burner...@imf.au.dk> writes:

> Use \mathord{ } to make latex treat some symbol as an "ordinary"
> symbol. Currently I guess \downarrow is treated as a binary relation
> (that is, \mathbin). I think "M\mathord{\downarrow}" is close to
> what you want.

Indeed it is. Thank you.

Heiko Oberdiek

unread,
Feb 27, 2009, 7:56:58 AM2/27/09
to
Rasmus Villemoes <burner...@imf.au.dk> wrote:

> Aatu Koskensilta <aatu.kos...@uta.fi> writes:
>
> > The trouble is I don't know what to put in the macro (which already
> > exists, as it happens, currently consisting of just \downarrow). The
> > problem lies in that I don't know how to tell LaTeX that the
> > \downarrow should be closer to the M (or whatever letter or term names
> > the machine the convergence of which we're asserting). One \! is not
> > quite enough, and \!\! is a bit too much. Since this is standard
> > notation, I was hoping there was a standard solution...
> >
>
> Use \mathord{ } to make latex treat some symbol as an "ordinary"
> symbol. Currently I guess \downarrow is treated as a binary relation
> (that is, \mathbin).

fontmath.ltx:

| \DeclareMathDelimiter{\downarrow}
| {\mathrel}{symbols}{"23}{largesymbols}{"79}
| \DeclareMathDelimiter{\updownarrow}
| {\mathrel}{symbols}{"6C}{largesymbols}{"3F}

> I think "M\mathord{\downarrow}" is close to
> what you want.

FYI, you get the same result by using braces only, because
they generate a subformula in math mode that is treated
as math ordinary element.

\newcommand*{\halts}{\mathord{\downarrow}}
or
\newcommand*{\halts}{{\downarrow}}

Yours sincerely
Heiko <ober...@uni-freiburg.de>

Rasmus Villemoes

unread,
Feb 27, 2009, 8:10:47 AM2/27/09
to
Heiko Oberdiek <ober...@uni-freiburg.de> writes:

>> Use \mathord{ } to make latex treat some symbol as an "ordinary"
>> symbol. Currently I guess \downarrow is treated as a binary relation
>> (that is, \mathbin).
>
> fontmath.ltx:
>
> | \DeclareMathDelimiter{\downarrow}
> | {\mathrel}{symbols}{"23}{largesymbols}{"79}
> | \DeclareMathDelimiter{\updownarrow}
> | {\mathrel}{symbols}{"6C}{largesymbols}{"3F}
>

Sorry. I meant mathrel. mathbin is for binary _operators_, not
relations.

0 new messages