fix: \hline after \cr (#3735)

Support `\hline` when it occurs after a `\cr` within an environment

Fixes #3734
This commit is contained in:
Ron Kok
2022-10-22 09:08:34 -07:00
committed by GitHub
parent be07984313
commit ebf6bf5b50
2 changed files with 6 additions and 0 deletions

View File

@@ -39,6 +39,11 @@ function getHLines(parser: Parser): boolean[] {
const hlineInfo = []; const hlineInfo = [];
parser.consumeSpaces(); parser.consumeSpaces();
let nxt = parser.fetch().text; let nxt = parser.fetch().text;
if (nxt === "\\relax") { // \relax is an artifact of the \cr macro below
parser.consume();
parser.consumeSpaces();
nxt = parser.fetch().text;
}
while (nxt === "\\hline" || nxt === "\\hdashline") { while (nxt === "\\hline" || nxt === "\\hdashline") {
parser.consume(); parser.consume();
hlineInfo.push(nxt === "\\hdashline"); hlineInfo.push(nxt === "\\hdashline");

View File

@@ -1266,6 +1266,7 @@ describe("A begin/end parser", function() {
it("should parse an environment with hlines", function() { it("should parse an environment with hlines", function() {
expect`\begin{matrix}\hline a&b\\ \hline c&d\end{matrix}`.toParse(); expect`\begin{matrix}\hline a&b\\ \hline c&d\end{matrix}`.toParse();
expect`\begin{matrix}\hline a&b\cr \hline c&d\end{matrix}`.toParse();
expect`\begin{matrix}\hdashline a&b\\ \hdashline c&d\end{matrix}`.toParse(); expect`\begin{matrix}\hdashline a&b\\ \hdashline c&d\end{matrix}`.toParse();
}); });