equivalent to \newcommand{...}{\ensuremath{...}}
hi list, new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour: \newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation. in `context'? I've tried something like \def\km{\math{K_m}} We can now use \km\ in the body text but get sytnax errors when putting it in this \startformula \km = 1 \stopformula formula. but this fails for obvious reasons (as would using `$$' instead of `ensuremath' in the `latex' case). so what I need is a way of defining (potentially complex) math-expressions via some shortcuts/definitions/macros/abbreviations (whatever) which I can then use in the formula environment (or whatever it's called in `context'...) as well as in the body text. any help appreciated, joerg -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Am 08.12.2014 um 17:41 schrieb j. van den hoff
: hi list,
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
in `context'? I've tried something like
\def\km{\math{K_m}} We can now use \km\ in the body text but get sytnax errors when putting it in this \startformula \km = 1 \stopformula formula.
but this fails for obvious reasons (as would using `$$' instead of `ensuremath' in the `latex' case).
so what I need is a way of defining (potentially complex) math-expressions via some shortcuts/definitions/macros/abbreviations (whatever) which I can then use in the formula environment (or whatever it's called in `context'...) as well as in the body text.
any help appreciated,
In ConTeXt you have to write \define\km{\mathematics{K_m}} but there is not much to gain from this because you can enter math mode in the text with \m{…}. Wolfgang
On Tue, 09 Dec 2014 09:42:03 +0100, Wolfgang Schuster
Am 08.12.2014 um 17:41 schrieb j. van den hoff
: hi list,
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
in `context'? I've tried something like
\def\km{\math{K_m}} We can now use \km\ in the body text but get sytnax errors when putting it in this \startformula \km = 1 \stopformula formula.
but this fails for obvious reasons (as would using `$$' instead of `ensuremath' in the `latex' case).
so what I need is a way of defining (potentially complex) math-expressions via some shortcuts/definitions/macros/abbreviations (whatever) which I can then use in the formula environment (or whatever it's called in `context'...) as well as in the body text.
any help appreciated,
In ConTeXt you have to write
\define\km{\mathematics{K_m}}
but there is not much to gain from this because you can enter math mode in the text with \m{…}.
thanks for the response. in my silly example you are right (but even there it saves more than 50% of keystrokes). but I'm thinking of course of more tedious math expressions where it rapidly is handy to use such abbreviations -- the more so, if you have, say, 20 different ones appearing repeatedly in the document. but that would work with the `\def..\math' construct in the body text. what does _not_ work, then, is to use the definition in a display (\startformula...\stopformula) equation (which it _does_ in latex when isolating the math expression with `ensuremath'). so my real question(s) are: 1. is there any way to achieve the same functionality in `context' (expansion of math-containing defintion/macro/abbreviation in text _and_ math environment? if yes, how would I do this? 2. if no, would it be sensible (and feasible) to modify `\math' behaviour and to make it aware of whether it is called from within text or from within a display equation (in which case it should do nothing...), i.e. mkae it behave like `\ensuremath' in latex? thx/joerg
Wolfgang ___________________________________________________________________________________ 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 ___________________________________________________________________________________
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
Am 09.12.2014 um 09:59 schrieb j. van den hoff
: On Tue, 09 Dec 2014 09:42:03 +0100, Wolfgang Schuster
mailto:schuster.wolfgang@gmail.com> wrote: Am 08.12.2014 um 17:41 schrieb j. van den hoff
: hi list,
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
in `context'? I've tried something like
\def\km{\math{K_m}} We can now use \km\ in the body text but get sytnax errors when putting it in this \startformula \km = 1 \stopformula formula.
but this fails for obvious reasons (as would using `$$' instead of `ensuremath' in the `latex' case).
so what I need is a way of defining (potentially complex) math-expressions via some shortcuts/definitions/macros/abbreviations (whatever) which I can then use in the formula environment (or whatever it's called in `context'...) as well as in the body text.
any help appreciated,
In ConTeXt you have to write
\define\km{\mathematics{K_m}}
but there is not much to gain from this because you can enter math mode in the text with \m{…}.
thanks for the response. in my silly example you are right (but even there it saves more than 50% of keystrokes). but I'm thinking of course of more tedious math expressions where it rapidly is handy to use such abbreviations -- the more so, if you have, say, 20 different ones appearing repeatedly in the document. but that would work with the `\def..\math' construct in the body text. what does _not_ work, then, is to use the definition in a display (\startformula...\stopformula) equation (which it _does_ in latex when isolating the math expression with `ensuremath'). so my real question(s) are:
1. is there any way to achieve the same functionality in `context' (expansion of math-containing defintion/macro/abbreviation in text _and_ math environment? if yes, how would I do this?
2. if no, would it be sensible (and feasible) to modify `\math' behaviour and to make it aware of whether it is called from within text or from within a display equation (in which case it should do nothing...), i.e. mkae it behave like `\ensuremath' in latex?
1 + 2: \define\Foo{\mathematics{f(x)}} \define\Bar{\mathortext {f(x)}{\m{g(x)}}} \starttext a \Foo\ \Bar\ b \startformula \Foo\ \Bar \stopformula \stoptext Wolfgang
On Tue, 09 Dec 2014 10:05:22 +0100, Wolfgang Schuster
Am 09.12.2014 um 09:59 schrieb j. van den hoff
: On Tue, 09 Dec 2014 09:42:03 +0100, Wolfgang Schuster
mailto:schuster.wolfgang@gmail.com> wrote: Am 08.12.2014 um 17:41 schrieb j. van den hoff
: hi list,
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
in `context'? I've tried something like
\def\km{\math{K_m}} We can now use \km\ in the body text but get sytnax errors when putting it in this \startformula \km = 1 \stopformula formula.
but this fails for obvious reasons (as would using `$$' instead of `ensuremath' in the `latex' case).
so what I need is a way of defining (potentially complex) math-expressions via some shortcuts/definitions/macros/abbreviations (whatever) which I can then use in the formula environment (or whatever it's called in `context'...) as well as in the body text.
any help appreciated,
In ConTeXt you have to write
\define\km{\mathematics{K_m}}
but there is not much to gain from this because you can enter math mode in the text with \m{…}.
thanks for the response. in my silly example you are right (but even there it saves more than 50% of keystrokes). but I'm thinking of course of more tedious math expressions where it rapidly is handy to use such abbreviations -- the more so, if you have, say, 20 different ones appearing repeatedly in the document. but that would work with the `\def..\math' construct in the body text. what does _not_ work, then, is to use the definition in a display (\startformula...\stopformula) equation (which it _does_ in latex when isolating the math expression with `ensuremath'). so my real question(s) are:
1. is there any way to achieve the same functionality in `context' (expansion of math-containing defintion/macro/abbreviation in text _and_ math environment? if yes, how would I do this?
2. if no, would it be sensible (and feasible) to modify `\math' behaviour and to make it aware of whether it is called from within text or from within a display equation (in which case it should do nothing...), i.e. mkae it behave like `\ensuremath' in latex?
1 + 2:
\define\Foo{\mathematics{f(x)}} \define\Bar{\mathortext {f(x)}{\m{g(x)}}}
\starttext
a \Foo\ \Bar\ b
\startformula \Foo\ \Bar \stopformula
\stoptext
feeling silly: now it works (so there was no real problem in the first place...), but previously I definitely got syntax errors when compiling if the `\def' was used in the display equation (no idea, why, but I must have overlooked some dumb typo or similar). anyway, sorry for the noise and thanks again... since I'm really new to `context': are there any potential problems with inserting white space in `\define' lines like `\define \Foo { \mathematics{f(x)} }' which I might miss? `context' seems to ignore them and they don't creep into the formatted output AFAICS (which is good). j. ps: `\mathortext' is nice. should this not be in the manuals/documentation somewhere? it seems it is not ...
Wolfgang
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On 12/9/2014 1:36 PM, j. van den hoff wrote:
since I'm really new to `context': are there any potential problems with inserting white space in `\define' lines like `\define \Foo { \mathematics{f(x)} }' which I might miss? `context' seems to ignore them and they don't creep into the formatted output AFAICS (which is good).
in math mode spaces don't matter much in definitions you can do this: \starttexdefinition foo f o o \stoptexdefinition and get 'foo' \starttexdefinition foo \starttexdefinition unexanded foo \starttexdefinition foo #1#2 \starttexdefinition unexpanded foo #1#2 in a mkvi document you can also say: \starttexdefinition foo #first#second \starttexdefinition unexpanded foo #first#second Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Tue, 09 Dec 2014 14:30:50 +0100, Hans Hagen
On 12/9/2014 1:36 PM, j. van den hoff wrote:
since I'm really new to `context': are there any potential problems with inserting white space in `\define' lines like `\define \Foo { \mathematics{f(x)} }' which I might miss? `context' seems to ignore them and they don't creep into the formatted output AFAICS (which is good).
in math mode spaces don't matter much
in definitions you can do this:
\starttexdefinition foo f o o \stoptexdefinition
and get 'foo'
\starttexdefinition foo \starttexdefinition unexanded foo \starttexdefinition foo #1#2 \starttexdefinition unexpanded foo #1#2
in a mkvi document you can also say:
\starttexdefinition foo #first#second \starttexdefinition unexpanded foo #first#second
thanks for clarifying this.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | 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 ___________________________________________________________________________________
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On Mon, 8 Dec 2014, j. van den hoff wrote:
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
As a side remark, you should normally avoid using lowercase commands like \km (especially if they are small) as you may inadvertently overwrite an inbuilt TeX command (e.g., if you redefine \span or \omit, amongst others). Unlike LaTeX, ConTeXt does not halt at the redefinition of these commands; it simply spews a warning. Personally, I find that a safer alternative is to use uppercase or camelcase words to define your own commands: either \KM or \Km. This way you avoid conflict with inbuilt commands. If you are using macros for abbreviations, you can also use the following: \definesynonyms[mathnotation][mathnotations][\infull] \mathnotation [KM] {\mathematics{K_m}} {Viscosity of membrane} \starttext \placelistofmathnotations \section{Test} We can use \KM\ to denote \infull{KM}. \startformula \KM = 10 \stopformula \stoptext This way, you get a list of notation for free. Aditya
On Tue, 09 Dec 2014 16:12:08 +0100, Aditya Mahajan
On Mon, 8 Dec 2014, j. van den hoff wrote:
new to `context' and my first question to the list: how can I achieve the following (`latex') behaviour:
\newcommand{\km}{\ensuremath{K_m}} We can now use \km\ in the body text as well as in this \begin{equation} \km = 1 \end{equation} display equation.
As a side remark, you should normally avoid using lowercase commands like \km (especially if they are small) as you may inadvertently overwrite an inbuilt TeX command (e.g., if you redefine \span or \omit, amongst others). Unlike LaTeX, ConTeXt does not halt at the redefinition of these commands; it simply spews a warning. Personally, I find that a
is this behavior configurable (I think I'd rather prefer `latex' behavior here and still use lowercase abbreviations until I hit a real names clash)
safer alternative is to use uppercase or camelcase words to define your own commands: either \KM or \Km. This way you avoid conflict with inbuilt commands.
understood.
If you are using macros for abbreviations, you can also use the following:
\definesynonyms[mathnotation][mathnotations][\infull]
\mathnotation [KM] {\mathematics{K_m}} {Viscosity of membrane}
\starttext
\placelistofmathnotations
\section{Test}
We can use \KM\ to denote \infull{KM}.
\startformula \KM = 10 \stopformula
\stoptext
really thanks a lot for this tip. this seems to be the way to go for any "serious" document. (and `viscosity of membrane' is tight, but not right: it's a metabolic rate (which could be influenced by membrane permeability) in my context ;-)) joerg
This way, you get a list of notation for free.
Aditya ___________________________________________________________________________________ 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 ___________________________________________________________________________________
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
participants (5)
-
Aditya Mahajan
-
Hans Hagen
-
j. van den hoff
-
Peter Münster
-
Wolfgang Schuster