What's the difference between \dontleavehmode and \leavevmode?
Dear list, could someone please explain what is the difference between \dontleavehmode and \leavevmode? Internally, I also stumbled upon \quitvmode. Is this a synonym for \leavevmode? It seems to be primitive. Cheers, Henri
Henri Menke mailto:henrimenke@gmail.com 18. August 2016 um 17:23 Dear list,
could someone please explain what is the difference between \dontleavehmode and \leavevmode?
Internally, I also stumbled upon \quitvmode. Is this a synonym for \leavevmode? It seems to be primitive. No, \quitvmode is a LuaTeX primitive which adds the \dontleavehmode function to the core and \dontleavehmode is now a synonym for \quitvmode.
Wolfgang
On 8/18/2016 5:23 PM, Henri Menke wrote:
Dear list,
could someone please explain what is the difference between \dontleavehmode and \leavevmode?
Internally, I also stumbled upon \quitvmode. Is this a synonym for \leavevmode? It seems to be primitive.
\leavevmode is kind of useless as it can interfere in spacing so we always used \dontleavehmode in context (a macro) that later was added as primitive \quitvmode to luatex You sometimes need \dontleavehmode to make sure you enter hmode (esp when you start a paragraph with a group or boxed stuff) (the only two places in context where \leavevmode is used is in rather plain macros that get overloaded later) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hans, Wolfgang, thank you for your speedy reply. However, I still do not know the difference between \leavevmode and \quitvmode. Could you please elaborate? Cheers, Henri On 08/18/2016 06:39 PM, Hans Hagen wrote:
On 8/18/2016 5:23 PM, Henri Menke wrote:
Dear list,
could someone please explain what is the difference between \dontleavehmode and \leavevmode?
Internally, I also stumbled upon \quitvmode. Is this a synonym for \leavevmode? It seems to be primitive.
\leavevmode is kind of useless as it can interfere in spacing so we always used \dontleavehmode in context (a macro) that later was added as primitive \quitvmode to luatex
You sometimes need \dontleavehmode to make sure you enter hmode (esp when you start a paragraph with a group or boxed stuff)
(the only two places in context where \leavevmode is used is in rather plain macros that get overloaded later)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
On 8/18/2016 8:14 PM, Henri Menke wrote:
Hans, Wolfgang,
thank you for your speedy reply. However, I still do not know the difference between \leavevmode and \quitvmode. Could you please elaborate?
simple explanation: \quitvmode checks if it's in h mode already and doesn't do redundant mode switching (which involves injecting indentation boxes)
Cheers, Henri
On 08/18/2016 06:39 PM, Hans Hagen wrote:
On 8/18/2016 5:23 PM, Henri Menke wrote:
Dear list,
could someone please explain what is the difference between \dontleavehmode and \leavevmode?
Internally, I also stumbled upon \quitvmode. Is this a synonym for \leavevmode? It seems to be primitive.
\leavevmode is kind of useless as it can interfere in spacing so we always used \dontleavehmode in context (a macro) that later was added as primitive \quitvmode to luatex
You sometimes need \dontleavehmode to make sure you enter hmode (esp when you start a paragraph with a group or boxed stuff)
(the only two places in context where \leavevmode is used is in rather plain macros that get overloaded later)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Henri Menke
-
Wolfgang Schuster