Skip to content

Commit

Permalink
TeX reader: Correctly parse \mbox.
Browse files Browse the repository at this point in the history
Its argument is text mode, not math mode.
  • Loading branch information
jgm committed Feb 10, 2016
1 parent 3835c40 commit 6fcaaf6
Show file tree
Hide file tree
Showing 9 changed files with 9 additions and 104 deletions.
2 changes: 1 addition & 1 deletion src/Text/TeXMath/Readers/TeX.hs
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,6 @@ styleOps :: M.Map String ([Exp] -> Exp)
styleOps = M.fromList
[ ("\\mathrm", EStyled TextNormal)
, ("\\mathup", EStyled TextNormal)
, ("\\mbox", EStyled TextNormal)
, ("\\mathbf", EStyled TextBold)
, ("\\boldsymbol", EStyled TextBold)
, ("\\mathbfup", EStyled TextBold)
Expand Down Expand Up @@ -531,6 +530,7 @@ textOps = M.fromList
, ("\\textit", (EText TextItalic))
, ("\\texttt", (EText TextMonospace))
, ("\\textsf", (EText TextSansSerif))
, ("\\mbox", (EText TextNormal))
]

styled :: TP Exp
Expand Down
2 changes: 1 addition & 1 deletion tests/readers/tex/12.native
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[EIdentifier "f",ESymbol Open "(",EIdentifier "x",ESymbol Close ")",ESymbol Rel "=",EDelimited "{" "" [Right (EArray [AlignDefault,AlignDefault] [[[ENumber "1"],[ESymbol Bin "\8722",ENumber "1",ESymbol Rel "\8804",EIdentifier "x",ESymbol Rel "<",ENumber "0"]],[[EFraction NormalFrac (ENumber "1") (ENumber "2")],[EIdentifier "x",ESymbol Rel "=",ENumber "0"]],[[ENumber "1",ESymbol Bin "\8722",ESuper (EIdentifier "x") (ENumber "2")],[EStyled TextNormal [EIdentifier "o",EIdentifier "t",EIdentifier "h",EIdentifier "e",EIdentifier "r",EIdentifier "w",EIdentifier "i",EIdentifier "s",EIdentifier "e"]]]])]]
[EIdentifier "f",ESymbol Open "(",EIdentifier "x",ESymbol Close ")",ESymbol Rel "=",EDelimited "{" "" [Right (EArray [AlignDefault,AlignDefault] [[[ENumber "1"],[ESymbol Bin "\8722",ENumber "1",ESymbol Rel "\8804",EIdentifier "x",ESymbol Rel "<",ENumber "0"]],[[EFraction NormalFrac (ENumber "1") (ENumber "2")],[EIdentifier "x",ESymbol Rel "=",ENumber "0"]],[[ENumber "1",ESymbol Bin "\8722",ESuper (EIdentifier "x") (ENumber "2")],[EText TextNormal "otherwise"]]])]]
2 changes: 1 addition & 1 deletion tests/readers/tex/22.native
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[EArray [AlignLeft,AlignLeft] [[[EText TextMonospace "textrm"],[EText TextNormal "ABCabc"]],[[EText TextMonospace "mathrm"],[EStyled TextNormal [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathup"],[EStyled TextNormal [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "text"],[EText TextNormal "ABCabc"]],[[EText TextMonospace "mbox"],[EStyled TextNormal [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbf"],[EStyled TextBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfup"],[EStyled TextBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "textbf"],[EText TextBold "ABCabc"]],[[EText TextMonospace "mathit"],[EStyled TextItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "textit"],[EText TextItalic "ABCabc"]],[[EText TextMonospace "mathtt"],[EStyled TextMonospace [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "texttt"],[EText TextMonospace "ABCabc"]],[[EText TextMonospace "mathsf"],[EStyled TextSansSerif [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathsfup"],[EStyled TextSansSerif [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbb"],[EStyled TextDoubleStruck [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathcal"],[EStyled TextScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathscr"],[EStyled TextScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathfrak"],[EStyled TextFraktur [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfit"],[EStyled TextBoldItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfsfup"],[EStyled TextSansSerifBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfsfit"],[EStyled TextSansSerifBoldItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfscr"],[EStyled TextBoldScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbffrak"],[EStyled TextBoldFraktur [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfcal"],[EStyled TextBoldScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathsfit"],[EStyled TextSansSerifItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]]]]
[EArray [AlignLeft,AlignLeft] [[[EText TextMonospace "textrm"],[EText TextNormal "ABCabc"]],[[EText TextMonospace "mathrm"],[EStyled TextNormal [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathup"],[EStyled TextNormal [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "text"],[EText TextNormal "ABCabc"]],[[EText TextMonospace "mbox"],[EText TextNormal "ABCabc"]],[[EText TextMonospace "mathbf"],[EStyled TextBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfup"],[EStyled TextBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "textbf"],[EText TextBold "ABCabc"]],[[EText TextMonospace "mathit"],[EStyled TextItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "textit"],[EText TextItalic "ABCabc"]],[[EText TextMonospace "mathtt"],[EStyled TextMonospace [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "texttt"],[EText TextMonospace "ABCabc"]],[[EText TextMonospace "mathsf"],[EStyled TextSansSerif [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathsfup"],[EStyled TextSansSerif [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbb"],[EStyled TextDoubleStruck [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathcal"],[EStyled TextScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathscr"],[EStyled TextScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathfrak"],[EStyled TextFraktur [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfit"],[EStyled TextBoldItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfsfup"],[EStyled TextSansSerifBold [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfsfit"],[EStyled TextSansSerifBoldItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfscr"],[EStyled TextBoldScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbffrak"],[EStyled TextBoldFraktur [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathbfcal"],[EStyled TextBoldScript [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]],[[EText TextMonospace "mathsfit"],[EStyled TextSansSerifItalic [EIdentifier "A",EIdentifier "B",EIdentifier "C",EIdentifier "a",EIdentifier "b",EIdentifier "c"]]]]]
12 changes: 1 addition & 11 deletions tests/writers/12.mml
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,7 @@
</msup>
</mtd>
<mtd>
<mstyle mathvariant="normal">
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mstyle>
<mtext mathvariant="normal">otherwise</mtext>
</mtd>
</mtr>
</mtable>
Expand Down
50 changes: 1 addition & 49 deletions tests/writers/12.omml
Original file line number Diff line number Diff line change
Expand Up @@ -152,55 +152,7 @@
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>o</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>t</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>h</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>e</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>r</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>w</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>i</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>s</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>e</m:t>
<m:t>otherwise</m:t>
</m:r>
</m:e>
</m:mr>
Expand Down
2 changes: 1 addition & 1 deletion tests/writers/12.tex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
f(x) = \begin{cases}
1 & - 1 \leq x < 0 \\
\frac{1}{2} & x = 0 \\
1 - x^{2} & \mathrm{otherwise} \\
1 - x^{2} & \text{otherwise} \\
\end{cases}
9 changes: 1 addition & 8 deletions tests/writers/22.mml
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,7 @@
<mtext mathvariant="monospace">𝚖𝚋𝚘𝚡</mtext>
</mtd>
<mtd columnalign="left">
<mstyle mathvariant="normal">
<mi>A</mi>
<mi>B</mi>
<mi>C</mi>
<mi>a</mi>
<mi>b</mi>
<mi>c</mi>
</mstyle>
<mtext mathvariant="normal">ABCabc</mtext>
</mtd>
</mtr>
<mtr>
Expand Down
32 changes: 1 addition & 31 deletions tests/writers/22.omml
Original file line number Diff line number Diff line change
Expand Up @@ -287,37 +287,7 @@
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>A</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>B</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>C</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>a</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>b</m:t>
</m:r>
<m:r>
<m:rPr>
<m:sty m:val="p" />
</m:rPr>
<m:t>c</m:t>
<m:t>ABCabc</m:t>
</m:r>
</m:e>
</m:mr>
Expand Down
2 changes: 1 addition & 1 deletion tests/writers/22.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
\texttt{mathrm} & \mathrm{ABCabc} \\
\texttt{mathup} & \mathrm{ABCabc} \\
\texttt{text} & \text{ABCabc} \\
\texttt{mbox} & \mathrm{ABCabc} \\
\texttt{mbox} & \text{ABCabc} \\
\texttt{mathbf} & \mathbf{ABCabc} \\
\texttt{mathbfup} & \mathbf{ABCabc} \\
\texttt{textbf} & \textbf{ABCabc} \\
Expand Down

0 comments on commit 6fcaaf6

Please sign in to comment.