Skip to content

Commit

Permalink
Fix typo in \DeclarePairedDelimiter and related macros, and allow arg…
Browse files Browse the repository at this point in the history
…ument substitution in pre and post sections as well as body. (mathjax/MathJax#2816, mathjax/MathJax#2758)
  • Loading branch information
dpvc committed Jan 18, 2022
1 parent 6b38558 commit 2ec8b77
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
13 changes: 10 additions & 3 deletions ts/input/tex/mathtools/MathtoolsMappings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,16 @@ new CommandMap('mathtools-macros', {
MTFlushSpaceAbove: 'FlushSpaceAbove',
MTFlushSpaceBelow: 'FlushSpaceBelow',

DeclarePairedDelimiters: 'DeclarePairedDelimiters',
DeclarePairedDelimitersX: 'DeclarePairedDelimitersX',
DeclarePairedDelimitersXPP: 'DeclarePairedDelimitersXPP',
DeclarePairedDelimiter: 'DeclarePairedDelimiter',
DeclarePairedDelimiterX: 'DeclarePairedDelimiterX',
DeclarePairedDelimiterXPP: 'DeclarePairedDelimiterXPP',

//
// Typos from initial release -- kept for backward compatibility for now
//
DeclarePairedDelimiters: 'DeclarePairedDelimiter',
DeclarePairedDelimitersX: 'DeclarePairedDelimiterX',
DeclarePairedDelimitersXPP: 'DeclarePairedDelimiterXPP',

centercolon: ['CenterColon', true, true],
ordinarycolon: ['CenterColon', false],
Expand Down
14 changes: 8 additions & 6 deletions ts/input/tex/mathtools/MathtoolsMethods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,9 @@ export const MathtoolsMethods: Record<string, ParseMethod> = {
for (let i = args.length; i < n; i++) {
args.push(parser.GetArgument(name));
}
pre = ParseUtil.substituteArgs(parser, args, pre);
body = ParseUtil.substituteArgs(parser, args, body);
post = ParseUtil.substituteArgs(parser, args, post);
}
body = body.replace(/\\delimsize/g, delim);
parser.string = [pre, left, open, body, right, close, post, parser.string.substr(parser.i)]
Expand All @@ -490,25 +492,25 @@ export const MathtoolsMethods: Record<string, ParseMethod> = {
},

/**
* Implements \DeclarePairedDelimiters.
* Implements \DeclarePairedDelimiter.
*
* @param {TexParser} parser The calling parser.
* @param {string} name The macro name.
*/
DeclarePairedDelimiters(parser: TexParser, name: string) {
DeclarePairedDelimiter(parser: TexParser, name: string) {
const cs = NewcommandUtil.GetCsNameArgument(parser, name);
const open = parser.GetArgument(name);
const close = parser.GetArgument(name);
MathtoolsUtil.addPairedDelims(parser.configuration, cs, [open, close]);
},

/**
* Implements \DeclarePairedDelimitersX.
* Implements \DeclarePairedDelimiterX.
*
* @param {TexParser} parser The calling parser.
* @param {string} name The macro name.
*/
DeclarePairedDelimitersX(parser: TexParser, name: string) {
DeclarePairedDelimiterX(parser: TexParser, name: string) {
const cs = NewcommandUtil.GetCsNameArgument(parser, name);
const n = NewcommandUtil.GetArgCount(parser, name);
const open = parser.GetArgument(name);
Expand All @@ -518,12 +520,12 @@ export const MathtoolsMethods: Record<string, ParseMethod> = {
},

/**
* Implements \DeclarePairedDelimitersXPP.
* Implements \DeclarePairedDelimiterXPP.
*
* @param {TexParser} parser The calling parser.
* @param {string} name The macro name.
*/
DeclarePairedDelimitersXPP(parser: TexParser, name: string) {
DeclarePairedDelimiterXPP(parser: TexParser, name: string) {
const cs = NewcommandUtil.GetCsNameArgument(parser, name);
const n = NewcommandUtil.GetArgCount(parser, name);
const pre = parser.GetArgument(name);
Expand Down

0 comments on commit 2ec8b77

Please sign in to comment.