@unified-latex/unified-latex 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.cjs +153 -61
  2. package/index.cjs.map +4 -4
  3. package/package.json +3 -3
package/index.cjs CHANGED
@@ -3343,16 +3343,16 @@ function printRaw(node, options) {
3343
3343
  }
3344
3344
 
3345
3345
  // ../unified-latex-util-match/dist/index.js
3346
- function createMacroMatcher(macros15) {
3347
- const macrosHash = Array.isArray(macros15) ? macros15.length > 0 ? typeof macros15[0] === "string" ? Object.fromEntries(
3348
- macros15.map((macro2) => {
3346
+ function createMacroMatcher(macros17) {
3347
+ const macrosHash = Array.isArray(macros17) ? macros17.length > 0 ? typeof macros17[0] === "string" ? Object.fromEntries(
3348
+ macros17.map((macro2) => {
3349
3349
  if (typeof macro2 !== "string") {
3350
3350
  throw new Error("Wrong branch of map function");
3351
3351
  }
3352
3352
  return [macro2, {}];
3353
3353
  })
3354
3354
  ) : Object.fromEntries(
3355
- macros15.map((macro2) => {
3355
+ macros17.map((macro2) => {
3356
3356
  if (typeof macro2 === "string") {
3357
3357
  throw new Error("Wrong branch of map function");
3358
3358
  }
@@ -3364,7 +3364,7 @@ function createMacroMatcher(macros15) {
3364
3364
  }
3365
3365
  return [macro2.content, {}];
3366
3366
  })
3367
- ) : {} : macros15;
3367
+ ) : {} : macros17;
3368
3368
  return function matchAgainstMacros(node) {
3369
3369
  if (node == null || node.type !== "macro") {
3370
3370
  return false;
@@ -3379,12 +3379,12 @@ function createMacroMatcher(macros15) {
3379
3379
  return true;
3380
3380
  };
3381
3381
  }
3382
- function createEnvironmentMatcher(macros15) {
3383
- const environmentsHash = Array.isArray(macros15) ? Object.fromEntries(
3384
- macros15.map((str) => {
3382
+ function createEnvironmentMatcher(macros17) {
3383
+ const environmentsHash = Array.isArray(macros17) ? Object.fromEntries(
3384
+ macros17.map((str) => {
3385
3385
  return [str, {}];
3386
3386
  })
3387
- ) : macros15;
3387
+ ) : macros17;
3388
3388
  return function matchAgainstEnvironments(node) {
3389
3389
  if (!match.anyEnvironment(node)) {
3390
3390
  return false;
@@ -21043,9 +21043,9 @@ function gobbleArguments(nodes, argSpec, startPos = 0) {
21043
21043
  }
21044
21044
  return { args, nodesRemoved };
21045
21045
  }
21046
- function attachMacroArgsInArray(nodes, macros15) {
21046
+ function attachMacroArgsInArray(nodes, macros17) {
21047
21047
  let currIndex;
21048
- const isRelevantMacro = match.createMacroMatcher(macros15);
21048
+ const isRelevantMacro = match.createMacroMatcher(macros17);
21049
21049
  function gobbleUntilMacro() {
21050
21050
  while (currIndex >= 0 && !isRelevantMacro(nodes[currIndex])) {
21051
21051
  currIndex--;
@@ -21060,7 +21060,7 @@ function attachMacroArgsInArray(nodes, macros15) {
21060
21060
  const macroIndex = currIndex;
21061
21061
  const macro2 = nodes[macroIndex];
21062
21062
  const macroName = macro2.content;
21063
- const macroInfo2 = macros15[macroName];
21063
+ const macroInfo2 = macros17[macroName];
21064
21064
  updateRenderInfo(macro2, macroInfo2.renderInfo);
21065
21065
  const signatureOrParser = macroInfo2.argumentParser || macroInfo2.signature;
21066
21066
  if (signatureOrParser == null) {
@@ -21107,7 +21107,7 @@ var macros = {
21107
21107
  };
21108
21108
  var environments = {};
21109
21109
  function cleanEnumerateBody(ast, itemName = "item") {
21110
- let { segments, macros: macros15 } = splitOnMacro(ast, itemName);
21110
+ let { segments, macros: macros17 } = splitOnMacro(ast, itemName);
21111
21111
  for (let i = 0; i < segments.length; i++) {
21112
21112
  const segment = segments[i];
21113
21113
  if (i === 0) {
@@ -21120,7 +21120,7 @@ function cleanEnumerateBody(ast, itemName = "item") {
21120
21120
  }
21121
21121
  }
21122
21122
  let insertParbreakBefore = /* @__PURE__ */ new WeakSet();
21123
- let body = macros15.flatMap((node, i) => {
21123
+ let body = macros17.flatMap((node, i) => {
21124
21124
  var _a;
21125
21125
  const segment = segments[i + 1];
21126
21126
  const trailingComments = popTrailingComments(segment);
@@ -21262,7 +21262,7 @@ var macros4 = {
21262
21262
  var environments4 = {};
21263
21263
  var macros5 = {
21264
21264
  // Special
21265
- "\\": { signature: "!s o" },
21265
+ "\\": { signature: "!s !o" },
21266
21266
  _: { signature: "m", escapeToken: "" },
21267
21267
  "^": { signature: "m", escapeToken: "" },
21268
21268
  // \newcommand arg signature from https://www.texdev.net/2020/08/19/the-good-the-bad-and-the-ugly-creating-document-commands
@@ -21607,15 +21607,57 @@ var environments5 = {
21607
21607
  // Math
21608
21608
  math: { renderInfo: { inMathMode: true } }
21609
21609
  };
21610
+ var argSpecM = parse("m")[0];
21611
+ var argSpecO = parse("o")[0];
21612
+ var argSpecRDelim = {};
21613
+ var argumentParser = (nodes, startPos) => {
21614
+ const { argument: optionalArg, nodesRemoved: optionalArgNodesRemoved } = gobbleSingleArgument(nodes, argSpecO, startPos);
21615
+ let codeArg = null;
21616
+ let codeArgNodesRemoved = 0;
21617
+ const nextNode = nodes[startPos];
21618
+ if (match.group(nextNode)) {
21619
+ const mandatoryArg = gobbleSingleArgument(nodes, argSpecM, startPos);
21620
+ codeArg = mandatoryArg.argument;
21621
+ codeArgNodesRemoved = mandatoryArg.nodesRemoved;
21622
+ } else if (match.string(nextNode) && nextNode.content.length === 1) {
21623
+ const delim = nextNode.content;
21624
+ argSpecRDelim[delim] = argSpecRDelim[delim] || parse(`r${delim}${delim}`)[0];
21625
+ const delimArg = gobbleSingleArgument(
21626
+ nodes,
21627
+ argSpecRDelim[delim],
21628
+ startPos
21629
+ );
21630
+ codeArg = delimArg.argument;
21631
+ codeArgNodesRemoved = delimArg.nodesRemoved;
21632
+ }
21633
+ return {
21634
+ args: [optionalArg || arg(null), codeArg || arg(null)],
21635
+ nodesRemoved: optionalArgNodesRemoved + codeArgNodesRemoved
21636
+ };
21637
+ };
21610
21638
  var macros6 = {
21639
+ lstset: { signature: "m" },
21640
+ lstinline: { argumentParser },
21641
+ lstinputlisting: { signature: "o m" },
21642
+ lstdefinestyle: { signature: "m m" },
21643
+ lstnewenvironment: { signature: "m o o m m" },
21644
+ lstMakeShortInline: { signature: "o m" },
21645
+ lstDeleteShortInline: { signature: "m" },
21646
+ lstdefineformat: { signature: "m m" },
21647
+ lstdefinelanguage: { signature: "o m o m o" },
21648
+ lstalias: { signature: "o m o m" },
21649
+ lstloadlanguages: { signature: "m" }
21650
+ };
21651
+ var environments6 = {};
21652
+ var macros7 = {
21611
21653
  see: { signature: "m m" },
21612
21654
  seealso: { signature: "m m" },
21613
21655
  seename: { signature: "m" },
21614
21656
  alsoname: { signature: "m" },
21615
21657
  index: { signature: "m" }
21616
21658
  };
21617
- var environments6 = {};
21618
- var macros7 = {
21659
+ var environments7 = {};
21660
+ var macros8 = {
21619
21661
  mathtoolsset: {
21620
21662
  signature: "m",
21621
21663
  renderInfo: { breakAround: true, pgfkeysArgs: true }
@@ -21723,7 +21765,7 @@ var macros7 = {
21723
21765
  renderInfo: { breakAround: true }
21724
21766
  }
21725
21767
  };
21726
- var environments7 = {
21768
+ var environments8 = {
21727
21769
  crampedsubarray: {
21728
21770
  signature: "m",
21729
21771
  renderInfo: { alignContent: true, inMathMode: true }
@@ -21827,13 +21869,59 @@ var environments7 = {
21827
21869
  example: { signature: "!o" },
21828
21870
  proof: { signature: "o" }
21829
21871
  };
21830
- var macros8 = {
21872
+ var argSpecM2 = parse("m")[0];
21873
+ var argSpecO2 = parse("o")[0];
21874
+ var argSpecRDelim2 = {};
21875
+ var argumentParser2 = (nodes, startPos) => {
21876
+ const { argument: optionalArg, nodesRemoved: optionalArgNodesRemoved } = gobbleSingleArgument(nodes, argSpecO2, startPos);
21877
+ const { argument: languageArg, nodesRemoved: languageArgNodesRemoved } = gobbleSingleArgument(nodes, argSpecM2, startPos);
21878
+ let codeArg = null;
21879
+ let codeArgNodesRemoved = 0;
21880
+ const nextNode = nodes[startPos];
21881
+ if (match.group(nextNode)) {
21882
+ const mandatoryArg = gobbleSingleArgument(nodes, argSpecM2, startPos);
21883
+ codeArg = mandatoryArg.argument;
21884
+ codeArgNodesRemoved = mandatoryArg.nodesRemoved;
21885
+ } else if (match.string(nextNode) && nextNode.content.length === 1) {
21886
+ const delim = nextNode.content;
21887
+ argSpecRDelim2[delim] = argSpecRDelim2[delim] || parse(`r${delim}${delim}`)[0];
21888
+ const delimArg = gobbleSingleArgument(
21889
+ nodes,
21890
+ argSpecRDelim2[delim],
21891
+ startPos
21892
+ );
21893
+ codeArg = delimArg.argument;
21894
+ codeArgNodesRemoved = delimArg.nodesRemoved;
21895
+ }
21896
+ return {
21897
+ args: [
21898
+ optionalArg || arg(null),
21899
+ languageArg || arg(null),
21900
+ codeArg || arg(null)
21901
+ ],
21902
+ nodesRemoved: optionalArgNodesRemoved + languageArgNodesRemoved + codeArgNodesRemoved
21903
+ };
21904
+ };
21905
+ var macros9 = {
21906
+ mint: { argumentParser: argumentParser2 },
21907
+ mintinline: { argumentParser: argumentParser2 },
21908
+ inputminted: { argumentParser: argumentParser2 },
21909
+ usemintedstyle: { signature: "m" },
21910
+ setminted: { signature: "o m" },
21911
+ setmintedinline: { signature: "o m" },
21912
+ newmint: { signature: "o m m" },
21913
+ newminted: { signature: "o m m" },
21914
+ newmintinline: { signature: "o m m" },
21915
+ newmintedfile: { signature: "o m m" }
21916
+ };
21917
+ var environments9 = {};
21918
+ var macros10 = {
21831
21919
  NiceMatrixOptions: {
21832
21920
  signature: "m",
21833
21921
  renderInfo: { pgfkeysArgs: true, breakAround: true }
21834
21922
  }
21835
21923
  };
21836
- var environments8 = {
21924
+ var environments10 = {
21837
21925
  NiceTabular: {
21838
21926
  signature: "o m !o",
21839
21927
  renderInfo: { pgfkeysArgs: true, alignContent: true }
@@ -21895,7 +21983,7 @@ var environments8 = {
21895
21983
  renderInfo: { pgfkeysArgs: true, alignContent: true }
21896
21984
  }
21897
21985
  };
21898
- var macros9 = {
21986
+ var macros11 = {
21899
21987
  systeme: {
21900
21988
  signature: "s o o m",
21901
21989
  renderInfo: { inMathMode: true }
@@ -21916,7 +22004,7 @@ var macros9 = {
21916
22004
  sysautonum: { signature: "m" },
21917
22005
  syssubstitute: { signature: "m" }
21918
22006
  };
21919
- var environments9 = {};
22007
+ var environments11 = {};
21920
22008
  (function() {
21921
22009
  if (typeof globalThis === "object")
21922
22010
  return;
@@ -22027,7 +22115,7 @@ function eatAllAnimationSpecs(nodes, startPos) {
22027
22115
  }
22028
22116
  return lastMatchPos;
22029
22117
  }
22030
- var macros10 = {
22118
+ var macros12 = {
22031
22119
  pgfkeys: {
22032
22120
  signature: "m",
22033
22121
  renderInfo: { breakAround: true, pgfkeysArgs: true }
@@ -22060,7 +22148,7 @@ var macros10 = {
22060
22148
  renderInfo: { namedArguments: ["animation", "options", "command"] }
22061
22149
  }
22062
22150
  };
22063
- var environments10 = {
22151
+ var environments12 = {
22064
22152
  tikzpicture: {
22065
22153
  signature: "o",
22066
22154
  renderInfo: { pgfkeysArgs: true, tikzEnvironment: true },
@@ -22410,7 +22498,7 @@ function createMatchers2() {
22410
22498
  };
22411
22499
  }
22412
22500
  var matchers = createMatchers2();
22413
- var macros11 = {
22501
+ var macros13 = {
22414
22502
  substitutecolormodel: {
22415
22503
  signature: "m m",
22416
22504
  renderInfo: { breakAround: true }
@@ -22481,7 +22569,7 @@ var macros11 = {
22481
22569
  extractcolorspecs: { signature: "m m m" },
22482
22570
  convertcolorspec: { signature: "m m m m" }
22483
22571
  };
22484
- var environments11 = {
22572
+ var environments13 = {
22485
22573
  testcolors: { signature: "o", renderInfo: { pgfkeysArgs: true } }
22486
22574
  };
22487
22575
  var fromRgb = ([r, g, b]) => (0, import_color2.default)([r * 255, g * 255, b * 255], "rgb");
@@ -23102,7 +23190,7 @@ var PREDEFINED_XCOLOR_COLORS = {
23102
23190
  ...SVG_NAMES,
23103
23191
  ...X11_NAMES
23104
23192
  };
23105
- var macros12 = {
23193
+ var macros14 = {
23106
23194
  NewDocumentCommand: {
23107
23195
  signature: "m m m",
23108
23196
  renderInfo: { breakAround: true }
@@ -23157,8 +23245,8 @@ var macros12 = {
23157
23245
  },
23158
23246
  DeclareOption: { signature: "m m", renderInfo: { breakAround: true } }
23159
23247
  };
23160
- var environments12 = {};
23161
- var macros13 = {
23248
+ var environments14 = {};
23249
+ var macros15 = {
23162
23250
  mode: { signature: "s d<> d{}", renderInfo: { breakAround: true } },
23163
23251
  insertnavigation: { signature: "m", renderInfo: { breakAround: true } },
23164
23252
  insertsectionnavigation: {
@@ -23332,7 +23420,7 @@ var macros13 = {
23332
23420
  }
23333
23421
  }
23334
23422
  };
23335
- var environments13 = {
23423
+ var environments15 = {
23336
23424
  frame: {
23337
23425
  signature: "!d<> !o !o !d{} !d{}"
23338
23426
  },
@@ -23357,10 +23445,10 @@ var environments13 = {
23357
23445
  columns: { signature: "d<> o" },
23358
23446
  column: { signature: "d<> o m" }
23359
23447
  };
23360
- var macros14 = {
23448
+ var macros16 = {
23361
23449
  columnbreak: { renderInfo: { breakAround: true } }
23362
23450
  };
23363
- var environments14 = {
23451
+ var environments16 = {
23364
23452
  multicols: {
23365
23453
  signature: "m o o"
23366
23454
  },
@@ -23374,15 +23462,17 @@ var macroInfo = {
23374
23462
  geometry: macros3,
23375
23463
  hyperref: macros4,
23376
23464
  latex2e: macros5,
23377
- makeidx: macros6,
23378
- mathtools: macros7,
23379
- nicematrix: macros8,
23380
- systeme: macros9,
23381
- tikz: macros10,
23382
- xcolor: macros11,
23383
- xparse: macros12,
23384
- beamer: macros13,
23385
- multicol: macros14
23465
+ listings: macros6,
23466
+ makeidx: macros7,
23467
+ mathtools: macros8,
23468
+ minted: macros9,
23469
+ nicematrix: macros10,
23470
+ systeme: macros11,
23471
+ tikz: macros12,
23472
+ xcolor: macros13,
23473
+ xparse: macros14,
23474
+ beamer: macros15,
23475
+ multicol: macros16
23386
23476
  };
23387
23477
  var environmentInfo = {
23388
23478
  cleveref: environments,
@@ -23390,15 +23480,17 @@ var environmentInfo = {
23390
23480
  geometry: environments3,
23391
23481
  hyperref: environments4,
23392
23482
  latex2e: environments5,
23393
- makeidx: environments6,
23394
- mathtools: environments7,
23395
- nicematrix: environments8,
23396
- systeme: environments9,
23397
- tikz: environments10,
23398
- xcolor: environments11,
23399
- xparse: environments12,
23400
- beamer: environments13,
23401
- multicol: environments14
23483
+ listings: environments6,
23484
+ makeidx: environments7,
23485
+ mathtools: environments8,
23486
+ minted: environments9,
23487
+ nicematrix: environments10,
23488
+ systeme: environments11,
23489
+ tikz: environments12,
23490
+ xcolor: environments13,
23491
+ xparse: environments14,
23492
+ beamer: environments15,
23493
+ multicol: environments16
23402
23494
  };
23403
23495
 
23404
23496
  // ../unified-latex-util-environments/dist/index.js
@@ -23762,9 +23854,9 @@ function wasParsedInMathMode(nodes) {
23762
23854
  );
23763
23855
  }
23764
23856
  var unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse = function unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse2(options) {
23765
- const { environments: environments15 = {}, macros: macros15 = {} } = options || {};
23857
+ const { environments: environments17 = {}, macros: macros17 = {} } = options || {};
23766
23858
  const mathMacros = Object.fromEntries(
23767
- Object.entries(macros15).filter(
23859
+ Object.entries(macros17).filter(
23768
23860
  ([_, info]) => {
23769
23861
  var _a;
23770
23862
  return ((_a = info.renderInfo) == null ? void 0 : _a.inMathMode) === true;
@@ -23772,7 +23864,7 @@ var unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse = function unifiedLa
23772
23864
  )
23773
23865
  );
23774
23866
  const mathEnvs = Object.fromEntries(
23775
- Object.entries(environments15).filter(
23867
+ Object.entries(environments17).filter(
23776
23868
  ([_, info]) => {
23777
23869
  var _a;
23778
23870
  return ((_a = info.renderInfo) == null ? void 0 : _a.inMathMode) === true;
@@ -23783,7 +23875,7 @@ var unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse = function unifiedLa
23783
23875
  mathEnvs: Object.keys(mathEnvs),
23784
23876
  mathMacros: Object.keys(mathMacros)
23785
23877
  });
23786
- const isRelevantEnvironment = match.createEnvironmentMatcher(environments15);
23878
+ const isRelevantEnvironment = match.createEnvironmentMatcher(environments17);
23787
23879
  const isRelevantMathEnvironment = match.createEnvironmentMatcher(mathEnvs);
23788
23880
  return (tree) => {
23789
23881
  visit(
@@ -23800,7 +23892,7 @@ var unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse = function unifiedLa
23800
23892
  return;
23801
23893
  }
23802
23894
  const envName = printRaw(node.env);
23803
- const envInfo = environments15[envName];
23895
+ const envInfo = environments17[envName];
23804
23896
  if (!envInfo) {
23805
23897
  throw new Error(
23806
23898
  `Could not find environment info for environment "${envName}"`
@@ -23819,14 +23911,14 @@ var unifiedLatexProcessMacrosAndEnvironmentsWithMathReparse = function unifiedLa
23819
23911
  if (!Array.isArray(nodes)) {
23820
23912
  return;
23821
23913
  }
23822
- attachMacroArgsInArray(nodes, macros15);
23914
+ attachMacroArgsInArray(nodes, macros17);
23823
23915
  },
23824
23916
  leave: (node) => {
23825
23917
  if (!isRelevantEnvironment(node)) {
23826
23918
  return;
23827
23919
  }
23828
23920
  const envName = printRaw(node.env);
23829
- const envInfo = environments15[envName];
23921
+ const envInfo = environments17[envName];
23830
23922
  if (!envInfo) {
23831
23923
  throw new Error(
23832
23924
  `Could not find environment info for environment "${envName}"`
@@ -23870,8 +23962,8 @@ var unifiedLatexProcessAtLetterAndExplMacros = function unifiedLatexProcessAtLet
23870
23962
  var unifiedLatexFromString = function unifiedLatexFromString2(options) {
23871
23963
  const {
23872
23964
  mode = "regular",
23873
- macros: macros15 = {},
23874
- environments: environments15 = {},
23965
+ macros: macros17 = {},
23966
+ environments: environments17 = {},
23875
23967
  flags: {
23876
23968
  atLetter = false,
23877
23969
  expl3 = false,
@@ -23881,12 +23973,12 @@ var unifiedLatexFromString = function unifiedLatexFromString2(options) {
23881
23973
  const allMacroInfo = Object.assign(
23882
23974
  {},
23883
23975
  ...Object.values(macroInfo),
23884
- macros15
23976
+ macros17
23885
23977
  );
23886
23978
  const allEnvInfo = Object.assign(
23887
23979
  {},
23888
23980
  ...Object.values(environmentInfo),
23889
- environments15
23981
+ environments17
23890
23982
  );
23891
23983
  const fullParser = unified().use(unifiedLatexFromStringMinimal, { mode }).use(unifiedLatexProcessAtLetterAndExplMacros, {
23892
23984
  atLetter,