-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Labels
bugSomething isn't workingSomething isn't workingmacro-conversionLaTeX macro conversion issueLaTeX macro conversion issuemajorMajor priority issueMajor priority issue
Description
Problem
The LaTeX pattern \\grammarterm{}{statement}{s} (with an empty first argument) in n3337 and n4140 source files causes malformed output in the converted markdown.
Affected Files
- n3337/stmt.md line 97
- n4140/stmt.md (multiple instances)
Expected Output
*statements* (italicized text)
Actual Output
**statement or \*\*{statement}{s} (garbled with raw LaTeX artifacts)
Root Cause
The empty first argument to \\grammarterm{}{}{} is malformed LaTeX that exists in the n3337 (C++11) and n4140 (C++14) source files. The current macro handler doesn't gracefully handle this edge case, leaving raw LaTeX escapes in the output.
Example from n3337/stmt.md line 97:
the contained **statement or \*\*{statement}{s} that appear in the
This should read: "the contained statement or statements that appear in the"
Scope
- Affects: n3337 (C++11) and n4140 (C++14)
- Does NOT affect: n4950 (C++23) and later - those sources don't have this malformed pattern
Severity
MAJOR - Text is garbled and unreadable in affected files.
Related Issues
- \grammarterm{} macro partially unconverted in definition contexts #16 -
\\grammarterm{}macro partially unconverted in definition contexts - \grammarterm{} not converted to italics in code blocks #10 -
\\grammarterm{}not converted to italics in code blocks - \grammartermnc{} grammar terminal macro not converted #50 -
\\grammartermnc{}grammar terminal macro not converted
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingmacro-conversionLaTeX macro conversion issueLaTeX macro conversion issuemajorMajor priority issueMajor priority issue