Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/tests/smoke/crossref/latex.test.ts
12925 views
1
/*
2
* latex.test.ts
3
*
4
* Copyright (C) 2020-2022 Posit Software, PBC
5
*/
6
7
import { ensureFileRegexMatches } from "../../verify.ts";
8
import { testRender } from "../render/render.ts";
9
import { crossref } from "./utils.ts";
10
11
const allQmd = crossref("all.qmd", "latex");
12
13
const simpleFigRegexes = [
14
/\\begin{figure}[^]*?\\caption{\\label{fig-elephant}[^]*?\\end{figure}/,
15
/Figure~\\ref{fig-elephant}/,
16
];
17
const subFigRegexes = [
18
/\\begin{figure}[^]*?\\subcaption{\\label{fig-surus}Surus}[^]*?\\subcaption{\\label{fig-abbas}Abbas}[^]*?\\end{figure}/,
19
/Figure~\\ref{fig-elephants}/,
20
/Figure~\\ref{fig-abbas}/,
21
];
22
23
const simpleTableRegexes = [
24
/\\begin{longtable}[^]*?\\caption{.*}\\label{tbl-letters}[^]*?\\end{longtable}/,
25
/Table~\\ref{tbl-letters}/,
26
];
27
const subTableRegexes = [
28
/\\begin{table}[^]*?\\subcaption{\\label{tbl-first}First Table}[^]*?\\subcaption{\\label{tbl-second}Second Table}[^]*?\\end{table}/,
29
/Table~\\ref{tbl-panel}/,
30
/Table~\\ref{tbl-second}/,
31
];
32
33
const theoremRegexes = [
34
/\\begin{theorem}[^]*?\\protect\\hypertarget{thm-line}{}\\label{thm-line}[^]*?\\end{theorem}/,
35
/Theorem~\\ref{thm-line}/,
36
];
37
38
const theoremRegexesNo = [
39
/\\leavevmode\\vadjust pre{\\hypertarget{thm-line}{}}%/,
40
];
41
42
testRender(allQmd.input, "latex", true, [
43
ensureFileRegexMatches(allQmd.output.outputPath, [
44
...simpleFigRegexes,
45
...subFigRegexes,
46
...simpleTableRegexes,
47
...subTableRegexes,
48
...theoremRegexes,
49
], [
50
...theoremRegexesNo,
51
]),
52
]);
53
54