Skip to content

\\grammarterm{}{text} with empty first argument causes malformed output #78

@lefticus

Description

@lefticus

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmacro-conversionLaTeX macro conversion issuemajorMajor priority issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions