├── .gitignore
├── _extensions
├── nmfs-opensci
│ └── titlepage
│ │ ├── _academic-static_before-body.tex
│ │ ├── _academic-static_titlepage.tex
│ │ ├── _bg-image_before-body.tex
│ │ ├── _bg-image_titlepage.tex
│ │ ├── _classic-lined-static_before-body.tex
│ │ ├── _classic-lined-static_titlepage.tex
│ │ ├── _extension.yml
│ │ ├── _great-wave_before-body.tex
│ │ ├── _great-wave_cover.tex
│ │ ├── _great-wave_titlepage.tex
│ │ ├── _multi-purpose-static_before-body.tex
│ │ ├── _multi-purpose-static_titlepage.tex
│ │ ├── _multi-purpose_before-body.tex
│ │ ├── _multi-purpose_titlepage.tex
│ │ ├── _thesis-static_before-body.tex
│ │ ├── _thesis-static_titlepage.tex
│ │ ├── _vline-static_before-body.tex
│ │ ├── _vline-static_titlepage.tex
│ │ ├── _vline_before-body.tex
│ │ ├── _vline_titlepage.tex
│ │ ├── before-body.tex
│ │ ├── images
│ │ ├── TheGreatWaveoffKanagawa.jpeg
│ │ ├── corner-bg.png
│ │ ├── logo.png
│ │ ├── nmfs-opensci-logo.png
│ │ └── ringed-seal.png
│ │ ├── pandoc.tex
│ │ └── theme.lua
└── quarto-journals
│ ├── jss
│ ├── _extension.yml
│ ├── _extensions
│ │ └── quarto-ext
│ │ │ └── fancy-text
│ │ │ ├── _extension.yml
│ │ │ └── fancy-text.lua
│ ├── jss.bst
│ ├── jss.cls
│ ├── jss.lua
│ ├── jsslogo.jpg
│ └── partials
│ │ ├── _print-address.tex
│ │ ├── _print-author.tex
│ │ ├── before-body.tex
│ │ └── title.tex
│ └── plos
│ ├── _extension.yml
│ ├── _preamble.tex
│ ├── filter.lua
│ ├── partials
│ ├── _affiliations.tex
│ ├── _authors.tex
│ ├── before-bib.tex
│ ├── before-body.tex
│ ├── biblio.tex
│ ├── doc-class.tex
│ └── title.tex
│ └── plos2015.bst
├── _publish.yml
├── examples
├── .gitignore
├── 330px-BostonTerrier001.jpeg
├── 330px-Boston_Terrier_Eden_Forever.jpeg
├── 330px-Boston_Terrier_male.jpeg
├── Terrier_Seated_(Boston_Public_Library).jpeg
├── _extensions
│ ├── nmfs-opensci
│ │ └── titlepage
│ │ │ ├── _academic-static_before-body.tex
│ │ │ ├── _academic-static_titlepage.tex
│ │ │ ├── _bg-image_before-body.tex
│ │ │ ├── _bg-image_titlepage.tex
│ │ │ ├── _classic-lined-static_before-body.tex
│ │ │ ├── _classic-lined-static_titlepage.tex
│ │ │ ├── _extension.yml
│ │ │ ├── _great-wave_before-body.tex
│ │ │ ├── _great-wave_cover.tex
│ │ │ ├── _great-wave_titlepage.tex
│ │ │ ├── _multi-purpose-static_before-body.tex
│ │ │ ├── _multi-purpose-static_titlepage.tex
│ │ │ ├── _multi-purpose_before-body.tex
│ │ │ ├── _multi-purpose_titlepage.tex
│ │ │ ├── _thesis-static_before-body.tex
│ │ │ ├── _thesis-static_titlepage.tex
│ │ │ ├── _vline-static_before-body.tex
│ │ │ ├── _vline-static_titlepage.tex
│ │ │ ├── _vline_before-body.tex
│ │ │ ├── _vline_titlepage.tex
│ │ │ ├── before-body.tex
│ │ │ ├── images
│ │ │ ├── TheGreatWaveoffKanagawa.jpeg
│ │ │ ├── corner-bg.png
│ │ │ ├── logo.png
│ │ │ ├── nmfs-opensci-logo.png
│ │ │ └── ringed-seal.png
│ │ │ ├── pandoc.tex
│ │ │ └── theme.lua
│ └── quarto-journals
│ │ ├── jss
│ │ ├── _extension.yml
│ │ ├── _extensions
│ │ │ └── quarto-ext
│ │ │ │ └── fancy-text
│ │ │ │ ├── _extension.yml
│ │ │ │ └── fancy-text.lua
│ │ ├── jss.bst
│ │ ├── jss.cls
│ │ ├── jss.lua
│ │ ├── jsslogo.jpg
│ │ └── partials
│ │ │ ├── _print-address.tex
│ │ │ ├── _print-author.tex
│ │ │ ├── before-body.tex
│ │ │ └── title.tex
│ │ └── plos
│ │ ├── _extension.yml
│ │ ├── _preamble.tex
│ │ ├── filter.lua
│ │ ├── partials
│ │ ├── _affiliations.tex
│ │ ├── _authors.tex
│ │ ├── before-bib.tex
│ │ ├── before-body.tex
│ │ ├── biblio.tex
│ │ ├── doc-class.tex
│ │ └── title.tex
│ │ └── plos2015.bst
├── _quarto.yml
├── corner-bg.png
├── example-pdf.qmd
├── history.qmd
├── howard.png
├── output
│ ├── 330px-BostonTerrier001.jpeg
│ ├── 330px-Boston_Terrier_Eden_Forever.jpeg
│ ├── 330px-Boston_Terrier_male.jpeg
│ ├── Terrier_Seated_(Boston_Public_Library).jpeg
│ ├── example-pdf.html
│ ├── example-pdf_files
│ │ └── libs
│ │ │ ├── bootstrap
│ │ │ ├── bootstrap-icons.css
│ │ │ ├── bootstrap-icons.woff
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.js
│ │ │ ├── clipboard
│ │ │ └── clipboard.min.js
│ │ │ └── quarto-html
│ │ │ ├── anchor.min.js
│ │ │ ├── popper.min.js
│ │ │ ├── quarto-syntax-highlighting.css
│ │ │ ├── quarto.js
│ │ │ ├── tippy.css
│ │ │ └── tippy.umd.min.js
│ ├── history.html
│ ├── history_files
│ │ └── libs
│ │ │ ├── bootstrap
│ │ │ ├── bootstrap-icons.css
│ │ │ ├── bootstrap-icons.woff
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.js
│ │ │ ├── clipboard
│ │ │ └── clipboard.min.js
│ │ │ └── quarto-html
│ │ │ ├── anchor.min.js
│ │ │ ├── popper.min.js
│ │ │ ├── quarto-syntax-highlighting.css
│ │ │ ├── quarto.js
│ │ │ ├── tippy.css
│ │ │ └── tippy.umd.min.js
│ ├── penguin-report.html
│ ├── penguin-report_files
│ │ ├── figure-html
│ │ │ └── unnamed-chunk-2-1.png
│ │ └── libs
│ │ │ ├── bootstrap
│ │ │ ├── bootstrap-icons.css
│ │ │ ├── bootstrap-icons.woff
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.js
│ │ │ ├── clipboard
│ │ │ └── clipboard.min.js
│ │ │ └── quarto-html
│ │ │ ├── anchor.min.js
│ │ │ ├── popper.min.js
│ │ │ ├── quarto-syntax-highlighting.css
│ │ │ ├── quarto.js
│ │ │ ├── tippy.css
│ │ │ └── tippy.umd.min.js
│ ├── tidymodels-example.html
│ └── tidymodels-example_files
│ │ └── libs
│ │ ├── bootstrap
│ │ ├── bootstrap-icons.css
│ │ ├── bootstrap-icons.woff
│ │ ├── bootstrap.min.css
│ │ └── bootstrap.min.js
│ │ ├── clipboard
│ │ └── clipboard.min.js
│ │ └── quarto-html
│ │ ├── anchor.min.js
│ │ ├── popper.min.js
│ │ ├── quarto-syntax-highlighting.css
│ │ ├── quarto.js
│ │ ├── tippy.css
│ │ └── tippy.umd.min.js
├── penguin-report.qmd
└── tidymodels-example.qmd
├── images
├── bootswatch.png
├── boston-history-html.jpeg
├── boston-history-pdf.jpeg
├── howard-gentleman.jpeg
├── jss.png
└── penguin-report.png
├── quarto-reporting.Rproj
├── quarto-reporting.html
├── quarto-reporting.qmd
├── quarto-reporting_files
├── figure-revealjs
│ └── unnamed-chunk-5-1.png
└── libs
│ ├── clipboard
│ └── clipboard.min.js
│ ├── quarto-html
│ ├── popper.min.js
│ ├── quarto-html.min.css
│ ├── quarto-syntax-highlighting-dark.css
│ ├── quarto-syntax-highlighting.css
│ ├── tabby.min.js
│ ├── tippy.css
│ └── tippy.umd.min.js
│ └── revealjs
│ ├── dist
│ ├── reset.css
│ ├── reveal.css
│ ├── reveal.esm.js
│ ├── reveal.esm.js.map
│ ├── reveal.js
│ ├── reveal.js.map
│ └── theme
│ │ ├── fonts
│ │ ├── league-gothic
│ │ │ ├── LICENSE
│ │ │ ├── league-gothic.css
│ │ │ ├── league-gothic.eot
│ │ │ ├── league-gothic.ttf
│ │ │ └── league-gothic.woff
│ │ └── source-sans-pro
│ │ │ ├── LICENSE
│ │ │ ├── source-sans-pro-italic.eot
│ │ │ ├── source-sans-pro-italic.ttf
│ │ │ ├── source-sans-pro-italic.woff
│ │ │ ├── source-sans-pro-regular.eot
│ │ │ ├── source-sans-pro-regular.ttf
│ │ │ ├── source-sans-pro-regular.woff
│ │ │ ├── source-sans-pro-semibold.eot
│ │ │ ├── source-sans-pro-semibold.ttf
│ │ │ ├── source-sans-pro-semibold.woff
│ │ │ ├── source-sans-pro-semibolditalic.eot
│ │ │ ├── source-sans-pro-semibolditalic.ttf
│ │ │ ├── source-sans-pro-semibolditalic.woff
│ │ │ └── source-sans-pro.css
│ │ └── quarto.css
│ └── plugin
│ ├── highlight
│ ├── highlight.esm.js
│ ├── highlight.js
│ ├── monokai.css
│ ├── plugin.js
│ └── zenburn.css
│ ├── markdown
│ ├── markdown.esm.js
│ ├── markdown.js
│ └── plugin.js
│ ├── math
│ ├── katex.js
│ ├── math.esm.js
│ ├── math.js
│ ├── mathjax2.js
│ ├── mathjax3.js
│ └── plugin.js
│ ├── multiplex
│ ├── multiplex.js
│ ├── plugin.yml
│ └── socket.io.js
│ ├── notes
│ ├── notes.esm.js
│ ├── notes.js
│ ├── plugin.js
│ └── speaker-view.html
│ ├── pdf-export
│ ├── pdfexport.js
│ └── plugin.yml
│ ├── quarto-line-highlight
│ ├── line-highlight.css
│ ├── line-highlight.js
│ └── plugin.yml
│ ├── quarto-support
│ ├── footer.css
│ ├── plugin.yml
│ └── support.js
│ ├── reveal-menu
│ ├── menu.css
│ ├── menu.js
│ ├── plugin.yml
│ ├── quarto-menu.css
│ └── quarto-menu.js
│ ├── search
│ ├── plugin.js
│ ├── search.esm.js
│ └── search.js
│ └── zoom
│ ├── plugin.js
│ ├── zoom.esm.js
│ └── zoom.js
├── readme.md
└── styles.scss
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .Rdata
4 | .httr-oauth
5 | .DS_Store
6 | .quarto
7 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_academic-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_academic-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_academic-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_academic-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Academic Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | \newcommand{\HRule}{\rule{\linewidth}{0.5mm}} % Defines a new command for horizontal lines, change thickness here
20 |
21 | \center % Centre everything on the page
22 |
23 | %------------------------------------------------
24 | % Headings
25 | %------------------------------------------------
26 |
27 | \textsc{\LARGE Institution Name}\\[1.5cm] % Main heading such as the name of your university/college
28 |
29 | \textsc{\Large Major Heading}\\[0.5cm] % Major heading such as course name
30 |
31 | \textsc{\large Minor Heading}\\[0.5cm] % Minor heading such as course title
32 |
33 | %------------------------------------------------
34 | % Title
35 | %------------------------------------------------
36 |
37 | \HRule\\[0.4cm]
38 |
39 | {\huge\bfseries An Unnecessarily Convoluted Academic Title}\\[0.4cm] % Title of your document
40 |
41 | \HRule\\[1.5cm]
42 |
43 | %------------------------------------------------
44 | % Author(s)
45 | %------------------------------------------------
46 |
47 | \begin{minipage}{0.4\textwidth}
48 | \begin{flushleft}
49 | \large
50 | \textit{Author}\\
51 | B.J. \textsc{Blazkowicz} % Your name
52 | \end{flushleft}
53 | \end{minipage}
54 | ~
55 | \begin{minipage}{0.4\textwidth}
56 | \begin{flushright}
57 | \large
58 | \textit{Supervisor}\\
59 | Dr. Caroline \textsc{Becker} % Supervisor's name
60 | \end{flushright}
61 | \end{minipage}
62 |
63 | % If you don't want a supervisor, uncomment the two lines below and comment the code above
64 | %{\large\textit{Author}}\\
65 | %John \textsc{Smith} % Your name
66 |
67 | %------------------------------------------------
68 | % Date
69 | %------------------------------------------------
70 |
71 | \vfill\vfill\vfill % Position the date 3/4 down the remaining page
72 |
73 | {\large\today} % Date, change the \today to a set date if you want to be precise
74 |
75 | %------------------------------------------------
76 | % Logo
77 | %------------------------------------------------
78 |
79 | %\vfill\vfill
80 | %\includegraphics[width=0.2\textwidth]{placeholder.jpg}\\[1cm] % Include a department/university logo - this will require the graphicx package
81 |
82 | %----------------------------------------------------------------------------------------
83 |
84 | \vfill % Push the date up 1/4 of the remaining page
85 |
86 |
87 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_bg-image_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_bg-image_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_bg-image_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_bg-image_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | $if(titlepage-geometry)$
6 | \newgeometry{$for(titlepage-geometry)$$titlepage-geometry$$sep$,$endfor$}
7 | $endif$
8 | \begin{minipage}[b][\textheight][s]{\textwidth}
9 | \raggedright
10 |
11 | % background image
12 | $if(title-bg-image)$
13 | \This$if(title-bg-location)$$title-bg-location$$else$UL$endif$CornerWallPaper{$if(title-bg-size)$$title-bg-size$$else$0.5$endif$}{$title-bg-image$}
14 | $endif$
15 |
16 | % Title and subtitle
17 | {\huge\bfseries\nohyphens{$title$}}\\[1\baselineskip]
18 | $if(subtitle)${\large{$subtitle$}}\\[4\baselineskip]$endif$
19 |
20 | % Authors
21 | % This hairy bit of code is just to get "and" between the last 2
22 | % authors. See below if you don't need that
23 | $if(by-author/allbutlast)$
24 | $for(by-author/allbutlast)$
25 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
26 | $if(by-author.email)$%
27 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
28 | {\textsuperscript{*}}%
29 | $endif$%
30 | $sep$,
31 | $endfor$
32 | $for(by-author/last)$%
33 | { and \large{$by-author.name.literal$}}%
34 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
35 | $endfor$%
36 | $if(by-author.email)$%
37 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
38 | {\textsuperscript{*}}%
39 | $endif$%
40 | $endfor$
41 | $else$
42 | $for(by-author/last)$%
43 | {\large{$by-author.name.literal$}}%
44 | $for(by-author.affiliations)$%
45 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
46 | $if(by-author.email)$%
47 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
48 | {\textsuperscript{,*}}%
49 | $endif$%
50 | $endfor$
51 | $endif$
52 |
53 | % This is how to do it if you don't need the "and"
54 | $if(false)$
55 | $for(by-author)$
56 | {$by-author.name.literal$}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}$endfor$$if(by-author.email)$,{\textsuperscript{*}}$endif$$sep$,
57 | $endfor$
58 | $endif$
59 |
60 | %%%%%% Affiliations
61 | \vspace{2\baselineskip}
62 |
63 | \hangindent=1em
64 | \hangafter=1
65 | $for(by-affiliation)$%
66 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
67 | $if(by-affiliation.department)$%
68 | $if(by-affiliation.name)$, $endif$%
69 | {$it.department$}%
70 | $endif$%
71 | $if(by-affiliation.address)$%
72 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
73 | {$it.address$}%
74 | $endif$%
75 | $sep$\par\hangindent=1em\hangafter=1%
76 | $endfor$
77 |
78 | %%%%%% Correspondence
79 | \vspace{1\baselineskip}
80 |
81 | $for(by-author)$
82 | $if(by-author.email)$
83 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
84 | $endif$
85 | $endfor$
86 |
87 | %use \vfill instead to get the space to fill flexibly
88 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
89 |
90 | \vfill
91 |
92 | %%%%%% Cover image
93 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
94 |
95 | % Whitespace between the title block and the tagline
96 | \vspace{1\baselineskip}
97 |
98 | %%%%%% Tagline at bottom
99 | University Technical Series\newline
100 | Open Source Publication for All\newline
101 | Amtmandens Allé 15\newline
102 | 6950 Rindum Ringkøbing-Skjern\newline
103 | DENMARK\newline
104 | December 2025
105 |
106 | \end{minipage}
107 | $if(titlepage-geometry)$
108 | \restoregeometry
109 | $endif$
110 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_classic-lined-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_classic-lined-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_classic-lined-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_classic-lined-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Classic-Lined Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | \centering % Centre everything on the title page
20 |
21 | %------------------------------------------------
22 | % Top rules
23 | %------------------------------------------------
24 |
25 | \rule{\textwidth}{1pt} % Thick horizontal rule
26 |
27 | \vspace{2pt}\vspace{-\baselineskip} % Whitespace between rules
28 |
29 | \rule{\textwidth}{0.4pt} % Thin horizontal rule
30 |
31 | \vspace{0.1\textheight} % Whitespace between the top rules and title
32 |
33 | %------------------------------------------------
34 | % Title
35 | %------------------------------------------------
36 |
37 | \textcolor{red}{ % Red font color
38 | {\Huge THE BIG BOOK}\\[0.5\baselineskip] % Title line 1
39 | {\Large OF}\\[0.5\baselineskip] % Title line 2
40 | {\Huge \LaTeX~Templates} % Title line 3
41 | }
42 |
43 | \vspace{0.025\textheight} % Whitespace between the title and short horizontal rule
44 |
45 | \rule{0.3\textwidth}{0.4pt} % Short horizontal rule under the title
46 |
47 | \vspace{0.1\textheight} % Whitespace between the thin horizontal rule and the author name
48 |
49 | %------------------------------------------------
50 | % Author
51 | %------------------------------------------------
52 |
53 | {\Large \textsc{gordon freeman}} % Author name
54 |
55 | \vfill % Whitespace between the author name and publisher
56 |
57 | %------------------------------------------------
58 | % Publisher
59 | %------------------------------------------------
60 |
61 | \includegraphics[width=0.2\textwidth]{logo.png}\\[1cm]
62 |
63 | {\large\textsc{the publisher}} % Publisher
64 |
65 | \vspace{0.1\textheight} % Whitespace under the publisher text
66 |
67 | %------------------------------------------------
68 | % Bottom rules
69 | %------------------------------------------------
70 |
71 | \rule{\textwidth}{0.4pt} % Thin horizontal rule
72 |
73 | \vspace{2pt}\vspace{-\baselineskip} % Whitespace between rules
74 |
75 | \rule{\textwidth}{1pt} % Thick horizontal rule
76 |
77 |
78 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_extension.yml:
--------------------------------------------------------------------------------
1 | title: titlepage
2 | author: Eli Holmes, Mickaël Canouil
3 | version: 0.2.1
4 | contributes:
5 | format:
6 | pdf:
7 | filters:
8 | - theme.lua
9 | template-partials:
10 | - "_academic-static_before-body.tex"
11 | - "_academic-static_titlepage.tex"
12 | - "_bg-image_before-body.tex"
13 | - "_bg-image_titlepage.tex"
14 | - "_classic-lined-static_before-body.tex"
15 | - "_classic-lined-static_titlepage.tex"
16 | - "_great-wave_before-body.tex"
17 | - "_great-wave_cover.tex"
18 | - "_great-wave_titlepage.tex"
19 | - "_multi-purpose-static_before-body.tex"
20 | - "_multi-purpose-static_titlepage.tex"
21 | - "_multi-purpose_before-body.tex"
22 | - "_multi-purpose_titlepage.tex"
23 | - "_thesis-static_before-body.tex"
24 | - "_thesis-static_titlepage.tex"
25 | - "_vline_before-body.tex"
26 | - "_vline_titlepage.tex"
27 | - "_vline-static_before-body.tex"
28 | - "_vline-static_titlepage.tex"
29 | - "before-body.tex"
30 | - "pandoc.tex"
31 | format-resources:
32 | - "images/TheGreatWaveoffKanagawa.jpeg"
33 | - "images/corner-bg.png"
34 | - "images/logo.png"
35 | - "images/nmfs-opensci-logo.png"
36 | - "images/ringed-seal.png"
37 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_great-wave_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_great-wave_cover.tex()$
5 | % for some reason it insists on putting a black page
6 | % between cover and title if I have this above \begin{titlepage}
7 | $_great-wave_titlepage.tex()$
8 | \end{titlepage}
9 | \setcounter{page}{1}
10 | \end{frontmatter}
11 | $else$
12 | \begin{titlepage}
13 | $_great-wave_cover.tex()$
14 | $_great-wave_titlepage.tex()$
15 | \end{titlepage}
16 | $endif$
17 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_great-wave_cover.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 | % This template is based on a post by Arun Debray to tex.stackoverflow
5 | % https://tex.stackexchange.com/posts/554962/revisions
6 |
7 | \newgeometry{left=1in, right=1in, top=2in, bottom=0in}
8 | \begin{minipage}[b][\textheight][s]{\textwidth}
9 |
10 | % Change title fonts here
11 | \DeclareFixedFont{\titlefont}{T1}{ppl}{b}{}{0.6in}
12 | \DeclareFixedFont{\subtitlefont}{T1}{ppl}{b}{it}{0.2in}
13 |
14 | % Page color
15 | \definecolor{pgcolor}{HTML}{$title-page-color$}
16 | \pagecolor{pgcolor}\afterpage{\nopagecolor}
17 |
18 | \thispagestyle{empty}
19 | \begin{flushright}
20 | \titlefont $title$\\
21 | \subtitlefont $subtitle$
22 | \end{flushright}
23 | \vfill
24 | \begin{center}
25 | \begin{tikzpicture}
26 | \node[scope fading=north, inner sep=0pt, outer sep=0pt]{
27 | \makebox[\textwidth]{\includegraphics[width=\paperwidth]{$title-bg-image$}}
28 | };
29 | \end{tikzpicture}
30 | \end{center}
31 |
32 | \end{minipage}%
33 | \clearpage
34 | \restoregeometry
35 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_great-wave_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | \raggedleft % left align the title page
6 | \thispagestyle{empty}
7 | \rule{1pt}{\textheight} % Vertical line
8 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
9 | % Adjust num before \textwidth to move the block left or right
10 | \begin{minipage}[b][\textheight][s]{0.85\textwidth}
11 |
12 | \raggedright
13 | % Title and subtitle
14 | {\huge\bfseries\nohyphens{$title$}}\\[1.25\baselineskip]
15 | $if(subtitle)${\large\textit{$subtitle$}}\\[4\baselineskip]$endif$
16 |
17 | % Abstract
18 | $if(abstract)$%
19 | \begin{flushright}%
20 | {{$abstract$}}\\[4\baselineskip]%
21 | \end{flushright}%
22 | $endif$
23 |
24 | % Authors
25 | % This hairy bit of code is just to get "and" between the last 2
26 | % authors. See below if you don't need that
27 | $if(by-author/allbutlast)$
28 | $for(by-author/allbutlast)$
29 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
30 | $if(by-author.email)$%
31 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
32 | {\textsuperscript{*}}%
33 | $endif$%
34 | $sep$,
35 | $endfor$
36 | $for(by-author/last)$%
37 | { and \large{$by-author.name.literal$}}%
38 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
39 | $endfor$%
40 | $if(by-author.email)$%
41 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
42 | {\textsuperscript{*}}%
43 | $endif$%
44 | $endfor$
45 | $else$
46 | $for(by-author/last)$%
47 | {\large{$by-author.name.literal$}}%
48 | $for(by-author.affiliations)$%
49 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
50 | $if(by-author.email)$%
51 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
52 | {\textsuperscript{,*}}%
53 | $endif$%
54 | $endfor$
55 | $endif$
56 |
57 | % This is how to do it if you don't need the "and"
58 | $if(false)$%
59 | $for(by-author)$%
60 | {$by-author.name.literal$}%
61 | $for(by-author.affiliations)$%
62 | {\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}%
63 | $endfor$%
64 | $if(by-author.email)$,{\textsuperscript{*}}%
65 | $endif$%
66 | $sep$, %
67 | $endfor$%
68 | $endif$
69 |
70 | %%%%%% Affiliations
71 | \vspace{2\baselineskip}
72 |
73 | \hangindent=1em
74 | \hangafter=1
75 | $for(by-affiliation)$%
76 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
77 | $if(by-affiliation.department)$%
78 | $if(by-affiliation.name)$, $endif$%
79 | {$it.department$}%
80 | $endif$%
81 | $if(by-affiliation.address)$%
82 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
83 | {$it.address$}%
84 | $endif$%
85 | $sep$\par\hangindent=1em\hangafter=1%
86 | $endfor$
87 |
88 | %%%%%% Correspondence
89 | \vspace{1\baselineskip}
90 |
91 | $for(by-author)$
92 | $if(by-author.email)$
93 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
94 | $endif$
95 | $endfor$
96 |
97 | %use \vfill instead to get the space to fill flexibly
98 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
99 |
100 | \vfill
101 |
102 | %%%%%% Cover image
103 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
104 |
105 | % Whitespace between the title block and the tagline
106 | \vspace{0.1\textheight}
107 |
108 | %%%%%% Tagline at bottom
109 | {\noindent https://nmfs-opensci.github.io/}\\[\baselineskip]
110 | \end{minipage}
111 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_multi-purpose-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_multi-purpose-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_multi-purpose-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_multi-purpose-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Multi-Purpose Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | %------------------------------------------------
20 | % title box
21 | %------------------------------------------------
22 |
23 | \colorbox{cyan}{
24 | \parbox[t]{0.93\textwidth}{ % Outer full width box
25 | \parbox[t]{0.91\textwidth}{ % Inner box for inner right text margin
26 | \raggedleft % Right align the text
27 | \fontsize{50pt}{80pt}\selectfont % Title font size, the first argument is the font size and the second is the line spacing, adjust depending on title length
28 | \vspace{0.7cm} % Space between the start of the title and the top of the grey box
29 |
30 | A Title Page\\
31 | Template With\\
32 | Many Uses\\
33 |
34 | \vspace{0.7cm} % Space between the end of the title and the bottom of the grey box
35 | }
36 | }
37 | }
38 |
39 | \vfill % Space between the title box and author information
40 |
41 | %------------------------------------------------
42 | % Author name and information
43 | %------------------------------------------------
44 |
45 | \parbox[t]{0.93\textwidth}{ % Box to inset this section slightly
46 | \raggedleft % Right align the text
47 | \large % Increase the font size
48 | {\Large B.J. Blazkowicz}\\[4pt] % Extra space after name
49 | Department Name\\
50 | Institution Name\\[4pt] % Extra space before URL
51 | \texttt{LaTeXTemplates.com}\\
52 |
53 | \hfill\rule{0.2\linewidth}{1pt}% Horizontal line, first argument width, second thickness
54 | }
55 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_multi-purpose_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_multi-purpose_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_multi-purpose_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_multi-purpose_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Multi-Purpose Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | %------------------------------------------------
20 | % title box
21 | %------------------------------------------------
22 |
23 | \colorbox{cyan}{
24 | \parbox[t]{0.93\textwidth}{ % Outer full width box
25 | \parbox[t]{0.91\textwidth}{ % Inner box for inner right text margin
26 | \raggedright % Right align the text
27 | \fontsize{50pt}{80pt}\selectfont % Title font size, the first argument is the font size and the second is the line spacing, adjust depending on title length
28 | \vspace{0.7cm} % Space between the start of the title and the top of the grey box
29 |
30 | $title$\\
31 | \fontsize{25pt}{40pt}\selectfont
32 | $subtitle$\\
33 |
34 | \vspace{0.7cm} % Space between the end of the title and the bottom of the grey box
35 | }
36 | }
37 | }
38 |
39 | \vfill % Space between the title box and author information
40 |
41 | %------------------------------------------------
42 | % Author name and information
43 | %------------------------------------------------
44 |
45 | \parbox[t]{0.93\textwidth}{ % Box to inset this section slightly
46 | \raggedleft % Right align the text
47 | \large % Increase the font size
48 | $for(by-author)$%
49 | {\Large $by-author.name.literal$}%
50 | $sep$\\ %
51 | $endfor$%
52 |
53 | \hfill\rule{0.2\linewidth}{1pt}% Horizontal line, first argument width, second thickness
54 | }
55 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_thesis-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_thesis-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_thesis-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_thesis-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Thesis Title Page
3 | % LaTeX Template
4 | %
5 | % This template was downloaded from:
6 | % https://www.overleaf.com/learn/latex/How_to_Write_a_Thesis_in_LaTeX_(Part_5)%3A_Customising_Your_Title_Page_and_Abstract
7 | %
8 | % Original author:
9 | % Josh Cassidy (Aug 2013)
10 | %
11 | %
12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13 |
14 |
15 | \begin{center}
16 | \vspace*{1cm}
17 |
18 | \Huge
19 | \textbf{Thesis Title}
20 |
21 | \vspace{0.5cm}
22 | \LARGE
23 | Thesis Subtitle
24 |
25 | \vspace{1.5cm}
26 |
27 | \textbf{Author Name}
28 |
29 | \vfill
30 |
31 | A thesis presented for the degree of\\
32 | Doctor of Philosophy
33 |
34 | \vspace{0.8cm}
35 |
36 | \includegraphics[width=0.4\textwidth]{logo.png}
37 |
38 | \Large
39 | Department Name\\
40 | University Name\\
41 | Country\\
42 | Date
43 |
44 | \end{center}
45 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_vline-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_vline-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_vline-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_vline-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Vertical Line Title Page
3 | % LaTeX Template
4 | % Version 2.0 (22/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % Peter Wilson (herries.press@earthlink.net) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16 |
17 |
18 | \raggedleft % Right align the title page
19 |
20 | \rule{1pt}{\textheight} % Vertical line
21 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
22 | \parbox[b]{0.75\textwidth}{ % Paragraph box for holding the title page text, adjust the width to move the title page left or right on the page
23 |
24 | {\Huge\bfseries A Collection of \\[0.5\baselineskip] \LaTeX ~Templates}\\[2\baselineskip] % Title
25 | {\large\textit{A predictable subtitle}}\\[4\baselineskip] % Subtitle or further description
26 | {\Large\textsc{gordon freeman}} % Author name, lower case for consistent small caps
27 |
28 | \vspace{0.5\textheight} % Whitespace between the title block and the publisher
29 |
30 | {\noindent The Publisher }\\[\baselineskip] % Publisher and logogo
31 | }
32 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_vline_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_vline_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_vline_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/_vline_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | \raggedleft % left align the title page
6 | \rule{1pt}{\textheight} % Vertical line
7 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
8 | % Adjust num before \textwidth to move the block left or right
9 | \begin{minipage}[b][\textheight][s]{0.85\textwidth}
10 |
11 | \raggedright
12 | % Title and subtitle
13 | {\large\bfseries\nohyphens{$title$}}\\[2\baselineskip]
14 | $if(subtitle)${\large\textit{$subtitle$}}\\[4\baselineskip]$endif$
15 |
16 | % Authors
17 | % This hairy bit of code is just to get "and" between the last 2
18 | % authors. See below if you don't need that
19 | $if(by-author/allbutlast)$
20 | $for(by-author/allbutlast)$
21 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
22 | $if(by-author.email)$%
23 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
24 | {\textsuperscript{*}}%
25 | $endif$%
26 | $sep$,
27 | $endfor$
28 | $for(by-author/last)$%
29 | { and \large{$by-author.name.literal$}}%
30 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
31 | $endfor$%
32 | $if(by-author.email)$%
33 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
34 | {\textsuperscript{*}}%
35 | $endif$%
36 | $endfor$
37 | $else$
38 | $for(by-author/last)$%
39 | {\large{$by-author.name.literal$}}%
40 | $for(by-author.affiliations)$%
41 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
42 | $if(by-author.email)$%
43 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
44 | {\textsuperscript{,*}}%
45 | $endif$%
46 | $endfor$
47 | $endif$
48 |
49 | % This is how to do it if you don't need the "and"
50 | $if(false)$%
51 | $for(by-author)$%
52 | {$by-author.name.literal$}%
53 | $for(by-author.affiliations)$%
54 | {\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}%
55 | $endfor$%
56 | $if(by-author.email)$,{\textsuperscript{*}}%
57 | $endif$%
58 | $sep$, %
59 | $endfor$%
60 | $endif$
61 |
62 | %%%%%% Affiliations
63 | \vspace{2\baselineskip}
64 |
65 | \hangindent=1em
66 | \hangafter=1
67 | $for(by-affiliation)$%
68 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
69 | $if(by-affiliation.department)$%
70 | $if(by-affiliation.name)$, $endif$%
71 | {$it.department$}%
72 | $endif$%
73 | $if(by-affiliation.address)$%
74 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
75 | {$it.address$}%
76 | $endif$%
77 | $sep$\par\hangindent=1em\hangafter=1%
78 | $endfor$
79 |
80 | %%%%%% Correspondence
81 | \vspace{1\baselineskip}
82 |
83 | $for(by-author)$
84 | $if(by-author.email)$
85 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
86 | $endif$
87 | $endfor$
88 |
89 | %use \vfill instead to get the space to fill flexibly
90 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
91 |
92 | \vfill
93 |
94 | %%%%%% Cover image
95 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
96 |
97 | % Whitespace between the title block and the tagline
98 | \vspace{0.1\textheight}
99 |
100 | %%%%%% Tagline at bottom
101 | % {\noindent The Publisher~~\plogo}\\[\baselineskip] % Publisher and logo
102 | {\noindent The Publisher}\\[\baselineskip] % Publisher and logo
103 | \end{minipage}
104 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/before-body.tex:
--------------------------------------------------------------------------------
1 | $if(academic-static)$
2 | $_academic-static_before-body.tex()$
3 | $endif$
4 |
5 | $if(bg-image)$
6 | $_bg-image_before-body.tex()$
7 | $endif$
8 |
9 | $if(classic-lined-static)$
10 | $_classic-lined-static_before-body.tex()$
11 | $endif$
12 |
13 | $if(great-wave)$
14 | $_great-wave_before-body.tex()$
15 | $endif$
16 |
17 | $if(multi-purpose-static)$
18 | $_multi-purpose-static_before-body.tex()$
19 | $endif$
20 |
21 | $if(multi-purpose)$
22 | $_multi-purpose_before-body.tex()$
23 | $endif$
24 |
25 | $if(thesis-static)$
26 | $_thesis-static_before-body.tex()$
27 | $endif$
28 |
29 | $if(vline)$
30 | $_vline_before-body.tex()$
31 | $endif$
32 |
33 | $if(vline-static)$
34 | $_vline-static_before-body.tex()$
35 | $endif$
36 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/images/TheGreatWaveoffKanagawa.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/nmfs-opensci/titlepage/images/TheGreatWaveoffKanagawa.jpeg
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/images/corner-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/nmfs-opensci/titlepage/images/corner-bg.png
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/nmfs-opensci/titlepage/images/logo.png
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/images/nmfs-opensci-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/nmfs-opensci/titlepage/images/nmfs-opensci-logo.png
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/images/ringed-seal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/nmfs-opensci/titlepage/images/ringed-seal.png
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/pandoc.tex:
--------------------------------------------------------------------------------
1 | $if(highlighting-macros)$
2 | $highlighting-macros$
3 | $endif$
4 |
5 | $tightlist.tex()$
6 | $tables.tex()$
7 | $graphics.tex()$
8 | $citations.tex()$
9 |
10 | $for(header-includes)$
11 | $header-includes$
12 | $endfor$
13 |
14 | $if(bg-image)$
15 | \usepackage{hyphenat}
16 | \usepackage{graphicx}
17 | \usepackage{wallpaper} % for the background image on title page
18 | \usepackage{geometry}
19 | $endif$
20 |
21 | $if(great-wave)$
22 | \usepackage{hyphenat}
23 | \usepackage{graphicx}
24 | \usepackage{geometry}
25 | \usepackage{afterpage}
26 | \usepackage{tikz}
27 | \usetikzlibrary{fadings}
28 | \usepackage[pagecolor=none]{pagecolor}
29 | $endif$
30 |
31 | $if(vline)$
32 | \usepackage{hyphenat}
33 | \usepackage{graphicx}
34 | $endif$
35 |
--------------------------------------------------------------------------------
/_extensions/nmfs-opensci/titlepage/theme.lua:
--------------------------------------------------------------------------------
1 | local function isEmpty(s)
2 | return s == nil or s == ''
3 | end
4 |
5 | function Meta(m)
6 | local theme_table = {
7 | ["academic-static"] = function (m)
8 | m['academic-static'] = true
9 | return m
10 | end,
11 | ["bg-image"] = function (m)
12 | m['bg-image'] = true
13 | if isEmpty(m['title-bg-image']) then
14 | m['title-bg-image'] = "corner-bg.png"
15 | end
16 | if isEmpty(m['title-bg-location']) then
17 | m['title-bg-location'] = "UL"
18 | end
19 | if isEmpty(m['title-bg-size']) then
20 | m['title-bg-size'] = 0.5
21 | end
22 | if isEmpty(m['titlepage-geometry']) then
23 | m['titlepage-geometry'] = pandoc.List({"top=3in", "bottom=1in", "right=1in", "left=1in"})
24 | end
25 | return m
26 | end,
27 | ["classic-lined-static"] = function (m)
28 | m['classic-lined-static'] = true
29 | if isEmpty(m['logo']) then
30 | m['logo'] = "logo.png"
31 | end
32 | return m
33 | end,
34 | ["great-wave"] = function (m)
35 | m['great-wave'] = true
36 | if isEmpty(m['title-bg-image']) then
37 | m['title-bg-image'] = "TheGreatWaveoffKanagawa.jpeg"
38 | end
39 | if isEmpty(m['title-page-color']) then
40 | m['title-page-color'] = "F6D5A8"
41 | end
42 | return m
43 | end,
44 | ["multi-purpose"] = function (m)
45 | m['multi-purpose'] = true
46 | if isEmpty(m['logo']) then
47 | m['logo'] = "logo.png"
48 | end
49 | return m
50 | end,
51 | ["multi-purpose-static"] = function (m)
52 | m['multi-purpose-static'] = true
53 | if isEmpty(m['logo']) then
54 | m['logo'] = "logo.png"
55 | end
56 | return m
57 | end,
58 | ["thesis-static"] = function (m)
59 | m['thesis-static'] = true
60 | if isEmpty(m['logo']) then
61 | m['logo'] = "logo.png"
62 | end
63 | return m
64 | end,
65 | ["vline"] = function (m)
66 | m['vline'] = true
67 | if isEmpty(m['logo']) then
68 | m['logo'] = "logo.png"
69 | end
70 | return m
71 | end,
72 | ["vline-static"] = function (m)
73 | m['vline-static'] = true
74 | if isEmpty(m['logo']) then
75 | m['logo'] = "logo.png"
76 | end
77 | return m
78 | end
79 | }
80 |
81 | if not m.titlepage then
82 | m['titlepage'] = "vline"
83 | end
84 | choice = pandoc.utils.stringify(m.titlepage)
85 | if isEmpty(choice) then
86 | return theme_table["vline"](m)
87 | else
88 | return theme_table[choice](m)
89 | end
90 | end
91 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/_extension.yml:
--------------------------------------------------------------------------------
1 | title: Journal of Statistical Software Format
2 | author: Charles Teague
3 | version: 0.9.2
4 | contributes:
5 | format:
6 | common:
7 | filters:
8 | - jss.lua
9 | shortcodes:
10 | - quarto-ext/fancy-text
11 | knitr:
12 | opts_chunk:
13 | R.options:
14 | prompt: "R> "
15 | continue: "+"
16 | pdf:
17 | documentclass: jss
18 | shift-heading-level-by: -1
19 | tbl-cap-location: bottom
20 | highlight-style: none
21 | include-in-header:
22 | text: |
23 | \usepackage{orcidlink,thumbpdf,lmodern}
24 |
25 | \newcommand{\class}[1]{`\code{#1}'}
26 | \newcommand{\fct}[1]{\code{#1()}}
27 | fig-width: 4.9 # 6.125" * 0.8, as in template
28 | fig-height: 3.675 # 4.9 * 3:4
29 | template-partials:
30 | - "partials/title.tex"
31 | - "partials/before-body.tex"
32 | - "partials/_print-address.tex"
33 | - "partials/_print-author.tex"
34 | cite-method: natbib
35 | biblio-config: false
36 | format-resources:
37 | - jss.bst
38 | - jss.cls
39 | - jsslogo.jpg
40 | html:
41 | number-sections: true
42 | toc: true
43 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/_extensions/quarto-ext/fancy-text/_extension.yml:
--------------------------------------------------------------------------------
1 | title: Fancy Text
2 | author: "RStudio, PBC"
3 | version: 0.0.1
4 | contributes:
5 | shortcodes:
6 | - fancy-text.lua
7 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/_extensions/quarto-ext/fancy-text/fancy-text.lua:
--------------------------------------------------------------------------------
1 | -- shortcode that provides a nicely formatted 'LaTeX' string
2 | function latex()
3 | if quarto.doc.isFormat("pdf") then
4 | return pandoc.RawBlock('tex', '{\\LaTeX}')
5 | elseif quarto.doc.isFormat("html") then
6 | return pandoc.Math('InlineMath', "\\LaTeX")
7 | else
8 | return pandoc.Span('LaTeX')
9 | end
10 | end
11 |
12 | -- shortcode that provides a nicely formatted 'bibtex' string
13 | function bibtex()
14 | if quarto.doc.isFormat("pdf") then
15 | return pandoc.RawBlock('tex', '\\textsc{Bib}{\\TeX}')
16 | elseif quarto.doc.isFormat("html") then
17 | return pandoc.RawBlock('html', 'BibTEX')
18 | else
19 | return pandoc.Span('BibTeX')
20 | end
21 | end
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/jss.lua:
--------------------------------------------------------------------------------
1 | -- these classes, when placed on a span will be replaced
2 | -- with an identical LaTeX command for PDF output
3 | local texMappings = {
4 | "proglang",
5 | "pkg",
6 | "fct",
7 | "class"
8 | }
9 |
10 | -- layout and style
11 | local kTypes = pandoc.List({'article', 'codesnippet', 'bookreview', 'softwarereview'})
12 | local kSuppress = pandoc.List({'title', 'headings', 'footer'})
13 |
14 | local function setClassOption(meta, option)
15 | if meta['classoption'] == nil then
16 | meta['classoption'] = pandoc.List({})
17 | end
18 |
19 | meta['classoption']:insert({ pandoc.Str(option)})
20 | end
21 |
22 | local function printList(list)
23 | local result = ''
24 | local sep = ''
25 | for i,v in ipairs(list) do
26 | result = result .. sep .. v
27 | sep = ', '
28 | end
29 | return result
30 | end
31 |
32 | return {
33 | {
34 | Span = function(el)
35 | -- read the span contents and emit correct output
36 | local contentStr = pandoc.utils.stringify(el.content)
37 |
38 | for i, mapping in ipairs(texMappings) do
39 | if #el.attr.classes == 1 and el.attr.classes:includes(mapping) then
40 | if quarto.doc.isFormat("pdf") then
41 | return pandoc.RawInline("tex", "\\" .. mapping .. "{" .. contentStr .. "}" )
42 | else
43 | return pandoc.Code(contentStr);
44 | end
45 | end
46 | end
47 | end,
48 | Meta = function(meta)
49 | if quarto.doc.isFormat("pdf") then
50 | -- Authors output in the template uses a special separator
51 | -- to join authors (including wrapping to a new line)
52 | -- this computes the proper prefix and places it in the author metadata
53 | -- for use by the template
54 | local byAuthor = meta['by-author']
55 | if byAuthor ~= nil then
56 | for i, author in ipairs(byAuthor) do
57 | local prefix = {pandoc.RawInline("tex ","")};
58 | if i > 1 and i % 2 == 1 then
59 | prefix = {pandoc.RawInline("tex", "\\AND")}
60 | elseif i > 1 then
61 | prefix = {pandoc.RawInline("tex", "\\And")}
62 | end
63 | author['metadata']['latex-prefix'] = prefix
64 | end
65 | end
66 |
67 | -- read the journal settings
68 | local journal = meta['journal']
69 | local type = nil
70 | local shortnames = nil
71 | local suppress = nil
72 | local jss = nil
73 |
74 | if journal ~= nil then
75 | type = journal['type']
76 | shortnames = journal['cite-shortnames']
77 | suppress = journal['suppress']
78 | jss = journal['include-jss-layout']
79 | end
80 |
81 | -- process the type
82 | if type ~= nil then
83 | type = pandoc.utils.stringify(type)
84 | if kTypes:includes(type) then
85 | setClassOption(meta, type)
86 | else
87 | error("Unknown type " .. type .. "\nPlease use one of " .. printList(kTypes))
88 | end
89 | else
90 | setClassOption(meta, 'article')
91 | end
92 |
93 | -- process the citation variant
94 | if shortnames == true then
95 | setClassOption(meta, 'shortnames')
96 | end
97 |
98 | -- process the suppressed parts
99 | if suppress ~= nil then
100 | for i,v in ipairs(suppress) do
101 | s = pandoc.utils.stringify(v)
102 | if kSuppress:includes(s) then
103 | setClassOption(meta, 'no' .. s)
104 | else
105 | error("Unknown suppressed part " .. s .. "\nPlease use one of " .. printList(kSuppress))
106 | end
107 | end
108 | end
109 |
110 | -- process switch for JSS layout
111 | if jss == false then
112 | setClassOption(meta, 'nojss')
113 | end
114 | end
115 |
116 | return meta
117 | end
118 | }
119 | }
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/jsslogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/_extensions/quarto-journals/jss/jsslogo.jpg
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/partials/_print-address.tex:
--------------------------------------------------------------------------------
1 | $it.name.literal$\\$if(it.affiliations/first)$$for(it.affiliations/first)$$if(it.department)$
2 |
3 | $it.department$\\$endif$$if(it.address)$
4 |
5 | $it.address$\\$endif$$if(it.city)$
6 |
7 | $it.city$$endif$$if(it.state)$ $it.state$$endif$$if(it.country)$ $it.country$$endif$$if(it.city)$\\$elseif(it.state)$\\$elseif(it.country)$\\$endif$$endfor$$endif$$if(it.phone)$
8 |
9 | Telephone: $it.phone$\\$endif$$if(it.fax)$
10 |
11 | Fax: $it.fax$\\$endif$$if(it.email)$
12 |
13 | E-mail: \email{$it.email$}\\$endif$$if(it.url)$
14 |
15 | URL: \url{$it.url$}\\$endif$
16 |
17 | \\~
18 |
19 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/partials/_print-author.tex:
--------------------------------------------------------------------------------
1 | $if(it.metadata.latex-prefix)$ $it.metadata.latex-prefix$ $endif$$it.name.literal$$if(it.orcid)$~\orcidlink{$it.orcid$}$endif$$for(it.affiliations/first)$\\$it.name$$endfor$
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/partials/before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \frontmatter
3 | $endif$
4 | $if(title)$
5 | \maketitle
6 | $endif$
7 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/jss/partials/title.tex:
--------------------------------------------------------------------------------
1 | %% -- Article metainformation (author, title, ...) -----------------------------
2 |
3 | %% Author information
4 | \author{$for(by-author)$$_print-author.tex()$$endfor$}
5 | \Plainauthor{$for(by-author)$$it.name.literal$$sep$, $endfor$} %% comma-separated
6 |
7 | \title{$title$}
8 | $if(title-plain)$
9 | \Plaintitle{$title-plain$} %% without formatting
10 | $endif$
11 | $if(short-title)$
12 | \Shorttitle{$short-title$} %% a short title (if necessary)
13 | $endif$
14 |
15 | %% an abstract and keywords
16 | $if(abstract)$
17 | \Abstract{$abstract$}
18 | $endif$
19 |
20 | %% at least one keyword must be supplied
21 | $if(keywords-formatted)$
22 | \Keywords{$for(keywords-formatted)$$it$$sep$, $endfor$}
23 | $endif$
24 | $if(keywords)$
25 | \Plainkeywords{$for(keywords)$$it$$sep$, $endfor$}
26 | $endif$
27 |
28 | %% publication information
29 | %% NOTE: Typically, this can be left commented and will be filled out by the technical editor
30 | %% \Volume{50}
31 | %% \Issue{9}
32 | %% \Month{June}
33 | %% \Year{2012}
34 | %% \Submitdate{2012-06-04}
35 | %% \Acceptdate{2012-06-04}
36 | %% \setcounter{page}{1}
37 | %% \Pages{1--xx}
38 |
39 | %% The address of (at least) one author should be given
40 | %% in the following format:
41 | $if(by-author)$
42 | \Address{
43 | $for(by-author)$$_print-address.tex()$$endfor$
44 | }
45 | $endif$
46 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/_extension.yml:
--------------------------------------------------------------------------------
1 | title: PLOS
2 | author: Christophe Dervieux
3 | version: 0.0.1
4 | contributes:
5 | formats:
6 | common:
7 | # define below YAML configuration common to all formats
8 | execute:
9 | echo: false
10 | crossref:
11 | fig-prefix: Fig
12 | eq-prefix: Eq
13 | callout-appearance: simple
14 | callout-icon: false
15 | # https://www.zotero.org/styles/?q=plos
16 | csl: https://www.zotero.org/styles/plos-one
17 | filters:
18 | - filter.lua
19 | pdf:
20 | keep-tex: true
21 | block-headings: false
22 | documentclass: article
23 | papersize: letter
24 | fontsize: 10pt
25 | has-frontmatter: false
26 | toc: false
27 | lof: false
28 | lot: false
29 | colorlinks: false
30 | geometry:
31 | - top=0.85in
32 | - left=2.75in
33 | - footskip=0.75in
34 | biblio-style: plos2015
35 | include-in-header: _preamble.tex
36 | template-partials:
37 | # Add here the partials your format is using
38 | - "partials/doc-class.tex"
39 | - "partials/before-body.tex"
40 | - "partials/_authors.tex"
41 | - "partials/_affiliations.tex"
42 | - "partials/title.tex"
43 | - "partials/before-bib.tex"
44 | - "partials/biblio.tex"
45 | # Using some package that may require pdflatex
46 | pdf-engine: pdflatex
47 | # biblatex is not supported
48 | cite-method: natbib
49 | # number is required for plos2015.bst style
50 | # and square,comma for correct guideline style
51 | # https://tex.stackexchange.com/questions/376662/how-do-i-create-plosone-bib-references
52 | natbiboptions: "numbers,square,comma"
53 | # tcolorbox is not working ok with breakable for code blocks so deactivate this Quarto feature
54 | # https://github.com/quarto-journals/article-format-template/issues/2
55 | code-block-border-left: false
56 | format-resources:
57 | - plos2015.bst
58 | html:
59 | # define default configuration for the html version of your format
60 | number-sections: true
61 | toc: true
62 | theme: custom.scss
63 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/_preamble.tex:
--------------------------------------------------------------------------------
1 | % Use adjustwidth environment to exceed column width (see example table in text)
2 | \usepackage{changepage}
3 |
4 | % marvosym package for additional characters
5 | \usepackage{marvosym}
6 |
7 | % cite package, to clean up citations in the main text. Do not remove.
8 | % Using natbib instead
9 | % \usepackage{cite}
10 |
11 | % Use nameref to cite supporting information files (see Supporting Information section for more info)
12 | \usepackage{nameref,hyperref}
13 |
14 | % line numbers
15 | \usepackage[right]{lineno}
16 |
17 | % ligatures disabled
18 | \usepackage{microtype}
19 | \DisableLigatures[f]{encoding = *, family = * }
20 |
21 | % create "+" rule type for thick vertical lines
22 | \newcolumntype{+}{!{\vrule width 2pt}}
23 |
24 | % create \thickcline for thick horizontal lines of variable length
25 | \newlength\savedwidth
26 | \newcommand\thickcline[1]{%
27 | \noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
28 | \cline{#1}%
29 | \noalign{\vskip\arrayrulewidth}%
30 | \noalign{\global\arrayrulewidth\savedwidth}%
31 | }
32 |
33 | % \thickhline command for thick horizontal lines that span the table
34 | \newcommand\thickhline{\noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
35 | \hline
36 | \noalign{\global\arrayrulewidth\savedwidth}}
37 |
38 | % Text layout
39 | \raggedright
40 | \setlength{\parindent}{0.5cm}
41 | \textwidth 5.25in
42 | \textheight 8.75in
43 |
44 | % Bold the 'Figure #' in the caption and separate it from the title/caption with a period
45 | % Captions will be left justified
46 | \usepackage[aboveskip=1pt,labelfont=bf,labelsep=period,justification=raggedright,singlelinecheck=off]{caption}
47 | \renewcommand{\figurename}{Fig}
48 |
49 | % Remove brackets from numbering in List of References
50 | \makeatletter
51 | \renewcommand{\@biblabel}[1]{\quad#1.}
52 | \makeatother
53 |
54 | % Header and Footer with logo
55 | \usepackage{lastpage,fancyhdr}
56 | \usepackage{epstopdf}
57 | %\pagestyle{myheadings}
58 | \pagestyle{fancy}
59 | \fancyhf{}
60 | %\setlength{\headheight}{27.023pt}
61 | %\lhead{\includegraphics[width=2.0in]{PLOS-submission.eps}}
62 | \rfoot{\thepage/\pageref{LastPage}}
63 | \renewcommand{\headrulewidth}{0pt}
64 | \renewcommand{\footrule}{\hrule height 2pt \vspace{2mm}}
65 | \fancyheadoffset[L]{2.25in}
66 | \fancyfootoffset[L]{2.25in}
67 | \lfoot{\today}
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/filter.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | -- these classes, when placed on a span will be replaced
4 | -- with an identical LaTeX command for PDF output
5 | local texMappings = {
6 | "nameref"
7 | }
8 |
9 | return {
10 | {
11 | Span = function(el)
12 | local contentStr = pandoc.utils.stringify(el.content)
13 | for i, mapping in ipairs(texMappings) do
14 | if #el.attr.classes == 1 and el.attr.classes:includes(mapping) then
15 | if quarto.doc.isFormat("pdf") then
16 | return pandoc.RawInline("tex", "\\" .. mapping .. "{" .. contentStr .. "}" )
17 | else
18 | el.content = pandoc.Str( conentStr)
19 | return el
20 | end
21 | end
22 | end
23 | end,
24 | Div = function(div)
25 | -- Special treatment for supplementary material
26 | if (div.classes:includes("supp")) then
27 | if quarto.doc.isFormat("pdf") then
28 | local headerNum = 0
29 | local header = pandoc.List()
30 | local labelId
31 | local paraNum = 0
32 | local para = pandoc.List()
33 | -- First Take element
34 | div.content:walk {
35 | Header = function(el)
36 | if (headerNum > 0) then
37 | error('Only one header can be set in supplementary section divs')
38 | end
39 | --[[
40 | el.level = 4
41 | headerNum = headerNum + 1
42 | header:insert(el)
43 | ]]
44 | el.content:insert(1, pandoc.RawInline('tex', '\\paragraph*{'))
45 | el.content:insert(pandoc.RawInline('tex', '}'))
46 | header:extend(el.content)
47 | labelId = el.identifier
48 | -- Remove header
49 | return {}
50 | end,
51 | Para = function(el)
52 | if (paraNum == 0) then
53 | -- first paragraph is title sentence
54 | if (el.content and el.content[1].t ~= "Strong") then
55 | el.content = pandoc.Inlines(pandoc.Strong(el.content))
56 | end
57 | el.content:insert(1, pandoc.RawInline('tex', '{'))
58 | el.content:insert(pandoc.RawInline('tex', '}'))
59 | elseif (paraNum == 1) then
60 | -- ok
61 | else
62 | error('Only two paragraph are allowed in supplementary section div')
63 | end
64 |
65 | para:insert(el)
66 | paraNum = paraNum + 1
67 | -- remove Para
68 | return {}
69 | end
70 | }
71 | -- Build the new paragraph content
72 | header:extend({pandoc.Str("\n"), pandoc.RawInline("tex", "\\label{"..labelId.."}"), pandoc.Str("\n")})
73 | para = pandoc.utils.blocks_to_inlines(para, {pandoc.Space()})
74 | header:extend(para)
75 | -- Return the new para in place of the Div
76 | return pandoc.Para(header)
77 | end
78 | end
79 | end,
80 | }
81 | }
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/_affiliations.tex:
--------------------------------------------------------------------------------
1 | \textbf{$it.number$} $if(it.name)$$it.name$, $endif$$if(it.department)$$it.department$, $endif$$if(it.address)$$it.address$, $endif$$if(it.city)$$it.city$, $endif$$if(it.postal-code)$$it.postal-code$, $endif$$if(it.region)$$it.region$, $endif$$if(it.country)$$it.country$, $endif$$if(it.url)$$it.url$, $endif$
2 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/_authors.tex:
--------------------------------------------------------------------------------
1 | $it.name.literal$\textsuperscript{$for(it.affiliations)$$it.number$$sep$,$endfor$$if(it.attributes.equal-contributor)$\Yinyang$endif$$if(it.attributes.corresponding)$*$endif$$if(it.attributes.deceased)$\dag$endif$$if(it.metadata.group)$\textpilcrow$endif$}
2 |
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/before-bib.tex:
--------------------------------------------------------------------------------
1 | $-- Placed after the content of the document, but before the bibliography.
2 | $-- %%%% TODO %%%%%
3 | $-- Use it if you need to insert content at this specific place of the main Pandoc's template. Otherwise, remove it.
4 | $-- %%%%%%%%%%%%%%%
5 |
6 | \nolinenumbers
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/before-body.tex:
--------------------------------------------------------------------------------
1 | $-- PLOS insert title and author within the main body
2 | $-- Use this template to insert the necessary pieces before any content provided in .qmd file
3 | \vspace*{0.2in}
4 |
5 | % Title must be 250 characters or less.
6 | \begin{flushleft}
7 | {\Large
8 | \textbf\newline{$title$} % Please use "sentence case" for title and headings (capitalize only the first word in a title (or heading), the first word in a subtitle (or subheading), and any proper nouns).
9 | }
10 | \newline
11 | \\
12 | % Insert author names, affiliations and corresponding author email (do not include titles, positions, or degrees).
13 | $by-author:_authors.tex()[, ]$
14 | \\
15 | \bigskip
16 | $by-affiliation:_affiliations.tex()[\\ ]$
17 | \bigskip
18 |
19 | % Insert additional author notes using the symbols described below. Insert symbol callouts after author names as necessary.
20 | %
21 | % Remove or comment out the author notes below if they aren't used.
22 | %
23 | % Primary Equal Contribution Note
24 | \Yinyang $if(author-notes.equal-contributor)$$author-notes.equal-contributor$$else$These authors contributed equally to this work.$endif$
25 |
26 | % Additional Equal Contribution Note
27 | % Also use this double-dagger symbol for special authorship notes, such as senior authorship.
28 | %\ddag These authors also contributed equally to this work.
29 |
30 | % Current address notes
31 | \textcurrency Current Address: Dept/Program/Center, Institution Name, City, State, Country % change symbol to "\textcurrency a" if more than one current address note
32 | % \textcurrency b Insert second current address
33 | % \textcurrency c Insert third current address
34 |
35 | % Deceased author note
36 | \dag $if(author-notes.deceased)$$author-notes.deceased$$else$Deceased$endif$
37 |
38 | % Group/Consortium Author Note
39 | \textpilcrow $if(author-notes.group)$$author-notes.group$$else$Membership list can be found in the Acknowledgments section.$endif$
40 |
41 | % Use the asterisk to denote corresponding authorship and provide email address in note below.
42 | $for(by-author)$
43 | $if(by-author.attributes.corresponding)$
44 | * $by-author.email$
45 | $endif$
46 | $endfor$
47 |
48 | \end{flushleft}
49 |
50 | $if(abstract)$
51 | \section*{Abstract}
52 | $abstract$
53 | $endif$
54 |
55 | $if(author-summary)$
56 | \section*{Author summary}
57 | $author-summary$
58 | $endif$
59 |
60 | \linenumbers
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/biblio.tex:
--------------------------------------------------------------------------------
1 | $-- Necessary content to creates the bibliography.
2 | $--
3 | $-- %%%% TODO %%%%%
4 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
5 | $-- %%%%%%%%%%%%%%%%
6 | $if(natbib)$
7 | $if(bibliography)$
8 | $if(biblio-title)$
9 | $if(has-chapters)$
10 | \renewcommand\bibname{$biblio-title$}
11 | $else$
12 | \renewcommand\refname{$biblio-title$}
13 | $endif$
14 | $endif$
15 | \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
16 | $endif$
17 | $endif$
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/doc-class.tex:
--------------------------------------------------------------------------------
1 | $-- Contains the document class declaration and options.
2 | $-- By default we provide the identical document class that Pandoc provides, implementing many features.
3 | $-- If provide this partial in your format, you will need to either implement support for the usaul document class options in addition to other one
4 | $-- or be aware that pandoc supported options (e.g. font-size, paper-size, classoption, etc…) will not be supported in your format.
5 | $--
6 | $-- %%%% TODO %%%%%
7 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
8 | $-- %%%%%%%%%%%%%%%%
9 |
10 |
11 | \PassOptionsToPackage{table}{xcolor}
12 |
13 | \documentclass[
14 | $if(fontsize)$
15 | $fontsize$,
16 | $endif$
17 | $if(papersize)$
18 | $papersize$paper,
19 | $endif$
20 | $if(beamer)$
21 | ignorenonframetext,
22 | $if(handout)$
23 | handout,
24 | $endif$
25 | $if(aspectratio)$
26 | aspectratio=$aspectratio$,
27 | $endif$
28 | $endif$
29 | $for(classoption)$
30 | $classoption$$sep$,
31 | $endfor$
32 | ]{$documentclass$}
--------------------------------------------------------------------------------
/_extensions/quarto-journals/plos/partials/title.tex:
--------------------------------------------------------------------------------
1 | $-- Provides configuration of document metadata for writing the title block.
2 | $-- Note that in addition to these templates and partials, Quarto will also make normalized authors and affiliations data available to the template,
3 | $-- making is easy to write custom title blocks against a standard schema.
4 | $--
5 | $-- %%%% TODO %%%%%
6 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
7 | $-- %%%%%%%%%%%%%%%%
8 |
9 | $-- PLOS does not add title outside of document body. We make this template empty
--------------------------------------------------------------------------------
/_publish.yml:
--------------------------------------------------------------------------------
1 | - source: quarto-reporting.qmd
2 | quarto-pub:
3 | - id: 9b20b51a-e0cd-4c71-b679-59b9b30eb7b8
4 | url: 'https://quartopub.com/sites/thomasmock/reports-presentations'
5 |
--------------------------------------------------------------------------------
/examples/.gitignore:
--------------------------------------------------------------------------------
1 | /.quarto/
2 |
--------------------------------------------------------------------------------
/examples/330px-BostonTerrier001.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/330px-BostonTerrier001.jpeg
--------------------------------------------------------------------------------
/examples/330px-Boston_Terrier_Eden_Forever.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/330px-Boston_Terrier_Eden_Forever.jpeg
--------------------------------------------------------------------------------
/examples/330px-Boston_Terrier_male.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/330px-Boston_Terrier_male.jpeg
--------------------------------------------------------------------------------
/examples/Terrier_Seated_(Boston_Public_Library).jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/Terrier_Seated_(Boston_Public_Library).jpeg
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_academic-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_academic-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_academic-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_academic-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Academic Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | \newcommand{\HRule}{\rule{\linewidth}{0.5mm}} % Defines a new command for horizontal lines, change thickness here
20 |
21 | \center % Centre everything on the page
22 |
23 | %------------------------------------------------
24 | % Headings
25 | %------------------------------------------------
26 |
27 | \textsc{\LARGE Institution Name}\\[1.5cm] % Main heading such as the name of your university/college
28 |
29 | \textsc{\Large Major Heading}\\[0.5cm] % Major heading such as course name
30 |
31 | \textsc{\large Minor Heading}\\[0.5cm] % Minor heading such as course title
32 |
33 | %------------------------------------------------
34 | % Title
35 | %------------------------------------------------
36 |
37 | \HRule\\[0.4cm]
38 |
39 | {\huge\bfseries An Unnecessarily Convoluted Academic Title}\\[0.4cm] % Title of your document
40 |
41 | \HRule\\[1.5cm]
42 |
43 | %------------------------------------------------
44 | % Author(s)
45 | %------------------------------------------------
46 |
47 | \begin{minipage}{0.4\textwidth}
48 | \begin{flushleft}
49 | \large
50 | \textit{Author}\\
51 | B.J. \textsc{Blazkowicz} % Your name
52 | \end{flushleft}
53 | \end{minipage}
54 | ~
55 | \begin{minipage}{0.4\textwidth}
56 | \begin{flushright}
57 | \large
58 | \textit{Supervisor}\\
59 | Dr. Caroline \textsc{Becker} % Supervisor's name
60 | \end{flushright}
61 | \end{minipage}
62 |
63 | % If you don't want a supervisor, uncomment the two lines below and comment the code above
64 | %{\large\textit{Author}}\\
65 | %John \textsc{Smith} % Your name
66 |
67 | %------------------------------------------------
68 | % Date
69 | %------------------------------------------------
70 |
71 | \vfill\vfill\vfill % Position the date 3/4 down the remaining page
72 |
73 | {\large\today} % Date, change the \today to a set date if you want to be precise
74 |
75 | %------------------------------------------------
76 | % Logo
77 | %------------------------------------------------
78 |
79 | %\vfill\vfill
80 | %\includegraphics[width=0.2\textwidth]{placeholder.jpg}\\[1cm] % Include a department/university logo - this will require the graphicx package
81 |
82 | %----------------------------------------------------------------------------------------
83 |
84 | \vfill % Push the date up 1/4 of the remaining page
85 |
86 |
87 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_bg-image_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_bg-image_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_bg-image_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_bg-image_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | $if(titlepage-geometry)$
6 | \newgeometry{$for(titlepage-geometry)$$titlepage-geometry$$sep$,$endfor$}
7 | $endif$
8 | \begin{minipage}[b][\textheight][s]{\textwidth}
9 | \raggedright
10 |
11 | % background image
12 | $if(title-bg-image)$
13 | \This$if(title-bg-location)$$title-bg-location$$else$UL$endif$CornerWallPaper{$if(title-bg-size)$$title-bg-size$$else$0.5$endif$}{$title-bg-image$}
14 | $endif$
15 |
16 | % Title and subtitle
17 | {\huge\bfseries\nohyphens{$title$}}\\[1\baselineskip]
18 | $if(subtitle)${\large{$subtitle$}}\\[4\baselineskip]$endif$
19 |
20 | % Authors
21 | % This hairy bit of code is just to get "and" between the last 2
22 | % authors. See below if you don't need that
23 | $if(by-author/allbutlast)$
24 | $for(by-author/allbutlast)$
25 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
26 | $if(by-author.email)$%
27 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
28 | {\textsuperscript{*}}%
29 | $endif$%
30 | $sep$,
31 | $endfor$
32 | $for(by-author/last)$%
33 | { and \large{$by-author.name.literal$}}%
34 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
35 | $endfor$%
36 | $if(by-author.email)$%
37 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
38 | {\textsuperscript{*}}%
39 | $endif$%
40 | $endfor$
41 | $else$
42 | $for(by-author/last)$%
43 | {\large{$by-author.name.literal$}}%
44 | $for(by-author.affiliations)$%
45 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
46 | $if(by-author.email)$%
47 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
48 | {\textsuperscript{,*}}%
49 | $endif$%
50 | $endfor$
51 | $endif$
52 |
53 | % This is how to do it if you don't need the "and"
54 | $if(false)$
55 | $for(by-author)$
56 | {$by-author.name.literal$}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}$endfor$$if(by-author.email)$,{\textsuperscript{*}}$endif$$sep$,
57 | $endfor$
58 | $endif$
59 |
60 | %%%%%% Affiliations
61 | \vspace{2\baselineskip}
62 |
63 | \hangindent=1em
64 | \hangafter=1
65 | $for(by-affiliation)$%
66 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
67 | $if(by-affiliation.department)$%
68 | $if(by-affiliation.name)$, $endif$%
69 | {$it.department$}%
70 | $endif$%
71 | $if(by-affiliation.address)$%
72 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
73 | {$it.address$}%
74 | $endif$%
75 | $sep$\par\hangindent=1em\hangafter=1%
76 | $endfor$
77 |
78 | %%%%%% Correspondence
79 | \vspace{1\baselineskip}
80 |
81 | $for(by-author)$
82 | $if(by-author.email)$
83 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
84 | $endif$
85 | $endfor$
86 |
87 | %use \vfill instead to get the space to fill flexibly
88 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
89 |
90 | \vfill
91 |
92 | %%%%%% Cover image
93 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
94 |
95 | % Whitespace between the title block and the tagline
96 | \vspace{1\baselineskip}
97 |
98 | %%%%%% Tagline at bottom
99 | University Technical Series\newline
100 | Open Source Publication for All\newline
101 | Amtmandens Allé 15\newline
102 | 6950 Rindum Ringkøbing-Skjern\newline
103 | DENMARK\newline
104 | December 2025
105 |
106 | \end{minipage}
107 | $if(titlepage-geometry)$
108 | \restoregeometry
109 | $endif$
110 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_classic-lined-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_classic-lined-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_classic-lined-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_classic-lined-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Classic-Lined Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | \centering % Centre everything on the title page
20 |
21 | %------------------------------------------------
22 | % Top rules
23 | %------------------------------------------------
24 |
25 | \rule{\textwidth}{1pt} % Thick horizontal rule
26 |
27 | \vspace{2pt}\vspace{-\baselineskip} % Whitespace between rules
28 |
29 | \rule{\textwidth}{0.4pt} % Thin horizontal rule
30 |
31 | \vspace{0.1\textheight} % Whitespace between the top rules and title
32 |
33 | %------------------------------------------------
34 | % Title
35 | %------------------------------------------------
36 |
37 | \textcolor{red}{ % Red font color
38 | {\Huge THE BIG BOOK}\\[0.5\baselineskip] % Title line 1
39 | {\Large OF}\\[0.5\baselineskip] % Title line 2
40 | {\Huge \LaTeX~Templates} % Title line 3
41 | }
42 |
43 | \vspace{0.025\textheight} % Whitespace between the title and short horizontal rule
44 |
45 | \rule{0.3\textwidth}{0.4pt} % Short horizontal rule under the title
46 |
47 | \vspace{0.1\textheight} % Whitespace between the thin horizontal rule and the author name
48 |
49 | %------------------------------------------------
50 | % Author
51 | %------------------------------------------------
52 |
53 | {\Large \textsc{gordon freeman}} % Author name
54 |
55 | \vfill % Whitespace between the author name and publisher
56 |
57 | %------------------------------------------------
58 | % Publisher
59 | %------------------------------------------------
60 |
61 | \includegraphics[width=0.2\textwidth]{logo.png}\\[1cm]
62 |
63 | {\large\textsc{the publisher}} % Publisher
64 |
65 | \vspace{0.1\textheight} % Whitespace under the publisher text
66 |
67 | %------------------------------------------------
68 | % Bottom rules
69 | %------------------------------------------------
70 |
71 | \rule{\textwidth}{0.4pt} % Thin horizontal rule
72 |
73 | \vspace{2pt}\vspace{-\baselineskip} % Whitespace between rules
74 |
75 | \rule{\textwidth}{1pt} % Thick horizontal rule
76 |
77 |
78 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_extension.yml:
--------------------------------------------------------------------------------
1 | title: titlepage
2 | author: Eli Holmes, Mickaël Canouil
3 | version: 0.2.1
4 | contributes:
5 | format:
6 | pdf:
7 | filters:
8 | - theme.lua
9 | template-partials:
10 | - "_academic-static_before-body.tex"
11 | - "_academic-static_titlepage.tex"
12 | - "_bg-image_before-body.tex"
13 | - "_bg-image_titlepage.tex"
14 | - "_classic-lined-static_before-body.tex"
15 | - "_classic-lined-static_titlepage.tex"
16 | - "_great-wave_before-body.tex"
17 | - "_great-wave_cover.tex"
18 | - "_great-wave_titlepage.tex"
19 | - "_multi-purpose-static_before-body.tex"
20 | - "_multi-purpose-static_titlepage.tex"
21 | - "_multi-purpose_before-body.tex"
22 | - "_multi-purpose_titlepage.tex"
23 | - "_thesis-static_before-body.tex"
24 | - "_thesis-static_titlepage.tex"
25 | - "_vline_before-body.tex"
26 | - "_vline_titlepage.tex"
27 | - "_vline-static_before-body.tex"
28 | - "_vline-static_titlepage.tex"
29 | - "before-body.tex"
30 | - "pandoc.tex"
31 | format-resources:
32 | - "images/TheGreatWaveoffKanagawa.jpeg"
33 | - "images/corner-bg.png"
34 | - "images/logo.png"
35 | - "images/nmfs-opensci-logo.png"
36 | - "images/ringed-seal.png"
37 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_great-wave_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_great-wave_cover.tex()$
5 | % for some reason it insists on putting a black page
6 | % between cover and title if I have this above \begin{titlepage}
7 | $_great-wave_titlepage.tex()$
8 | \end{titlepage}
9 | \setcounter{page}{1}
10 | \end{frontmatter}
11 | $else$
12 | \begin{titlepage}
13 | $_great-wave_cover.tex()$
14 | $_great-wave_titlepage.tex()$
15 | \end{titlepage}
16 | $endif$
17 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_great-wave_cover.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 | % This template is based on a post by Arun Debray to tex.stackoverflow
5 | % https://tex.stackexchange.com/posts/554962/revisions
6 |
7 | \newgeometry{left=1in, right=1in, top=2in, bottom=0in}
8 | \begin{minipage}[b][\textheight][s]{\textwidth}
9 |
10 | % Change title fonts here
11 | \DeclareFixedFont{\titlefont}{T1}{ppl}{b}{}{0.6in}
12 | \DeclareFixedFont{\subtitlefont}{T1}{ppl}{b}{it}{0.2in}
13 |
14 | % Page color
15 | \definecolor{pgcolor}{HTML}{$title-page-color$}
16 | \pagecolor{pgcolor}\afterpage{\nopagecolor}
17 |
18 | \thispagestyle{empty}
19 | \begin{flushright}
20 | \titlefont $title$\\
21 | \subtitlefont $subtitle$
22 | \end{flushright}
23 | \vfill
24 | \begin{center}
25 | \begin{tikzpicture}
26 | \node[scope fading=north, inner sep=0pt, outer sep=0pt]{
27 | \makebox[\textwidth]{\includegraphics[width=\paperwidth]{$title-bg-image$}}
28 | };
29 | \end{tikzpicture}
30 | \end{center}
31 |
32 | \end{minipage}%
33 | \clearpage
34 | \restoregeometry
35 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_great-wave_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | \raggedleft % left align the title page
6 | \thispagestyle{empty}
7 | \rule{1pt}{\textheight} % Vertical line
8 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
9 | % Adjust num before \textwidth to move the block left or right
10 | \begin{minipage}[b][\textheight][s]{0.85\textwidth}
11 |
12 | \raggedright
13 | % Title and subtitle
14 | {\huge\bfseries\nohyphens{$title$}}\\[1.25\baselineskip]
15 | $if(subtitle)${\large\textit{$subtitle$}}\\[4\baselineskip]$endif$
16 |
17 | % Abstract
18 | $if(abstract)$%
19 | \begin{flushright}%
20 | {{$abstract$}}\\[4\baselineskip]%
21 | \end{flushright}%
22 | $endif$
23 |
24 | % Authors
25 | % This hairy bit of code is just to get "and" between the last 2
26 | % authors. See below if you don't need that
27 | $if(by-author/allbutlast)$
28 | $for(by-author/allbutlast)$
29 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
30 | $if(by-author.email)$%
31 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
32 | {\textsuperscript{*}}%
33 | $endif$%
34 | $sep$,
35 | $endfor$
36 | $for(by-author/last)$%
37 | { and \large{$by-author.name.literal$}}%
38 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
39 | $endfor$%
40 | $if(by-author.email)$%
41 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
42 | {\textsuperscript{*}}%
43 | $endif$%
44 | $endfor$
45 | $else$
46 | $for(by-author/last)$%
47 | {\large{$by-author.name.literal$}}%
48 | $for(by-author.affiliations)$%
49 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
50 | $if(by-author.email)$%
51 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
52 | {\textsuperscript{,*}}%
53 | $endif$%
54 | $endfor$
55 | $endif$
56 |
57 | % This is how to do it if you don't need the "and"
58 | $if(false)$%
59 | $for(by-author)$%
60 | {$by-author.name.literal$}%
61 | $for(by-author.affiliations)$%
62 | {\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}%
63 | $endfor$%
64 | $if(by-author.email)$,{\textsuperscript{*}}%
65 | $endif$%
66 | $sep$, %
67 | $endfor$%
68 | $endif$
69 |
70 | %%%%%% Affiliations
71 | \vspace{2\baselineskip}
72 |
73 | \hangindent=1em
74 | \hangafter=1
75 | $for(by-affiliation)$%
76 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
77 | $if(by-affiliation.department)$%
78 | $if(by-affiliation.name)$, $endif$%
79 | {$it.department$}%
80 | $endif$%
81 | $if(by-affiliation.address)$%
82 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
83 | {$it.address$}%
84 | $endif$%
85 | $sep$\par\hangindent=1em\hangafter=1%
86 | $endfor$
87 |
88 | %%%%%% Correspondence
89 | \vspace{1\baselineskip}
90 |
91 | $for(by-author)$
92 | $if(by-author.email)$
93 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
94 | $endif$
95 | $endfor$
96 |
97 | %use \vfill instead to get the space to fill flexibly
98 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
99 |
100 | \vfill
101 |
102 | %%%%%% Cover image
103 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
104 |
105 | % Whitespace between the title block and the tagline
106 | \vspace{0.1\textheight}
107 |
108 | %%%%%% Tagline at bottom
109 | {\noindent https://nmfs-opensci.github.io/}\\[\baselineskip]
110 | \end{minipage}
111 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_multi-purpose-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_multi-purpose-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_multi-purpose-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_multi-purpose-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Multi-Purpose Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | %------------------------------------------------
20 | % title box
21 | %------------------------------------------------
22 |
23 | \colorbox{cyan}{
24 | \parbox[t]{0.93\textwidth}{ % Outer full width box
25 | \parbox[t]{0.91\textwidth}{ % Inner box for inner right text margin
26 | \raggedleft % Right align the text
27 | \fontsize{50pt}{80pt}\selectfont % Title font size, the first argument is the font size and the second is the line spacing, adjust depending on title length
28 | \vspace{0.7cm} % Space between the start of the title and the top of the grey box
29 |
30 | A Title Page\\
31 | Template With\\
32 | Many Uses\\
33 |
34 | \vspace{0.7cm} % Space between the end of the title and the bottom of the grey box
35 | }
36 | }
37 | }
38 |
39 | \vfill % Space between the title box and author information
40 |
41 | %------------------------------------------------
42 | % Author name and information
43 | %------------------------------------------------
44 |
45 | \parbox[t]{0.93\textwidth}{ % Box to inset this section slightly
46 | \raggedleft % Right align the text
47 | \large % Increase the font size
48 | {\Large B.J. Blazkowicz}\\[4pt] % Extra space after name
49 | Department Name\\
50 | Institution Name\\[4pt] % Extra space before URL
51 | \texttt{LaTeXTemplates.com}\\
52 |
53 | \hfill\rule{0.2\linewidth}{1pt}% Horizontal line, first argument width, second thickness
54 | }
55 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_multi-purpose_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_multi-purpose_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_multi-purpose_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_multi-purpose_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Multi-Purpose Title Page
3 | % LaTeX Template
4 | % Version 2.0 (17/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % WikiBooks (LaTeX - Title Creation) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %
16 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17 |
18 |
19 | %------------------------------------------------
20 | % title box
21 | %------------------------------------------------
22 |
23 | \colorbox{cyan}{
24 | \parbox[t]{0.93\textwidth}{ % Outer full width box
25 | \parbox[t]{0.91\textwidth}{ % Inner box for inner right text margin
26 | \raggedright % Right align the text
27 | \fontsize{50pt}{80pt}\selectfont % Title font size, the first argument is the font size and the second is the line spacing, adjust depending on title length
28 | \vspace{0.7cm} % Space between the start of the title and the top of the grey box
29 |
30 | $title$\\
31 | \fontsize{25pt}{40pt}\selectfont
32 | $subtitle$\\
33 |
34 | \vspace{0.7cm} % Space between the end of the title and the bottom of the grey box
35 | }
36 | }
37 | }
38 |
39 | \vfill % Space between the title box and author information
40 |
41 | %------------------------------------------------
42 | % Author name and information
43 | %------------------------------------------------
44 |
45 | \parbox[t]{0.93\textwidth}{ % Box to inset this section slightly
46 | \raggedleft % Right align the text
47 | \large % Increase the font size
48 | $for(by-author)$%
49 | {\Large $by-author.name.literal$}%
50 | $sep$\\ %
51 | $endfor$%
52 |
53 | \hfill\rule{0.2\linewidth}{1pt}% Horizontal line, first argument width, second thickness
54 | }
55 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_thesis-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_thesis-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_thesis-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_thesis-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Thesis Title Page
3 | % LaTeX Template
4 | %
5 | % This template was downloaded from:
6 | % https://www.overleaf.com/learn/latex/How_to_Write_a_Thesis_in_LaTeX_(Part_5)%3A_Customising_Your_Title_Page_and_Abstract
7 | %
8 | % Original author:
9 | % Josh Cassidy (Aug 2013)
10 | %
11 | %
12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13 |
14 |
15 | \begin{center}
16 | \vspace*{1cm}
17 |
18 | \Huge
19 | \textbf{Thesis Title}
20 |
21 | \vspace{0.5cm}
22 | \LARGE
23 | Thesis Subtitle
24 |
25 | \vspace{1.5cm}
26 |
27 | \textbf{Author Name}
28 |
29 | \vfill
30 |
31 | A thesis presented for the degree of\\
32 | Doctor of Philosophy
33 |
34 | \vspace{0.8cm}
35 |
36 | \includegraphics[width=0.4\textwidth]{logo.png}
37 |
38 | \Large
39 | Department Name\\
40 | University Name\\
41 | Country\\
42 | Date
43 |
44 | \end{center}
45 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_vline-static_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_vline-static_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_vline-static_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_vline-static_titlepage.tex:
--------------------------------------------------------------------------------
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 | % Vertical Line Title Page
3 | % LaTeX Template
4 | % Version 2.0 (22/7/17)
5 | %
6 | % This template was downloaded from:
7 | % http://www.LaTeXTemplates.com
8 | %
9 | % Original author:
10 | % Peter Wilson (herries.press@earthlink.net) with modifications by:
11 | % Vel (vel@latextemplates.com)
12 | %
13 | % License:
14 | % CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
15 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16 |
17 |
18 | \raggedleft % Right align the title page
19 |
20 | \rule{1pt}{\textheight} % Vertical line
21 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
22 | \parbox[b]{0.75\textwidth}{ % Paragraph box for holding the title page text, adjust the width to move the title page left or right on the page
23 |
24 | {\Huge\bfseries A Collection of \\[0.5\baselineskip] \LaTeX ~Templates}\\[2\baselineskip] % Title
25 | {\large\textit{A predictable subtitle}}\\[4\baselineskip] % Subtitle or further description
26 | {\Large\textsc{gordon freeman}} % Author name, lower case for consistent small caps
27 |
28 | \vspace{0.5\textheight} % Whitespace between the title block and the publisher
29 |
30 | {\noindent The Publisher }\\[\baselineskip] % Publisher and logogo
31 | }
32 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_vline_before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \begin{frontmatter}
3 | \begin{titlepage}
4 | $_vline_titlepage.tex()$
5 | \end{titlepage}
6 | \end{frontmatter}
7 | $else$
8 | \begin{titlepage}
9 | $_vline_titlepage.tex()$
10 | \end{titlepage}
11 | $endif$
12 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/_vline_titlepage.tex:
--------------------------------------------------------------------------------
1 | % This is a combination of Pandoc templating and LaTeX
2 | % Pandoc templating https://pandoc.org/MANUAL.html#templates
3 | % See the README for help
4 |
5 | \raggedleft % left align the title page
6 | \rule{1pt}{\textheight} % Vertical line
7 | \hspace{0.05\textwidth} % Whitespace between the vertical line and title page text
8 | % Adjust num before \textwidth to move the block left or right
9 | \begin{minipage}[b][\textheight][s]{0.85\textwidth}
10 |
11 | \raggedright
12 | % Title and subtitle
13 | {\large\bfseries\nohyphens{$title$}}\\[2\baselineskip]
14 | $if(subtitle)${\large\textit{$subtitle$}}\\[4\baselineskip]$endif$
15 |
16 | % Authors
17 | % This hairy bit of code is just to get "and" between the last 2
18 | % authors. See below if you don't need that
19 | $if(by-author/allbutlast)$
20 | $for(by-author/allbutlast)$
21 | {\large{$by-author.name.literal$}}$for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
22 | $if(by-author.email)$%
23 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
24 | {\textsuperscript{*}}%
25 | $endif$%
26 | $sep$,
27 | $endfor$
28 | $for(by-author/last)$%
29 | { and \large{$by-author.name.literal$}}%
30 | $for(by-author.affiliations)${\textsuperscript{$it.number$}}$sep$\textsuperscript{,}%
31 | $endfor$%
32 | $if(by-author.email)$%
33 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
34 | {\textsuperscript{*}}%
35 | $endif$%
36 | $endfor$
37 | $else$
38 | $for(by-author/last)$%
39 | {\large{$by-author.name.literal$}}%
40 | $for(by-author.affiliations)$%
41 | {\textsuperscript{$it.number$}}$sep$\textsuperscript{,}$endfor$%
42 | $if(by-author.email)$%
43 | $if(by-author.affiliations)$\textsuperscript{,}$endif$%
44 | {\textsuperscript{,*}}%
45 | $endif$%
46 | $endfor$
47 | $endif$
48 |
49 | % This is how to do it if you don't need the "and"
50 | $if(false)$%
51 | $for(by-author)$%
52 | {$by-author.name.literal$}%
53 | $for(by-author.affiliations)$%
54 | {\textsuperscript{$it.number$}}$sep${\textsuperscript{,}}%
55 | $endfor$%
56 | $if(by-author.email)$,{\textsuperscript{*}}%
57 | $endif$%
58 | $sep$, %
59 | $endfor$%
60 | $endif$
61 |
62 | %%%%%% Affiliations
63 | \vspace{2\baselineskip}
64 |
65 | \hangindent=1em
66 | \hangafter=1
67 | $for(by-affiliation)$%
68 | {$it.number$}.~$if(by-affiliation.name)${$it.name$}$endif$%
69 | $if(by-affiliation.department)$%
70 | $if(by-affiliation.name)$, $endif$%
71 | {$it.department$}%
72 | $endif$%
73 | $if(by-affiliation.address)$%
74 | $if(by-affiliation.name)$, $else$$if(by-affiliation.department)$, $endif$$endif$%
75 | {$it.address$}%
76 | $endif$%
77 | $sep$\par\hangindent=1em\hangafter=1%
78 | $endfor$
79 |
80 | %%%%%% Correspondence
81 | \vspace{1\baselineskip}
82 |
83 | $for(by-author)$
84 | $if(by-author.email)$
85 | * \textit{Correspondence:}~$by-author.name.literal$~$by-author.email$
86 | $endif$
87 | $endfor$
88 |
89 | %use \vfill instead to get the space to fill flexibly
90 | %\vspace{0.25\textheight} % Whitespace between the title block and the publisher
91 |
92 | \vfill
93 |
94 | %%%%%% Cover image
95 | $if(cover)$\includegraphics[width=4cm]{$cover$}$endif$
96 |
97 | % Whitespace between the title block and the tagline
98 | \vspace{0.1\textheight}
99 |
100 | %%%%%% Tagline at bottom
101 | % {\noindent The Publisher~~\plogo}\\[\baselineskip] % Publisher and logo
102 | {\noindent The Publisher}\\[\baselineskip] % Publisher and logo
103 | \end{minipage}
104 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/before-body.tex:
--------------------------------------------------------------------------------
1 | $if(academic-static)$
2 | $_academic-static_before-body.tex()$
3 | $endif$
4 |
5 | $if(bg-image)$
6 | $_bg-image_before-body.tex()$
7 | $endif$
8 |
9 | $if(classic-lined-static)$
10 | $_classic-lined-static_before-body.tex()$
11 | $endif$
12 |
13 | $if(great-wave)$
14 | $_great-wave_before-body.tex()$
15 | $endif$
16 |
17 | $if(multi-purpose-static)$
18 | $_multi-purpose-static_before-body.tex()$
19 | $endif$
20 |
21 | $if(multi-purpose)$
22 | $_multi-purpose_before-body.tex()$
23 | $endif$
24 |
25 | $if(thesis-static)$
26 | $_thesis-static_before-body.tex()$
27 | $endif$
28 |
29 | $if(vline)$
30 | $_vline_before-body.tex()$
31 | $endif$
32 |
33 | $if(vline-static)$
34 | $_vline-static_before-body.tex()$
35 | $endif$
36 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/images/TheGreatWaveoffKanagawa.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/nmfs-opensci/titlepage/images/TheGreatWaveoffKanagawa.jpeg
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/images/corner-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/nmfs-opensci/titlepage/images/corner-bg.png
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/nmfs-opensci/titlepage/images/logo.png
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/images/nmfs-opensci-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/nmfs-opensci/titlepage/images/nmfs-opensci-logo.png
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/images/ringed-seal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/nmfs-opensci/titlepage/images/ringed-seal.png
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/pandoc.tex:
--------------------------------------------------------------------------------
1 | $if(highlighting-macros)$
2 | $highlighting-macros$
3 | $endif$
4 |
5 | $tightlist.tex()$
6 | $tables.tex()$
7 | $graphics.tex()$
8 | $citations.tex()$
9 |
10 | $for(header-includes)$
11 | $header-includes$
12 | $endfor$
13 |
14 | $if(bg-image)$
15 | \usepackage{hyphenat}
16 | \usepackage{graphicx}
17 | \usepackage{wallpaper} % for the background image on title page
18 | \usepackage{geometry}
19 | $endif$
20 |
21 | $if(great-wave)$
22 | \usepackage{hyphenat}
23 | \usepackage{graphicx}
24 | \usepackage{geometry}
25 | \usepackage{afterpage}
26 | \usepackage{tikz}
27 | \usetikzlibrary{fadings}
28 | \usepackage[pagecolor=none]{pagecolor}
29 | $endif$
30 |
31 | $if(vline)$
32 | \usepackage{hyphenat}
33 | \usepackage{graphicx}
34 | $endif$
35 |
--------------------------------------------------------------------------------
/examples/_extensions/nmfs-opensci/titlepage/theme.lua:
--------------------------------------------------------------------------------
1 | local function isEmpty(s)
2 | return s == nil or s == ''
3 | end
4 |
5 | function Meta(m)
6 | local theme_table = {
7 | ["academic-static"] = function (m)
8 | m['academic-static'] = true
9 | return m
10 | end,
11 | ["bg-image"] = function (m)
12 | m['bg-image'] = true
13 | if isEmpty(m['title-bg-image']) then
14 | m['title-bg-image'] = "corner-bg.png"
15 | end
16 | if isEmpty(m['title-bg-location']) then
17 | m['title-bg-location'] = "UL"
18 | end
19 | if isEmpty(m['title-bg-size']) then
20 | m['title-bg-size'] = 0.5
21 | end
22 | if isEmpty(m['titlepage-geometry']) then
23 | m['titlepage-geometry'] = pandoc.List({"top=3in", "bottom=1in", "right=1in", "left=1in"})
24 | end
25 | return m
26 | end,
27 | ["classic-lined-static"] = function (m)
28 | m['classic-lined-static'] = true
29 | if isEmpty(m['logo']) then
30 | m['logo'] = "logo.png"
31 | end
32 | return m
33 | end,
34 | ["great-wave"] = function (m)
35 | m['great-wave'] = true
36 | if isEmpty(m['title-bg-image']) then
37 | m['title-bg-image'] = "TheGreatWaveoffKanagawa.jpeg"
38 | end
39 | if isEmpty(m['title-page-color']) then
40 | m['title-page-color'] = "F6D5A8"
41 | end
42 | return m
43 | end,
44 | ["multi-purpose"] = function (m)
45 | m['multi-purpose'] = true
46 | if isEmpty(m['logo']) then
47 | m['logo'] = "logo.png"
48 | end
49 | return m
50 | end,
51 | ["multi-purpose-static"] = function (m)
52 | m['multi-purpose-static'] = true
53 | if isEmpty(m['logo']) then
54 | m['logo'] = "logo.png"
55 | end
56 | return m
57 | end,
58 | ["thesis-static"] = function (m)
59 | m['thesis-static'] = true
60 | if isEmpty(m['logo']) then
61 | m['logo'] = "logo.png"
62 | end
63 | return m
64 | end,
65 | ["vline"] = function (m)
66 | m['vline'] = true
67 | if isEmpty(m['logo']) then
68 | m['logo'] = "logo.png"
69 | end
70 | return m
71 | end,
72 | ["vline-static"] = function (m)
73 | m['vline-static'] = true
74 | if isEmpty(m['logo']) then
75 | m['logo'] = "logo.png"
76 | end
77 | return m
78 | end
79 | }
80 |
81 | if not m.titlepage then
82 | m['titlepage'] = "vline"
83 | end
84 | choice = pandoc.utils.stringify(m.titlepage)
85 | if isEmpty(choice) then
86 | return theme_table["vline"](m)
87 | else
88 | return theme_table[choice](m)
89 | end
90 | end
91 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/_extension.yml:
--------------------------------------------------------------------------------
1 | title: Journal of Statistical Software Format
2 | author: Charles Teague
3 | version: 0.9.2
4 | contributes:
5 | format:
6 | common:
7 | filters:
8 | - jss.lua
9 | shortcodes:
10 | - quarto-ext/fancy-text
11 | knitr:
12 | opts_chunk:
13 | R.options:
14 | prompt: "R> "
15 | continue: "+"
16 | pdf:
17 | documentclass: jss
18 | shift-heading-level-by: -1
19 | tbl-cap-location: bottom
20 | highlight-style: none
21 | include-in-header:
22 | text: |
23 | \usepackage{orcidlink,thumbpdf,lmodern}
24 |
25 | \newcommand{\class}[1]{`\code{#1}'}
26 | \newcommand{\fct}[1]{\code{#1()}}
27 | fig-width: 4.9 # 6.125" * 0.8, as in template
28 | fig-height: 3.675 # 4.9 * 3:4
29 | template-partials:
30 | - "partials/title.tex"
31 | - "partials/before-body.tex"
32 | - "partials/_print-address.tex"
33 | - "partials/_print-author.tex"
34 | cite-method: natbib
35 | biblio-config: false
36 | format-resources:
37 | - jss.bst
38 | - jss.cls
39 | - jsslogo.jpg
40 | html:
41 | number-sections: true
42 | toc: true
43 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/_extensions/quarto-ext/fancy-text/_extension.yml:
--------------------------------------------------------------------------------
1 | title: Fancy Text
2 | author: "RStudio, PBC"
3 | version: 0.0.1
4 | contributes:
5 | shortcodes:
6 | - fancy-text.lua
7 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/_extensions/quarto-ext/fancy-text/fancy-text.lua:
--------------------------------------------------------------------------------
1 | -- shortcode that provides a nicely formatted 'LaTeX' string
2 | function latex()
3 | if quarto.doc.isFormat("pdf") then
4 | return pandoc.RawBlock('tex', '{\\LaTeX}')
5 | elseif quarto.doc.isFormat("html") then
6 | return pandoc.Math('InlineMath', "\\LaTeX")
7 | else
8 | return pandoc.Span('LaTeX')
9 | end
10 | end
11 |
12 | -- shortcode that provides a nicely formatted 'bibtex' string
13 | function bibtex()
14 | if quarto.doc.isFormat("pdf") then
15 | return pandoc.RawBlock('tex', '\\textsc{Bib}{\\TeX}')
16 | elseif quarto.doc.isFormat("html") then
17 | return pandoc.RawBlock('html', 'BibTEX')
18 | else
19 | return pandoc.Span('BibTeX')
20 | end
21 | end
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/jss.lua:
--------------------------------------------------------------------------------
1 | -- these classes, when placed on a span will be replaced
2 | -- with an identical LaTeX command for PDF output
3 | local texMappings = {
4 | "proglang",
5 | "pkg",
6 | "fct",
7 | "class"
8 | }
9 |
10 | -- layout and style
11 | local kTypes = pandoc.List({'article', 'codesnippet', 'bookreview', 'softwarereview'})
12 | local kSuppress = pandoc.List({'title', 'headings', 'footer'})
13 |
14 | local function setClassOption(meta, option)
15 | if meta['classoption'] == nil then
16 | meta['classoption'] = pandoc.List({})
17 | end
18 |
19 | meta['classoption']:insert({ pandoc.Str(option)})
20 | end
21 |
22 | local function printList(list)
23 | local result = ''
24 | local sep = ''
25 | for i,v in ipairs(list) do
26 | result = result .. sep .. v
27 | sep = ', '
28 | end
29 | return result
30 | end
31 |
32 | return {
33 | {
34 | Span = function(el)
35 | -- read the span contents and emit correct output
36 | local contentStr = pandoc.utils.stringify(el.content)
37 |
38 | for i, mapping in ipairs(texMappings) do
39 | if #el.attr.classes == 1 and el.attr.classes:includes(mapping) then
40 | if quarto.doc.isFormat("pdf") then
41 | return pandoc.RawInline("tex", "\\" .. mapping .. "{" .. contentStr .. "}" )
42 | else
43 | return pandoc.Code(contentStr);
44 | end
45 | end
46 | end
47 | end,
48 | Meta = function(meta)
49 | if quarto.doc.isFormat("pdf") then
50 | -- Authors output in the template uses a special separator
51 | -- to join authors (including wrapping to a new line)
52 | -- this computes the proper prefix and places it in the author metadata
53 | -- for use by the template
54 | local byAuthor = meta['by-author']
55 | if byAuthor ~= nil then
56 | for i, author in ipairs(byAuthor) do
57 | local prefix = {pandoc.RawInline("tex ","")};
58 | if i > 1 and i % 2 == 1 then
59 | prefix = {pandoc.RawInline("tex", "\\AND")}
60 | elseif i > 1 then
61 | prefix = {pandoc.RawInline("tex", "\\And")}
62 | end
63 | author['metadata']['latex-prefix'] = prefix
64 | end
65 | end
66 |
67 | -- read the journal settings
68 | local journal = meta['journal']
69 | local type = nil
70 | local shortnames = nil
71 | local suppress = nil
72 | local jss = nil
73 |
74 | if journal ~= nil then
75 | type = journal['type']
76 | shortnames = journal['cite-shortnames']
77 | suppress = journal['suppress']
78 | jss = journal['include-jss-layout']
79 | end
80 |
81 | -- process the type
82 | if type ~= nil then
83 | type = pandoc.utils.stringify(type)
84 | if kTypes:includes(type) then
85 | setClassOption(meta, type)
86 | else
87 | error("Unknown type " .. type .. "\nPlease use one of " .. printList(kTypes))
88 | end
89 | else
90 | setClassOption(meta, 'article')
91 | end
92 |
93 | -- process the citation variant
94 | if shortnames == true then
95 | setClassOption(meta, 'shortnames')
96 | end
97 |
98 | -- process the suppressed parts
99 | if suppress ~= nil then
100 | for i,v in ipairs(suppress) do
101 | s = pandoc.utils.stringify(v)
102 | if kSuppress:includes(s) then
103 | setClassOption(meta, 'no' .. s)
104 | else
105 | error("Unknown suppressed part " .. s .. "\nPlease use one of " .. printList(kSuppress))
106 | end
107 | end
108 | end
109 |
110 | -- process switch for JSS layout
111 | if jss == false then
112 | setClassOption(meta, 'nojss')
113 | end
114 | end
115 |
116 | return meta
117 | end
118 | }
119 | }
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/jsslogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/_extensions/quarto-journals/jss/jsslogo.jpg
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/partials/_print-address.tex:
--------------------------------------------------------------------------------
1 | $it.name.literal$\\$if(it.affiliations/first)$$for(it.affiliations/first)$$if(it.department)$
2 |
3 | $it.department$\\$endif$$if(it.address)$
4 |
5 | $it.address$\\$endif$$if(it.city)$
6 |
7 | $it.city$$endif$$if(it.state)$ $it.state$$endif$$if(it.country)$ $it.country$$endif$$if(it.city)$\\$elseif(it.state)$\\$elseif(it.country)$\\$endif$$endfor$$endif$$if(it.phone)$
8 |
9 | Telephone: $it.phone$\\$endif$$if(it.fax)$
10 |
11 | Fax: $it.fax$\\$endif$$if(it.email)$
12 |
13 | E-mail: \email{$it.email$}\\$endif$$if(it.url)$
14 |
15 | URL: \url{$it.url$}\\$endif$
16 |
17 | \\~
18 |
19 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/partials/_print-author.tex:
--------------------------------------------------------------------------------
1 | $if(it.metadata.latex-prefix)$ $it.metadata.latex-prefix$ $endif$$it.name.literal$$if(it.orcid)$~\orcidlink{$it.orcid$}$endif$$for(it.affiliations/first)$\\$it.name$$endfor$
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/partials/before-body.tex:
--------------------------------------------------------------------------------
1 | $if(has-frontmatter)$
2 | \frontmatter
3 | $endif$
4 | $if(title)$
5 | \maketitle
6 | $endif$
7 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/jss/partials/title.tex:
--------------------------------------------------------------------------------
1 | %% -- Article metainformation (author, title, ...) -----------------------------
2 |
3 | %% Author information
4 | \author{$for(by-author)$$_print-author.tex()$$endfor$}
5 | \Plainauthor{$for(by-author)$$it.name.literal$$sep$, $endfor$} %% comma-separated
6 |
7 | \title{$title$}
8 | $if(title-plain)$
9 | \Plaintitle{$title-plain$} %% without formatting
10 | $endif$
11 | $if(short-title)$
12 | \Shorttitle{$short-title$} %% a short title (if necessary)
13 | $endif$
14 |
15 | %% an abstract and keywords
16 | $if(abstract)$
17 | \Abstract{$abstract$}
18 | $endif$
19 |
20 | %% at least one keyword must be supplied
21 | $if(keywords-formatted)$
22 | \Keywords{$for(keywords-formatted)$$it$$sep$, $endfor$}
23 | $endif$
24 | $if(keywords)$
25 | \Plainkeywords{$for(keywords)$$it$$sep$, $endfor$}
26 | $endif$
27 |
28 | %% publication information
29 | %% NOTE: Typically, this can be left commented and will be filled out by the technical editor
30 | %% \Volume{50}
31 | %% \Issue{9}
32 | %% \Month{June}
33 | %% \Year{2012}
34 | %% \Submitdate{2012-06-04}
35 | %% \Acceptdate{2012-06-04}
36 | %% \setcounter{page}{1}
37 | %% \Pages{1--xx}
38 |
39 | %% The address of (at least) one author should be given
40 | %% in the following format:
41 | $if(by-author)$
42 | \Address{
43 | $for(by-author)$$_print-address.tex()$$endfor$
44 | }
45 | $endif$
46 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/_extension.yml:
--------------------------------------------------------------------------------
1 | title: PLOS
2 | author: Christophe Dervieux
3 | version: 0.0.1
4 | contributes:
5 | formats:
6 | common:
7 | # define below YAML configuration common to all formats
8 | execute:
9 | echo: false
10 | crossref:
11 | fig-prefix: Fig
12 | eq-prefix: Eq
13 | callout-appearance: simple
14 | callout-icon: false
15 | # https://www.zotero.org/styles/?q=plos
16 | csl: https://www.zotero.org/styles/plos-one
17 | filters:
18 | - filter.lua
19 | pdf:
20 | keep-tex: true
21 | block-headings: false
22 | documentclass: article
23 | papersize: letter
24 | fontsize: 10pt
25 | has-frontmatter: false
26 | toc: false
27 | lof: false
28 | lot: false
29 | colorlinks: false
30 | geometry:
31 | - top=0.85in
32 | - left=2.75in
33 | - footskip=0.75in
34 | biblio-style: plos2015
35 | include-in-header: _preamble.tex
36 | template-partials:
37 | # Add here the partials your format is using
38 | - "partials/doc-class.tex"
39 | - "partials/before-body.tex"
40 | - "partials/_authors.tex"
41 | - "partials/_affiliations.tex"
42 | - "partials/title.tex"
43 | - "partials/before-bib.tex"
44 | - "partials/biblio.tex"
45 | # Using some package that may require pdflatex
46 | pdf-engine: pdflatex
47 | # biblatex is not supported
48 | cite-method: natbib
49 | # number is required for plos2015.bst style
50 | # and square,comma for correct guideline style
51 | # https://tex.stackexchange.com/questions/376662/how-do-i-create-plosone-bib-references
52 | natbiboptions: "numbers,square,comma"
53 | # tcolorbox is not working ok with breakable for code blocks so deactivate this Quarto feature
54 | # https://github.com/quarto-journals/article-format-template/issues/2
55 | code-block-border-left: false
56 | format-resources:
57 | - plos2015.bst
58 | html:
59 | # define default configuration for the html version of your format
60 | number-sections: true
61 | toc: true
62 | theme: custom.scss
63 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/_preamble.tex:
--------------------------------------------------------------------------------
1 | % Use adjustwidth environment to exceed column width (see example table in text)
2 | \usepackage{changepage}
3 |
4 | % marvosym package for additional characters
5 | \usepackage{marvosym}
6 |
7 | % cite package, to clean up citations in the main text. Do not remove.
8 | % Using natbib instead
9 | % \usepackage{cite}
10 |
11 | % Use nameref to cite supporting information files (see Supporting Information section for more info)
12 | \usepackage{nameref,hyperref}
13 |
14 | % line numbers
15 | \usepackage[right]{lineno}
16 |
17 | % ligatures disabled
18 | \usepackage{microtype}
19 | \DisableLigatures[f]{encoding = *, family = * }
20 |
21 | % create "+" rule type for thick vertical lines
22 | \newcolumntype{+}{!{\vrule width 2pt}}
23 |
24 | % create \thickcline for thick horizontal lines of variable length
25 | \newlength\savedwidth
26 | \newcommand\thickcline[1]{%
27 | \noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
28 | \cline{#1}%
29 | \noalign{\vskip\arrayrulewidth}%
30 | \noalign{\global\arrayrulewidth\savedwidth}%
31 | }
32 |
33 | % \thickhline command for thick horizontal lines that span the table
34 | \newcommand\thickhline{\noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
35 | \hline
36 | \noalign{\global\arrayrulewidth\savedwidth}}
37 |
38 | % Text layout
39 | \raggedright
40 | \setlength{\parindent}{0.5cm}
41 | \textwidth 5.25in
42 | \textheight 8.75in
43 |
44 | % Bold the 'Figure #' in the caption and separate it from the title/caption with a period
45 | % Captions will be left justified
46 | \usepackage[aboveskip=1pt,labelfont=bf,labelsep=period,justification=raggedright,singlelinecheck=off]{caption}
47 | \renewcommand{\figurename}{Fig}
48 |
49 | % Remove brackets from numbering in List of References
50 | \makeatletter
51 | \renewcommand{\@biblabel}[1]{\quad#1.}
52 | \makeatother
53 |
54 | % Header and Footer with logo
55 | \usepackage{lastpage,fancyhdr}
56 | \usepackage{epstopdf}
57 | %\pagestyle{myheadings}
58 | \pagestyle{fancy}
59 | \fancyhf{}
60 | %\setlength{\headheight}{27.023pt}
61 | %\lhead{\includegraphics[width=2.0in]{PLOS-submission.eps}}
62 | \rfoot{\thepage/\pageref{LastPage}}
63 | \renewcommand{\headrulewidth}{0pt}
64 | \renewcommand{\footrule}{\hrule height 2pt \vspace{2mm}}
65 | \fancyheadoffset[L]{2.25in}
66 | \fancyfootoffset[L]{2.25in}
67 | \lfoot{\today}
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/filter.lua:
--------------------------------------------------------------------------------
1 |
2 |
3 | -- these classes, when placed on a span will be replaced
4 | -- with an identical LaTeX command for PDF output
5 | local texMappings = {
6 | "nameref"
7 | }
8 |
9 | return {
10 | {
11 | Span = function(el)
12 | local contentStr = pandoc.utils.stringify(el.content)
13 | for i, mapping in ipairs(texMappings) do
14 | if #el.attr.classes == 1 and el.attr.classes:includes(mapping) then
15 | if quarto.doc.isFormat("pdf") then
16 | return pandoc.RawInline("tex", "\\" .. mapping .. "{" .. contentStr .. "}" )
17 | else
18 | el.content = pandoc.Str( conentStr)
19 | return el
20 | end
21 | end
22 | end
23 | end,
24 | Div = function(div)
25 | -- Special treatment for supplementary material
26 | if (div.classes:includes("supp")) then
27 | if quarto.doc.isFormat("pdf") then
28 | local headerNum = 0
29 | local header = pandoc.List()
30 | local labelId
31 | local paraNum = 0
32 | local para = pandoc.List()
33 | -- First Take element
34 | div.content:walk {
35 | Header = function(el)
36 | if (headerNum > 0) then
37 | error('Only one header can be set in supplementary section divs')
38 | end
39 | --[[
40 | el.level = 4
41 | headerNum = headerNum + 1
42 | header:insert(el)
43 | ]]
44 | el.content:insert(1, pandoc.RawInline('tex', '\\paragraph*{'))
45 | el.content:insert(pandoc.RawInline('tex', '}'))
46 | header:extend(el.content)
47 | labelId = el.identifier
48 | -- Remove header
49 | return {}
50 | end,
51 | Para = function(el)
52 | if (paraNum == 0) then
53 | -- first paragraph is title sentence
54 | if (el.content and el.content[1].t ~= "Strong") then
55 | el.content = pandoc.Inlines(pandoc.Strong(el.content))
56 | end
57 | el.content:insert(1, pandoc.RawInline('tex', '{'))
58 | el.content:insert(pandoc.RawInline('tex', '}'))
59 | elseif (paraNum == 1) then
60 | -- ok
61 | else
62 | error('Only two paragraph are allowed in supplementary section div')
63 | end
64 |
65 | para:insert(el)
66 | paraNum = paraNum + 1
67 | -- remove Para
68 | return {}
69 | end
70 | }
71 | -- Build the new paragraph content
72 | header:extend({pandoc.Str("\n"), pandoc.RawInline("tex", "\\label{"..labelId.."}"), pandoc.Str("\n")})
73 | para = pandoc.utils.blocks_to_inlines(para, {pandoc.Space()})
74 | header:extend(para)
75 | -- Return the new para in place of the Div
76 | return pandoc.Para(header)
77 | end
78 | end
79 | end,
80 | }
81 | }
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/_affiliations.tex:
--------------------------------------------------------------------------------
1 | \textbf{$it.number$} $if(it.name)$$it.name$, $endif$$if(it.department)$$it.department$, $endif$$if(it.address)$$it.address$, $endif$$if(it.city)$$it.city$, $endif$$if(it.postal-code)$$it.postal-code$, $endif$$if(it.region)$$it.region$, $endif$$if(it.country)$$it.country$, $endif$$if(it.url)$$it.url$, $endif$
2 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/_authors.tex:
--------------------------------------------------------------------------------
1 | $it.name.literal$\textsuperscript{$for(it.affiliations)$$it.number$$sep$,$endfor$$if(it.attributes.equal-contributor)$\Yinyang$endif$$if(it.attributes.corresponding)$*$endif$$if(it.attributes.deceased)$\dag$endif$$if(it.metadata.group)$\textpilcrow$endif$}
2 |
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/before-bib.tex:
--------------------------------------------------------------------------------
1 | $-- Placed after the content of the document, but before the bibliography.
2 | $-- %%%% TODO %%%%%
3 | $-- Use it if you need to insert content at this specific place of the main Pandoc's template. Otherwise, remove it.
4 | $-- %%%%%%%%%%%%%%%
5 |
6 | \nolinenumbers
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/before-body.tex:
--------------------------------------------------------------------------------
1 | $-- PLOS insert title and author within the main body
2 | $-- Use this template to insert the necessary pieces before any content provided in .qmd file
3 | \vspace*{0.2in}
4 |
5 | % Title must be 250 characters or less.
6 | \begin{flushleft}
7 | {\Large
8 | \textbf\newline{$title$} % Please use "sentence case" for title and headings (capitalize only the first word in a title (or heading), the first word in a subtitle (or subheading), and any proper nouns).
9 | }
10 | \newline
11 | \\
12 | % Insert author names, affiliations and corresponding author email (do not include titles, positions, or degrees).
13 | $by-author:_authors.tex()[, ]$
14 | \\
15 | \bigskip
16 | $by-affiliation:_affiliations.tex()[\\ ]$
17 | \bigskip
18 |
19 | % Insert additional author notes using the symbols described below. Insert symbol callouts after author names as necessary.
20 | %
21 | % Remove or comment out the author notes below if they aren't used.
22 | %
23 | % Primary Equal Contribution Note
24 | \Yinyang $if(author-notes.equal-contributor)$$author-notes.equal-contributor$$else$These authors contributed equally to this work.$endif$
25 |
26 | % Additional Equal Contribution Note
27 | % Also use this double-dagger symbol for special authorship notes, such as senior authorship.
28 | %\ddag These authors also contributed equally to this work.
29 |
30 | % Current address notes
31 | \textcurrency Current Address: Dept/Program/Center, Institution Name, City, State, Country % change symbol to "\textcurrency a" if more than one current address note
32 | % \textcurrency b Insert second current address
33 | % \textcurrency c Insert third current address
34 |
35 | % Deceased author note
36 | \dag $if(author-notes.deceased)$$author-notes.deceased$$else$Deceased$endif$
37 |
38 | % Group/Consortium Author Note
39 | \textpilcrow $if(author-notes.group)$$author-notes.group$$else$Membership list can be found in the Acknowledgments section.$endif$
40 |
41 | % Use the asterisk to denote corresponding authorship and provide email address in note below.
42 | $for(by-author)$
43 | $if(by-author.attributes.corresponding)$
44 | * $by-author.email$
45 | $endif$
46 | $endfor$
47 |
48 | \end{flushleft}
49 |
50 | $if(abstract)$
51 | \section*{Abstract}
52 | $abstract$
53 | $endif$
54 |
55 | $if(author-summary)$
56 | \section*{Author summary}
57 | $author-summary$
58 | $endif$
59 |
60 | \linenumbers
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/biblio.tex:
--------------------------------------------------------------------------------
1 | $-- Necessary content to creates the bibliography.
2 | $--
3 | $-- %%%% TODO %%%%%
4 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
5 | $-- %%%%%%%%%%%%%%%%
6 | $if(natbib)$
7 | $if(bibliography)$
8 | $if(biblio-title)$
9 | $if(has-chapters)$
10 | \renewcommand\bibname{$biblio-title$}
11 | $else$
12 | \renewcommand\refname{$biblio-title$}
13 | $endif$
14 | $endif$
15 | \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
16 | $endif$
17 | $endif$
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/doc-class.tex:
--------------------------------------------------------------------------------
1 | $-- Contains the document class declaration and options.
2 | $-- By default we provide the identical document class that Pandoc provides, implementing many features.
3 | $-- If provide this partial in your format, you will need to either implement support for the usaul document class options in addition to other one
4 | $-- or be aware that pandoc supported options (e.g. font-size, paper-size, classoption, etc…) will not be supported in your format.
5 | $--
6 | $-- %%%% TODO %%%%%
7 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
8 | $-- %%%%%%%%%%%%%%%%
9 |
10 |
11 | \PassOptionsToPackage{table}{xcolor}
12 |
13 | \documentclass[
14 | $if(fontsize)$
15 | $fontsize$,
16 | $endif$
17 | $if(papersize)$
18 | $papersize$paper,
19 | $endif$
20 | $if(beamer)$
21 | ignorenonframetext,
22 | $if(handout)$
23 | handout,
24 | $endif$
25 | $if(aspectratio)$
26 | aspectratio=$aspectratio$,
27 | $endif$
28 | $endif$
29 | $for(classoption)$
30 | $classoption$$sep$,
31 | $endfor$
32 | ]{$documentclass$}
--------------------------------------------------------------------------------
/examples/_extensions/quarto-journals/plos/partials/title.tex:
--------------------------------------------------------------------------------
1 | $-- Provides configuration of document metadata for writing the title block.
2 | $-- Note that in addition to these templates and partials, Quarto will also make normalized authors and affiliations data available to the template,
3 | $-- making is easy to write custom title blocks against a standard schema.
4 | $--
5 | $-- %%%% TODO %%%%%
6 | $-- Customize is needed, otherwise remove this partials to use Quarto default one
7 | $-- %%%%%%%%%%%%%%%%
8 |
9 | $-- PLOS does not add title outside of document body. We make this template empty
--------------------------------------------------------------------------------
/examples/_quarto.yml:
--------------------------------------------------------------------------------
1 | project:
2 | type: default
3 | output-dir: "output"
4 |
--------------------------------------------------------------------------------
/examples/corner-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/corner-bg.png
--------------------------------------------------------------------------------
/examples/howard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/howard.png
--------------------------------------------------------------------------------
/examples/output/330px-BostonTerrier001.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/330px-BostonTerrier001.jpeg
--------------------------------------------------------------------------------
/examples/output/330px-Boston_Terrier_Eden_Forever.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/330px-Boston_Terrier_Eden_Forever.jpeg
--------------------------------------------------------------------------------
/examples/output/330px-Boston_Terrier_male.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/330px-Boston_Terrier_male.jpeg
--------------------------------------------------------------------------------
/examples/output/Terrier_Seated_(Boston_Public_Library).jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/Terrier_Seated_(Boston_Public_Library).jpeg
--------------------------------------------------------------------------------
/examples/output/example-pdf_files/libs/bootstrap/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/example-pdf_files/libs/bootstrap/bootstrap-icons.woff
--------------------------------------------------------------------------------
/examples/output/example-pdf_files/libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/examples/output/example-pdf_files/libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/examples/output/history_files/libs/bootstrap/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/history_files/libs/bootstrap/bootstrap-icons.woff
--------------------------------------------------------------------------------
/examples/output/history_files/libs/quarto-html/anchor.min.js:
--------------------------------------------------------------------------------
1 | // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
2 | //
3 | // AnchorJS - v4.3.1 - 2021-04-17
4 | // https://www.bryanbraun.com/anchorjs/
5 | // Copyright (c) 2021 Bryan Braun; Licensed MIT
6 | //
7 | // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
8 | !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function w(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,i,n,s,a,c,r,l,h,u,p=[];if(d(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=w(A=A||"h2, h3, h4, h5, h6")).length)return this;for(null===document.head.querySelector("style.anchorjs")&&((u=document.createElement("style")).className="anchorjs",u.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(u):document.head.insertBefore(u,A),u.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",u.sheet.cssRules.length),u.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}});
9 | // @license-end
--------------------------------------------------------------------------------
/examples/output/history_files/libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/examples/output/history_files/libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/examples/output/penguin-report_files/figure-html/unnamed-chunk-2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/penguin-report_files/figure-html/unnamed-chunk-2-1.png
--------------------------------------------------------------------------------
/examples/output/penguin-report_files/libs/bootstrap/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/penguin-report_files/libs/bootstrap/bootstrap-icons.woff
--------------------------------------------------------------------------------
/examples/output/penguin-report_files/libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/examples/output/penguin-report_files/libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/examples/output/tidymodels-example_files/libs/bootstrap/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/examples/output/tidymodels-example_files/libs/bootstrap/bootstrap-icons.woff
--------------------------------------------------------------------------------
/examples/output/tidymodels-example_files/libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/examples/output/tidymodels-example_files/libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/examples/penguin-report.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Penguins"
3 | date: today
4 | format: html
5 | params:
6 | species: Adelie
7 | ---
8 |
9 | ```{r}
10 | #| label: setup
11 | #| include: false
12 | library(tidyverse)
13 | library(palmerpenguins)
14 |
15 | penguin_filter <- penguins |>
16 | filter(species == params$species,
17 | !is.na(body_mass_g))
18 | diff_rows <- nrow(penguins) - nrow(penguin_filter)
19 | ```
20 |
21 | We have data about `r nrow(penguins)` penguins. Only
22 | `r diff_rows` are classified as `r params$species`. The
23 | distribution of the `r params$species` penguins are shown below:
24 |
25 | ```{r}
26 | #| echo: false
27 | penguin_filter |>
28 | ggplot(aes(body_mass_g)) +
29 | geom_histogram(binwidth = 100)
30 | ```
31 |
--------------------------------------------------------------------------------
/examples/tidymodels-example.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | format: html
3 | params:
4 | engine: "ranger"
5 | ---
6 |
7 | ### Ames Housing Dataset
8 |
9 | ```{r}
10 | library(tidymodels)
11 |
12 | data(ames)
13 |
14 | set.seed(4595)
15 | data_split <- initial_split(ames, strata = "Sale_Price", prop = 0.75)
16 |
17 | ames_train <- training(data_split)
18 | ames_test <- testing(data_split)
19 |
20 | ```
21 |
22 | ## Random Forest
23 |
24 | ```{r}
25 | rf_defaults <- rand_forest(mode = "regression", mtry = 3, trees = 1000)
26 | rf_defaults
27 | ```
28 |
29 | ## Fit a model
30 |
31 | ```{r}
32 | preds <- c("Longitude", "Latitude", "Lot_Area", "Neighborhood", "Year_Sold")
33 |
34 | rf_xy_fit <-
35 | rf_defaults %>%
36 | set_engine(params$engine) %>%
37 | fit(
38 | log10(Sale_Price) ~ Longitude + Latitude + Lot_Area + Neighborhood + Year_Sold,
39 | data = ames_train
40 | )
41 |
42 | rf_xy_fit
43 | ```
44 |
45 | ## Predict
46 |
47 | ```{r}
48 | test_results <-
49 | ames_test %>%
50 | select(Sale_Price) %>%
51 | mutate(Sale_Price = log10(Sale_Price)) %>%
52 | bind_cols(
53 | predict(rf_xy_fit, new_data = ames_test[, preds])
54 | )
55 | ```
56 |
57 | ## Report results
58 |
59 | ```{r}
60 | test_results %>% slice(1:5)
61 | ```
62 |
63 | ```{r}
64 | test_results %>% metrics(truth = Sale_Price, estimate = .pred)
65 | ```
66 |
67 |
--------------------------------------------------------------------------------
/images/bootswatch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/bootswatch.png
--------------------------------------------------------------------------------
/images/boston-history-html.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/boston-history-html.jpeg
--------------------------------------------------------------------------------
/images/boston-history-pdf.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/boston-history-pdf.jpeg
--------------------------------------------------------------------------------
/images/howard-gentleman.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/howard-gentleman.jpeg
--------------------------------------------------------------------------------
/images/jss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/jss.png
--------------------------------------------------------------------------------
/images/penguin-report.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/images/penguin-report.png
--------------------------------------------------------------------------------
/quarto-reporting.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
15 | AutoAppendNewline: Yes
16 | StripTrailingWhitespace: Yes
17 |
--------------------------------------------------------------------------------
/quarto-reporting_files/figure-revealjs/unnamed-chunk-5-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/figure-revealjs/unnamed-chunk-5-1.png
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/quarto-html/quarto-html.min.css:
--------------------------------------------------------------------------------
1 | /*# sourceMappingURL=0a6b880beb84f9b6f36107a76f82c5b1.css.map */
2 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/quarto-html/quarto-syntax-highlighting-dark.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-al-color: #f07178;
4 | --quarto-hl-an-color: #d4d0ab;
5 | --quarto-hl-at-color: #00e0e0;
6 | --quarto-hl-bn-color: #d4d0ab;
7 | --quarto-hl-bu-color: #abe338;
8 | --quarto-hl-ch-color: #abe338;
9 | --quarto-hl-co-color: #f8f8f2;
10 | --quarto-hl-cv-color: #ffd700;
11 | --quarto-hl-cn-color: #ffd700;
12 | --quarto-hl-cf-color: #ffa07a;
13 | --quarto-hl-dt-color: #ffa07a;
14 | --quarto-hl-dv-color: #d4d0ab;
15 | --quarto-hl-do-color: #f8f8f2;
16 | --quarto-hl-er-color: #f07178;
17 | --quarto-hl-ex-color: #00e0e0;
18 | --quarto-hl-fl-color: #d4d0ab;
19 | --quarto-hl-fu-color: #ffa07a;
20 | --quarto-hl-im-color: #abe338;
21 | --quarto-hl-in-color: #d4d0ab;
22 | --quarto-hl-kw-color: #ffa07a;
23 | --quarto-hl-op-color: #ffa07a;
24 | --quarto-hl-ot-color: #00e0e0;
25 | --quarto-hl-pp-color: #dcc6e0;
26 | --quarto-hl-re-color: #00e0e0;
27 | --quarto-hl-sc-color: #abe338;
28 | --quarto-hl-ss-color: #abe338;
29 | --quarto-hl-st-color: #abe338;
30 | --quarto-hl-va-color: #00e0e0;
31 | --quarto-hl-vs-color: #abe338;
32 | --quarto-hl-wa-color: #dcc6e0;
33 | }
34 |
35 | /* other quarto variables */
36 | :root {
37 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
38 | }
39 |
40 | code span.al {
41 | font-weight: bold;
42 | color: #f07178;
43 | }
44 |
45 | code span.an {
46 | color: #d4d0ab;
47 | }
48 |
49 | code span.at {
50 | color: #00e0e0;
51 | }
52 |
53 | code span.bn {
54 | color: #d4d0ab;
55 | }
56 |
57 | code span.bu {
58 | color: #abe338;
59 | }
60 |
61 | code span.ch {
62 | color: #abe338;
63 | }
64 |
65 | code span.co {
66 | font-style: italic;
67 | color: #f8f8f2;
68 | }
69 |
70 | code span.cv {
71 | color: #ffd700;
72 | }
73 |
74 | code span.cn {
75 | color: #ffd700;
76 | }
77 |
78 | code span.cf {
79 | font-weight: bold;
80 | color: #ffa07a;
81 | }
82 |
83 | code span.dt {
84 | color: #ffa07a;
85 | }
86 |
87 | code span.dv {
88 | color: #d4d0ab;
89 | }
90 |
91 | code span.do {
92 | color: #f8f8f2;
93 | }
94 |
95 | code span.er {
96 | color: #f07178;
97 | text-decoration: underline;
98 | }
99 |
100 | code span.ex {
101 | font-weight: bold;
102 | color: #00e0e0;
103 | }
104 |
105 | code span.fl {
106 | color: #d4d0ab;
107 | }
108 |
109 | code span.fu {
110 | color: #ffa07a;
111 | }
112 |
113 | code span.im {
114 | color: #abe338;
115 | }
116 |
117 | code span.in {
118 | color: #d4d0ab;
119 | }
120 |
121 | code span.kw {
122 | font-weight: bold;
123 | color: #ffa07a;
124 | }
125 |
126 | pre > code.sourceCode > span {
127 | color: #f8f8f2;
128 | }
129 |
130 | code span {
131 | color: #f8f8f2;
132 | }
133 |
134 | code.sourceCode > span {
135 | color: #f8f8f2;
136 | }
137 |
138 | div.sourceCode,
139 | div.sourceCode pre.sourceCode {
140 | color: #f8f8f2;
141 | }
142 |
143 | code span.op {
144 | color: #ffa07a;
145 | }
146 |
147 | code span.ot {
148 | color: #00e0e0;
149 | }
150 |
151 | code span.pp {
152 | color: #dcc6e0;
153 | }
154 |
155 | code span.re {
156 | color: #00e0e0;
157 | }
158 |
159 | code span.sc {
160 | color: #abe338;
161 | }
162 |
163 | code span.ss {
164 | color: #abe338;
165 | }
166 |
167 | code span.st {
168 | color: #abe338;
169 | }
170 |
171 | code span.va {
172 | color: #00e0e0;
173 | }
174 |
175 | code span.vs {
176 | color: #abe338;
177 | }
178 |
179 | code span.wa {
180 | color: #dcc6e0;
181 | }
182 |
183 | .prevent-inlining {
184 | content: "";
185 | }
186 |
187 | /*# sourceMappingURL=935a306eefa94366c21e1a970dddb765.css.map */
188 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/reset.css:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v4.0 | 20180602
3 | License: none (public domain)
4 | */
5 |
6 | html, body, div, span, applet, object, iframe,
7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8 | a, abbr, acronym, address, big, cite, code,
9 | del, dfn, em, img, ins, kbd, q, s, samp,
10 | small, strike, strong, sub, sup, tt, var,
11 | b, u, i, center,
12 | dl, dt, dd, ol, ul, li,
13 | fieldset, form, label, legend,
14 | table, caption, tbody, tfoot, thead, tr, th, td,
15 | article, aside, canvas, details, embed,
16 | figure, figcaption, footer, header, hgroup,
17 | main, menu, nav, output, ruby, section, summary,
18 | time, mark, audio, video {
19 | margin: 0;
20 | padding: 0;
21 | border: 0;
22 | font-size: 100%;
23 | font: inherit;
24 | vertical-align: baseline;
25 | }
26 | /* HTML5 display-role reset for older browsers */
27 | article, aside, details, figcaption, figure,
28 | footer, header, hgroup, main, menu, nav, section {
29 | display: block;
30 | }
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/LICENSE:
--------------------------------------------------------------------------------
1 | SIL Open Font License (OFL)
2 | http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
3 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'League Gothic';
3 | src: url('./league-gothic.eot');
4 | src: url('./league-gothic.eot?#iefix') format('embedded-opentype'),
5 | url('./league-gothic.woff') format('woff'),
6 | url('./league-gothic.ttf') format('truetype');
7 |
8 | font-weight: normal;
9 | font-style: normal;
10 | }
11 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/LICENSE:
--------------------------------------------------------------------------------
1 | SIL Open Font License
2 |
3 | Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
4 |
5 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
6 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
7 |
8 | —————————————————————————————-
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | —————————————————————————————-
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
14 |
15 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
16 |
17 | DEFINITIONS
18 | “Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
19 |
20 | “Reserved Font Name” refers to any names specified as such after the copyright statement(s).
21 |
22 | “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
23 |
24 | “Modified Version” refers to any derivative made by adding to, deleting, or substituting—in part or in whole—any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
25 |
26 | “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
27 |
28 | PERMISSION & CONDITIONS
29 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
30 |
31 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
32 |
33 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
34 |
35 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
36 |
37 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
38 |
39 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
40 |
41 | TERMINATION
42 | This license becomes null and void if any of the above conditions are not met.
43 |
44 | DISCLAIMER
45 | THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jthomasmock/quarto-reporting/7dfe573d3363d81169ea967bb4b779ef92a98f68/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Source Sans Pro';
3 | src: url('./source-sans-pro-regular.eot');
4 | src: url('./source-sans-pro-regular.eot?#iefix') format('embedded-opentype'),
5 | url('./source-sans-pro-regular.woff') format('woff'),
6 | url('./source-sans-pro-regular.ttf') format('truetype');
7 | font-weight: normal;
8 | font-style: normal;
9 | }
10 |
11 | @font-face {
12 | font-family: 'Source Sans Pro';
13 | src: url('./source-sans-pro-italic.eot');
14 | src: url('./source-sans-pro-italic.eot?#iefix') format('embedded-opentype'),
15 | url('./source-sans-pro-italic.woff') format('woff'),
16 | url('./source-sans-pro-italic.ttf') format('truetype');
17 | font-weight: normal;
18 | font-style: italic;
19 | }
20 |
21 | @font-face {
22 | font-family: 'Source Sans Pro';
23 | src: url('./source-sans-pro-semibold.eot');
24 | src: url('./source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'),
25 | url('./source-sans-pro-semibold.woff') format('woff'),
26 | url('./source-sans-pro-semibold.ttf') format('truetype');
27 | font-weight: 600;
28 | font-style: normal;
29 | }
30 |
31 | @font-face {
32 | font-family: 'Source Sans Pro';
33 | src: url('./source-sans-pro-semibolditalic.eot');
34 | src: url('./source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'),
35 | url('./source-sans-pro-semibolditalic.woff') format('woff'),
36 | url('./source-sans-pro-semibolditalic.ttf') format('truetype');
37 | font-weight: 600;
38 | font-style: italic;
39 | }
40 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/highlight/monokai.css:
--------------------------------------------------------------------------------
1 | /*
2 | Monokai style - ported by Luigi Maselli - http://grigio.org
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #272822;
10 | color: #ddd;
11 | }
12 |
13 | .hljs-tag,
14 | .hljs-keyword,
15 | .hljs-selector-tag,
16 | .hljs-literal,
17 | .hljs-strong,
18 | .hljs-name {
19 | color: #f92672;
20 | }
21 |
22 | .hljs-code {
23 | color: #66d9ef;
24 | }
25 |
26 | .hljs-class .hljs-title {
27 | color: white;
28 | }
29 |
30 | .hljs-attribute,
31 | .hljs-symbol,
32 | .hljs-regexp,
33 | .hljs-link {
34 | color: #bf79db;
35 | }
36 |
37 | .hljs-string,
38 | .hljs-bullet,
39 | .hljs-subst,
40 | .hljs-title,
41 | .hljs-section,
42 | .hljs-emphasis,
43 | .hljs-type,
44 | .hljs-built_in,
45 | .hljs-builtin-name,
46 | .hljs-selector-attr,
47 | .hljs-selector-pseudo,
48 | .hljs-addition,
49 | .hljs-variable,
50 | .hljs-template-tag,
51 | .hljs-template-variable {
52 | color: #a6e22e;
53 | }
54 |
55 | .hljs-comment,
56 | .hljs-quote,
57 | .hljs-deletion,
58 | .hljs-meta {
59 | color: #75715e;
60 | }
61 |
62 | .hljs-keyword,
63 | .hljs-selector-tag,
64 | .hljs-literal,
65 | .hljs-doctag,
66 | .hljs-title,
67 | .hljs-section,
68 | .hljs-type,
69 | .hljs-selector-id {
70 | font-weight: bold;
71 | }
72 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/highlight/zenburn.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov
4 | based on dark.css by Ivan Sagalaev
5 |
6 | */
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #3f3f3f;
13 | color: #dcdcdc;
14 | }
15 |
16 | .hljs-keyword,
17 | .hljs-selector-tag,
18 | .hljs-tag {
19 | color: #e3ceab;
20 | }
21 |
22 | .hljs-template-tag {
23 | color: #dcdcdc;
24 | }
25 |
26 | .hljs-number {
27 | color: #8cd0d3;
28 | }
29 |
30 | .hljs-variable,
31 | .hljs-template-variable,
32 | .hljs-attribute {
33 | color: #efdcbc;
34 | }
35 |
36 | .hljs-literal {
37 | color: #efefaf;
38 | }
39 |
40 | .hljs-subst {
41 | color: #8f8f8f;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-name,
46 | .hljs-selector-id,
47 | .hljs-selector-class,
48 | .hljs-section,
49 | .hljs-type {
50 | color: #efef8f;
51 | }
52 |
53 | .hljs-symbol,
54 | .hljs-bullet,
55 | .hljs-link {
56 | color: #dca3a3;
57 | }
58 |
59 | .hljs-deletion,
60 | .hljs-string,
61 | .hljs-built_in,
62 | .hljs-builtin-name {
63 | color: #cc9393;
64 | }
65 |
66 | .hljs-addition,
67 | .hljs-comment,
68 | .hljs-quote,
69 | .hljs-meta {
70 | color: #7f9f7f;
71 | }
72 |
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
78 | .hljs-strong {
79 | font-weight: bold;
80 | }
81 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/math/katex.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A plugin which enables rendering of math equations inside
3 | * of reveal.js slides. Essentially a thin wrapper for KaTeX.
4 | *
5 | * @author Hakim El Hattab
6 | * @author Gerhard Burger
7 | */
8 | export const KaTeX = () => {
9 | let deck;
10 |
11 | let defaultOptions = {
12 | version: 'latest',
13 | delimiters: [
14 | {left: '$$', right: '$$', display: true}, // Note: $$ has to come before $
15 | {left: '$', right: '$', display: false},
16 | {left: '\\(', right: '\\)', display: false},
17 | {left: '\\[', right: '\\]', display: true}
18 | ],
19 | ignoredTags: ['script', 'noscript', 'style', 'textarea', 'pre']
20 | }
21 |
22 | const loadCss = src => {
23 | let link = document.createElement('link');
24 | link.rel = 'stylesheet';
25 | link.href = src;
26 | document.head.appendChild(link);
27 | };
28 |
29 | /**
30 | * Loads a JavaScript file and returns a Promise for when it is loaded
31 | * Credits: https://aaronsmith.online/easily-load-an-external-script-using-javascript/
32 | */
33 | const loadScript = src => {
34 | return new Promise((resolve, reject) => {
35 | const script = document.createElement('script')
36 | script.type = 'text/javascript'
37 | script.onload = resolve
38 | script.onerror = reject
39 | script.src = src
40 | document.head.append(script)
41 | })
42 | };
43 |
44 | async function loadScripts(urls) {
45 | for(const url of urls) {
46 | await loadScript(url);
47 | }
48 | }
49 |
50 | return {
51 | id: 'katex',
52 |
53 | init: function (reveal) {
54 |
55 | deck = reveal;
56 |
57 | let revealOptions = deck.getConfig().katex || {};
58 |
59 | let options = {...defaultOptions, ...revealOptions};
60 | const {local, version, extensions, ...katexOptions} = options;
61 |
62 | let baseUrl = options.local || 'https://cdn.jsdelivr.net/npm/katex';
63 | let versionString = options.local ? '' : '@' + options.version;
64 |
65 | let cssUrl = baseUrl + versionString + '/dist/katex.min.css';
66 | let katexUrl = baseUrl + versionString + '/dist/katex.min.js';
67 | let mhchemUrl = baseUrl + versionString + '/dist/contrib/mhchem.min.js'
68 | let karUrl = baseUrl + versionString + '/dist/contrib/auto-render.min.js';
69 |
70 | let katexScripts = [katexUrl];
71 | if(options.extensions && options.extensions.includes("mhchem")) {
72 | katexScripts.push(mhchemUrl);
73 | }
74 | katexScripts.push(karUrl);
75 |
76 | const renderMath = () => {
77 | renderMathInElement(reveal.getSlidesElement(), katexOptions);
78 | deck.layout();
79 | }
80 |
81 | loadCss(cssUrl);
82 |
83 | // For some reason dynamically loading with defer attribute doesn't result in the expected behavior, the below code does
84 | loadScripts(katexScripts).then(() => {
85 | if( deck.isReady() ) {
86 | renderMath();
87 | }
88 | else {
89 | deck.on( 'ready', renderMath.bind( this ) );
90 | }
91 | });
92 |
93 | }
94 | }
95 |
96 | };
97 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/math/mathjax2.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A plugin which enables rendering of math equations inside
3 | * of reveal.js slides. Essentially a thin wrapper for MathJax.
4 | *
5 | * @author Hakim El Hattab
6 | */
7 | export const MathJax2 = () => {
8 |
9 | // The reveal.js instance this plugin is attached to
10 | let deck;
11 |
12 | let defaultOptions = {
13 | messageStyle: 'none',
14 | tex2jax: {
15 | inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ],
16 | skipTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ]
17 | },
18 | skipStartupTypeset: true
19 | };
20 |
21 | function loadScript( url, callback ) {
22 |
23 | let head = document.querySelector( 'head' );
24 | let script = document.createElement( 'script' );
25 | script.type = 'text/javascript';
26 | script.src = url;
27 |
28 | // Wrapper for callback to make sure it only fires once
29 | let finish = () => {
30 | if( typeof callback === 'function' ) {
31 | callback.call();
32 | callback = null;
33 | }
34 | }
35 |
36 | script.onload = finish;
37 |
38 | // IE
39 | script.onreadystatechange = () => {
40 | if ( this.readyState === 'loaded' ) {
41 | finish();
42 | }
43 | }
44 |
45 | // Normal browsers
46 | head.appendChild( script );
47 |
48 | }
49 |
50 | return {
51 | id: 'mathjax2',
52 |
53 | init: function( reveal ) {
54 |
55 | deck = reveal;
56 |
57 | let revealOptions = deck.getConfig().mathjax2 || deck.getConfig().math || {};
58 |
59 | let options = { ...defaultOptions, ...revealOptions };
60 | let mathjax = options.mathjax || 'https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js';
61 | let config = options.config || 'TeX-AMS_HTML-full';
62 | let url = mathjax + '?config=' + config;
63 |
64 | options.tex2jax = { ...defaultOptions.tex2jax, ...revealOptions.tex2jax };
65 |
66 | options.mathjax = options.config = null;
67 |
68 | loadScript( url, function() {
69 |
70 | MathJax.Hub.Config( options );
71 |
72 | // Typeset followed by an immediate reveal.js layout since
73 | // the typesetting process could affect slide height
74 | MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, deck.getRevealElement() ] );
75 | MathJax.Hub.Queue( deck.layout );
76 |
77 | // Reprocess equations in slides when they turn visible
78 | deck.on( 'slidechanged', function( event ) {
79 |
80 | MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] );
81 |
82 | } );
83 |
84 | } );
85 |
86 | }
87 | }
88 |
89 | };
90 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/math/mathjax3.js:
--------------------------------------------------------------------------------
1 | /**
2 | * A plugin which enables rendering of math equations inside
3 | * of reveal.js slides. Essentially a thin wrapper for MathJax 3
4 | *
5 | * @author Hakim El Hattab
6 | * @author Gerhard Burger
7 | */
8 | export const MathJax3 = () => {
9 |
10 | // The reveal.js instance this plugin is attached to
11 | let deck;
12 |
13 | let defaultOptions = {
14 | tex: {
15 | inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ]
16 | },
17 | options: {
18 | skipHtmlTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ]
19 | },
20 | startup: {
21 | ready: () => {
22 | MathJax.startup.defaultReady();
23 | MathJax.startup.promise.then(() => {
24 | Reveal.layout();
25 | });
26 | }
27 | }
28 | };
29 |
30 | function loadScript( url, callback ) {
31 |
32 | let script = document.createElement( 'script' );
33 | script.type = "text/javascript"
34 | script.id = "MathJax-script"
35 | script.src = url;
36 | script.async = true
37 |
38 | // Wrapper for callback to make sure it only fires once
39 | script.onload = () => {
40 | if (typeof callback === 'function') {
41 | callback.call();
42 | callback = null;
43 | }
44 | };
45 |
46 | document.head.appendChild( script );
47 |
48 | }
49 |
50 | return {
51 | id: 'mathjax3',
52 | init: function(reveal) {
53 |
54 | deck = reveal;
55 |
56 | let revealOptions = deck.getConfig().mathjax3 || {};
57 | let options = {...defaultOptions, ...revealOptions};
58 | options.tex = {...defaultOptions.tex, ...revealOptions.tex}
59 | options.options = {...options.options, ...defaultOptions.options}
60 | options.startup = {...defaultOptions.startup, ...revealOptions.startup}
61 |
62 | let url = options.mathjax || 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js';
63 | options.mathjax = null;
64 |
65 | window.MathJax = options;
66 |
67 | loadScript( url, function() {
68 | // Reprocess equations in slides when they turn visible
69 | Reveal.addEventListener( 'slidechanged', function( event ) {
70 | MathJax.typeset();
71 | } );
72 | } );
73 |
74 | }
75 | }
76 |
77 | };
78 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/math/plugin.js:
--------------------------------------------------------------------------------
1 | import {KaTeX} from "./katex";
2 | import {MathJax2} from "./mathjax2";
3 | import {MathJax3} from "./mathjax3";
4 |
5 | const defaultTypesetter = MathJax2;
6 |
7 | /*!
8 | * This plugin is a wrapper for the MathJax2,
9 | * MathJax3 and KaTeX typesetter plugins.
10 | */
11 | export default Plugin = Object.assign( defaultTypesetter(), {
12 | KaTeX,
13 | MathJax2,
14 | MathJax3
15 | } );
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/multiplex/multiplex.js:
--------------------------------------------------------------------------------
1 | (function() {
2 |
3 | // emulate async script load
4 | window.addEventListener( 'load', function() {
5 | var multiplex = Reveal.getConfig().multiplex;
6 | var socketId = multiplex.id;
7 | var socket = io.connect(multiplex.url);
8 |
9 | function post( evt ) {
10 | var messageData = {
11 | state: Reveal.getState(),
12 | secret: multiplex.secret,
13 | socketId: multiplex.id,
14 | content: (evt || {}).content
15 | };
16 | socket.emit( 'multiplex-statechanged', messageData );
17 | };
18 |
19 | // master
20 | if (multiplex.secret !== null) {
21 |
22 | // Don't emit events from inside of notes windows
23 | if ( window.location.search.match( /receiver/gi ) ) { return; }
24 |
25 | // post once the page is loaded, so the client follows also on "open URL".
26 | post();
27 |
28 | // Monitor events that trigger a change in state
29 | Reveal.on( 'slidechanged', post );
30 | Reveal.on( 'fragmentshown', post );
31 | Reveal.on( 'fragmenthidden', post );
32 | Reveal.on( 'overviewhidden', post );
33 | Reveal.on( 'overviewshown', post );
34 | Reveal.on( 'paused', post );
35 | Reveal.on( 'resumed', post );
36 | document.addEventListener( 'send', post ); // broadcast custom events sent by other plugins
37 |
38 | // client
39 | } else {
40 | socket.on(multiplex.id, function(message) {
41 | // ignore data from sockets that aren't ours
42 | if (message.socketId !== socketId) { return; }
43 | if( window.location.host === 'localhost:1947' ) return;
44 |
45 | if ( message.state ) {
46 | Reveal.setState(message.state);
47 | }
48 | if ( message.content ) {
49 | // forward custom events to other plugins
50 | var event = new CustomEvent('received');
51 | event.content = message.content;
52 | document.dispatchEvent( event );
53 | }
54 | });
55 | }
56 | });
57 | }());
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/multiplex/plugin.yml:
--------------------------------------------------------------------------------
1 | name: multiplex
2 | script: [socket.io.js, multiplex.js]
3 | register: false
4 | config:
5 | multiplex:
6 | secret: null
7 | id: null
8 | url: "https://reveal-multiplex.glitch.me/"
9 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/notes/plugin.js:
--------------------------------------------------------------------------------
1 | import speakerViewHTML from './speaker-view.html';
2 |
3 | import marked from 'marked';
4 |
5 | /**
6 | * Handles opening of and synchronization with the reveal.js
7 | * notes window.
8 | *
9 | * Handshake process:
10 | * 1. This window posts 'connect' to notes window
11 | * - Includes URL of presentation to show
12 | * 2. Notes window responds with 'connected' when it is available
13 | * 3. This window proceeds to send the current presentation state
14 | * to the notes window
15 | */
16 | const Plugin = () => {
17 |
18 | let popup = null;
19 |
20 | let deck;
21 |
22 | function openNotes() {
23 |
24 | if (popup && !popup.closed) {
25 | popup.focus();
26 | return;
27 | }
28 |
29 | popup = window.open( 'about:blank', 'reveal.js - Notes', 'width=1100,height=700' );
30 | popup.marked = marked;
31 | popup.document.write( speakerViewHTML );
32 |
33 | if( !popup ) {
34 | alert( 'Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.' );
35 | return;
36 | }
37 |
38 | /**
39 | * Connect to the notes window through a postmessage handshake.
40 | * Using postmessage enables us to work in situations where the
41 | * origins differ, such as a presentation being opened from the
42 | * file system.
43 | */
44 | function connect() {
45 | // Keep trying to connect until we get a 'connected' message back
46 | let connectInterval = setInterval( function() {
47 | popup.postMessage( JSON.stringify( {
48 | namespace: 'reveal-notes',
49 | type: 'connect',
50 | url: window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search,
51 | state: deck.getState()
52 | } ), '*' );
53 | }, 500 );
54 |
55 | window.addEventListener( 'message', function( event ) {
56 | let data = JSON.parse( event.data );
57 | if( data && data.namespace === 'reveal-notes' && data.type === 'connected' ) {
58 | clearInterval( connectInterval );
59 | onConnected();
60 | }
61 | if( data && data.namespace === 'reveal-notes' && data.type === 'call' ) {
62 | callRevealApi( data.methodName, data.arguments, data.callId );
63 | }
64 | } );
65 | }
66 |
67 | /**
68 | * Calls the specified Reveal.js method with the provided argument
69 | * and then pushes the result to the notes frame.
70 | */
71 | function callRevealApi( methodName, methodArguments, callId ) {
72 |
73 | let result = deck[methodName].apply( deck, methodArguments );
74 | popup.postMessage( JSON.stringify( {
75 | namespace: 'reveal-notes',
76 | type: 'return',
77 | result: result,
78 | callId: callId
79 | } ), '*' );
80 |
81 | }
82 |
83 | /**
84 | * Posts the current slide data to the notes window
85 | */
86 | function post( event ) {
87 |
88 | let slideElement = deck.getCurrentSlide(),
89 | notesElement = slideElement.querySelector( 'aside.notes' ),
90 | fragmentElement = slideElement.querySelector( '.current-fragment' );
91 |
92 | let messageData = {
93 | namespace: 'reveal-notes',
94 | type: 'state',
95 | notes: '',
96 | markdown: false,
97 | whitespace: 'normal',
98 | state: deck.getState()
99 | };
100 |
101 | // Look for notes defined in a slide attribute
102 | if( slideElement.hasAttribute( 'data-notes' ) ) {
103 | messageData.notes = slideElement.getAttribute( 'data-notes' );
104 | messageData.whitespace = 'pre-wrap';
105 | }
106 |
107 | // Look for notes defined in a fragment
108 | if( fragmentElement ) {
109 | let fragmentNotes = fragmentElement.querySelector( 'aside.notes' );
110 | if( fragmentNotes ) {
111 | notesElement = fragmentNotes;
112 | }
113 | else if( fragmentElement.hasAttribute( 'data-notes' ) ) {
114 | messageData.notes = fragmentElement.getAttribute( 'data-notes' );
115 | messageData.whitespace = 'pre-wrap';
116 |
117 | // In case there are slide notes
118 | notesElement = null;
119 | }
120 | }
121 |
122 | // Look for notes defined in an aside element
123 | if( notesElement ) {
124 | messageData.notes = notesElement.innerHTML;
125 | messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string';
126 | }
127 |
128 | popup.postMessage( JSON.stringify( messageData ), '*' );
129 |
130 | }
131 |
132 | /**
133 | * Called once we have established a connection to the notes
134 | * window.
135 | */
136 | function onConnected() {
137 |
138 | // Monitor events that trigger a change in state
139 | deck.on( 'slidechanged', post );
140 | deck.on( 'fragmentshown', post );
141 | deck.on( 'fragmenthidden', post );
142 | deck.on( 'overviewhidden', post );
143 | deck.on( 'overviewshown', post );
144 | deck.on( 'paused', post );
145 | deck.on( 'resumed', post );
146 |
147 | // Post the initial state
148 | post();
149 |
150 | }
151 |
152 | connect();
153 |
154 | }
155 |
156 | return {
157 | id: 'notes',
158 |
159 | init: function( reveal ) {
160 |
161 | deck = reveal;
162 |
163 | if( !/receiver/i.test( window.location.search ) ) {
164 |
165 | // If the there's a 'notes' query set, open directly
166 | if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) {
167 | openNotes();
168 | }
169 |
170 | // Open the notes when the 's' key is hit
171 | deck.addKeyBinding({keyCode: 83, key: 'S', description: 'Speaker notes view'}, function() {
172 | openNotes();
173 | } );
174 |
175 | }
176 |
177 | },
178 |
179 | open: openNotes
180 | };
181 |
182 | };
183 |
184 | export default Plugin;
185 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/pdf-export/pdfexport.js:
--------------------------------------------------------------------------------
1 | var PdfExport = ( function( _Reveal ){
2 |
3 | var Reveal = _Reveal;
4 | var setStylesheet = null;
5 | var installAltKeyBindings = null;
6 |
7 | function getRevealJsPath(){
8 | var regex = /\b[^/]+\/reveal.css$/i;
9 | var script = Array.from( document.querySelectorAll( 'link' ) ).find( function( e ){
10 | return e.attributes.href && e.attributes.href.value.search( regex ) >= 0;
11 | });
12 | if( !script ){
13 | console.error( 'reveal.css could not be found in included elements. Did you rename this file?' );
14 | return '';
15 | }
16 | return script.attributes.href.value.replace( regex, '' );
17 | }
18 |
19 | function setStylesheet3( pdfExport ){
20 | var link = document.querySelector( '#print' );
21 | if( !link ){
22 | link = document.createElement( 'link' );
23 | link.rel = 'stylesheet';
24 | link.id = 'print';
25 | document.querySelector( 'head' ).appendChild( link );
26 | }
27 | var style = 'paper';
28 | if( pdfExport ){
29 | style = 'pdf';
30 | }
31 | link.href = getRevealJsPath() + 'css/print/' + style + '.css';
32 | }
33 |
34 | function setStylesheet4( pdfExport ){
35 | }
36 |
37 | function installAltKeyBindings3(){
38 | }
39 |
40 | function installAltKeyBindings4(){
41 | if( isPrintingPDF() ){
42 | var config = Reveal.getConfig();
43 | var shortcut = config.pdfExportShortcut || 'E';
44 | window.addEventListener( 'keydown', function( e ){
45 | if( e.target.nodeName.toUpperCase() == 'BODY'
46 | && ( e.key.toUpperCase() == shortcut.toUpperCase() || e.keyCode == shortcut.toUpperCase().charCodeAt( 0 ) ) ){
47 | e.preventDefault();
48 | togglePdfExport();
49 | return false;
50 | }
51 | }, true );
52 | }
53 | }
54 |
55 | function isPrintingPDF(){
56 | return ( /print-pdf/gi ).test( window.location.search );
57 | }
58 |
59 | function togglePdfExport(){
60 | var url_doc = new URL( document.URL );
61 | var query_doc = new URLSearchParams( url_doc.searchParams );
62 | if( isPrintingPDF() ){
63 | query_doc.delete( 'print-pdf' );
64 | }else{
65 | query_doc.set( 'print-pdf', '' );
66 | }
67 | url_doc.search = ( query_doc.toString() ? '?' + query_doc.toString() : '' );
68 | window.location.href = url_doc.toString();
69 | }
70 |
71 | function installKeyBindings(){
72 | var config = Reveal.getConfig();
73 | var shortcut = config.pdfExportShortcut || 'E';
74 | Reveal.addKeyBinding({
75 | keyCode: shortcut.toUpperCase().charCodeAt( 0 ),
76 | key: shortcut.toUpperCase(),
77 | description: 'PDF export mode'
78 | }, togglePdfExport );
79 | installAltKeyBindings();
80 | }
81 |
82 | function install(){
83 | installKeyBindings();
84 | setStylesheet( isPrintingPDF() );
85 | }
86 |
87 | var Plugin = {
88 | }
89 |
90 | if( Reveal && Reveal.VERSION && Reveal.VERSION.length && Reveal.VERSION[ 0 ] == '3' ){
91 | // reveal 3.x
92 | setStylesheet = setStylesheet3;
93 | installAltKeyBindings = installAltKeyBindings3;
94 | install();
95 | }else{
96 | // must be reveal 4.x
97 | setStylesheet = setStylesheet4;
98 | installAltKeyBindings = installAltKeyBindings4;
99 | Plugin.id = 'pdf-export';
100 | Plugin.init = function( _Reveal ){
101 | Reveal = _Reveal;
102 | install();
103 | };
104 | }
105 |
106 | return Plugin;
107 |
108 | })( Reveal );
109 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/pdf-export/plugin.yml:
--------------------------------------------------------------------------------
1 | name: PdfExport
2 | script: pdfexport.js
3 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/quarto-line-highlight/line-highlight.css:
--------------------------------------------------------------------------------
1 | .reveal
2 | div.sourceCode
3 | pre
4 | code.has-line-highlights
5 | > span:not(.highlight-line) {
6 | opacity: 0.4;
7 | }
8 |
9 | .reveal pre.numberSource {
10 | padding-left: 0;
11 | }
12 |
13 | .reveal pre.numberSource code > span {
14 | left: -2.1em;
15 | }
16 |
17 | pre.numberSource code > span > a:first-child::before {
18 | left: -0.7em;
19 | }
20 |
21 | .reveal pre > code:not(:first-child).fragment {
22 | position: absolute;
23 | top: 0;
24 | left: 0;
25 | width: 100%;
26 | box-sizing: border-box;
27 | }
28 |
29 | .reveal div.sourceCode pre code {
30 | min-height: 100%;
31 | }
32 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/quarto-line-highlight/plugin.yml:
--------------------------------------------------------------------------------
1 | # adapted from https://github.com/hakimel/reveal.js/tree/master/plugin/highlight
2 | name: QuartoLineHighlight
3 | script: line-highlight.js
4 | stylesheet: line-highlight.css
5 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/quarto-support/footer.css:
--------------------------------------------------------------------------------
1 | .reveal .slide-logo {
2 | display: block;
3 | position: fixed;
4 | bottom: 0;
5 | right: 12px;
6 | max-height: 2.2rem;
7 | height: 100%;
8 | width: auto;
9 | }
10 |
11 | .reveal .footer {
12 | display: block;
13 | position: fixed;
14 | bottom: 18px;
15 | width: 100%;
16 | margin: 0 auto;
17 | text-align: center;
18 | font-size: 18px;
19 | z-index: 2;
20 | }
21 |
22 | .reveal .footer > * {
23 | margin-top: 0;
24 | margin-bottom: 0;
25 | }
26 |
27 | .reveal .slide .footer {
28 | display: none;
29 | }
30 |
31 | .reveal .slide-number {
32 | bottom: 10px;
33 | right: 10px;
34 | font-size: 16px;
35 | background-color: transparent;
36 | }
37 |
38 | .reveal.has-logo .slide-number {
39 | bottom: initial;
40 | top: 8px;
41 | right: 8px;
42 | }
43 |
44 | .reveal .slide-number .slide-number-delimiter {
45 | margin: 0;
46 | }
47 |
48 | .reveal .slide-menu-button {
49 | left: 8px;
50 | bottom: 8px;
51 | }
52 |
53 | .reveal .slide-chalkboard-buttons {
54 | position: fixed;
55 | left: 12px;
56 | bottom: 8px;
57 | z-index: 30;
58 | font-size: 24px;
59 | }
60 |
61 | .reveal .slide-chalkboard-buttons.slide-menu-offset {
62 | left: 54px;
63 | }
64 |
65 | .reveal .slide-chalkboard-buttons > span {
66 | margin-right: 14px;
67 | cursor: pointer;
68 | }
69 |
70 | @media screen and (max-width: 800px) {
71 | .reveal .slide-logo {
72 | max-height: 1.1rem;
73 | bottom: -2px;
74 | right: 10px;
75 | }
76 | .reveal .footer {
77 | font-size: 14px;
78 | bottom: 12px;
79 | }
80 | .reveal .slide-number {
81 | font-size: 12px;
82 | bottom: 7px;
83 | }
84 | .reveal .slide-menu-button .fas::before {
85 | height: 1.3rem;
86 | width: 1.3rem;
87 | vertical-align: -0.125em;
88 | background-size: 1.3rem 1.3rem;
89 | }
90 |
91 | .reveal .slide-chalkboard-buttons .fas::before {
92 | height: 0.95rem;
93 | width: 0.95rem;
94 | background-size: 0.95rem 0.95rem;
95 | vertical-align: -0em;
96 | }
97 |
98 | .reveal .slide-chalkboard-buttons.slide-menu-offset {
99 | left: 36px;
100 | }
101 | .reveal .slide-chalkboard-buttons > span {
102 | margin-right: 9px;
103 | }
104 | }
105 |
106 | html.print-pdf .reveal .slide-menu-button,
107 | html.print-pdf .reveal .slide-chalkboard-buttons {
108 | display: none;
109 | }
110 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/quarto-support/plugin.yml:
--------------------------------------------------------------------------------
1 | name: QuartoSupport
2 | script: support.js
3 | stylesheet: footer.css
4 | config:
5 | smaller: false
6 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/reveal-menu/plugin.yml:
--------------------------------------------------------------------------------
1 | name: RevealMenu
2 | script: [menu.js, quarto-menu.js]
3 | stylesheet: [menu.css, quarto-menu.css]
4 | config:
5 | menu:
6 | side: "left"
7 | useTextContentForMissingTitles: true
8 | markers: false
9 | loadIcons: false
10 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/reveal-menu/quarto-menu.css:
--------------------------------------------------------------------------------
1 | .slide-menu-wrapper .slide-tool-item {
2 | display: block;
3 | text-align: left;
4 | padding: 10px 18px;
5 | color: #aaa;
6 | cursor: pointer;
7 | border-top: solid 1px #555;
8 | }
9 |
10 | .slide-menu-wrapper .slide-tool-item a {
11 | text-decoration: none;
12 | }
13 |
14 | .slide-menu-wrapper .slide-tool-item kbd {
15 | font-family: monospace;
16 | margin-right: 10px;
17 | padding: 3px 8px;
18 | color: inherit;
19 | border: 1px solid;
20 | border-radius: 5px;
21 | border-color: #555;
22 | }
23 |
24 | .slide-menu-wrapper .slide-menu-toolbar > li.active-toolbar-button {
25 | text-decoration: none;
26 | }
27 |
28 | .reveal .slide-menu-button {
29 | left: 8px;
30 | bottom: 8px;
31 | }
32 |
33 | .reveal .slide-menu-button .fas::before,
34 | .reveal .slide-chalkboard-buttons .fas::before,
35 | .slide-menu-wrapper .slide-menu-toolbar .fas::before {
36 | display: inline-block;
37 | height: 2.2rem;
38 | width: 2.2rem;
39 | content: "";
40 | vertical-align: -0.125em;
41 | background-repeat: no-repeat;
42 | background-size: 2.2rem 2.2rem;
43 | }
44 |
45 | .reveal .slide-chalkboard-buttons .fas::before {
46 | height: 1.45rem;
47 | width: 1.45rem;
48 | background-size: 1.45rem 1.45rem;
49 | vertical-align: 0.1em;
50 | }
51 |
52 | .slide-menu-wrapper .slide-menu-toolbar .fas::before {
53 | height: 1.8rem;
54 | width: 1.8rem;
55 | background-size: 1.8rem 1.8rem;
56 | }
57 |
58 | .slide-menu-wrapper .slide-menu-toolbar .fa-images::before {
59 | background-image: url('data:image/svg+xml,');
60 | }
61 |
62 | .slide-menu-wrapper .slide-menu-toolbar .fa-gear::before {
63 | background-image: url('data:image/svg+xml,');
64 | }
65 |
66 | .slide-menu-wrapper .slide-menu-toolbar .fa-times::before {
67 | background-image: url('data:image/svg+xml,');
68 | }
69 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/reveal-menu/quarto-menu.js:
--------------------------------------------------------------------------------
1 | window.revealMenuToolHandler = function (handler) {
2 | return function (event) {
3 | event.preventDefault();
4 | handler();
5 | Reveal.getPlugin("menu").closeMenu();
6 | };
7 | };
8 |
9 | window.RevealMenuToolHandlers = {
10 | fullscreen: revealMenuToolHandler(function () {
11 | const element = document.documentElement;
12 | const requestMethod =
13 | element.requestFullscreen ||
14 | element.webkitRequestFullscreen ||
15 | element.webkitRequestFullScreen ||
16 | element.mozRequestFullScreen ||
17 | element.msRequestFullscreen;
18 | if (requestMethod) {
19 | requestMethod.apply(element);
20 | }
21 | }),
22 | speakerMode: revealMenuToolHandler(function () {
23 | Reveal.getPlugin("notes").open();
24 | }),
25 | keyboardHelp: revealMenuToolHandler(function () {
26 | Reveal.toggleHelp(true);
27 | }),
28 | overview: revealMenuToolHandler(function () {
29 | Reveal.toggleOverview(true);
30 | }),
31 | toggleChalkboard: revealMenuToolHandler(function () {
32 | RevealChalkboard.toggleChalkboard();
33 | }),
34 | toggleNotesCanvas: revealMenuToolHandler(function () {
35 | RevealChalkboard.toggleNotesCanvas();
36 | }),
37 | downloadDrawings: revealMenuToolHandler(function () {
38 | RevealChalkboard.download();
39 | }),
40 | };
41 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/zoom/zoom.esm.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * reveal.js Zoom plugin
3 | */
4 | var e={id:"zoom",init:function(e){e.getRevealElement().addEventListener("mousedown",(function(o){var n=/Linux/.test(window.navigator.platform)?"ctrl":"alt",i=(e.getConfig().zoomKey?e.getConfig().zoomKey:n)+"Key",d=e.getConfig().zoomLevel?e.getConfig().zoomLevel:2;o[i]&&!e.isOverview()&&(o.preventDefault(),t.to({x:o.clientX,y:o.clientY,scale:d,pan:!1}))}))}},t=function(){var e=1,o=0,n=0,i=-1,d=-1,s="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style;function r(t,o){var n=y();if(t.width=t.width||1,t.height=t.height||1,t.x-=(window.innerWidth-t.width*o)/2,t.y-=(window.innerHeight-t.height*o)/2,s)if(1===o)document.body.style.transform="",document.body.style.OTransform="",document.body.style.msTransform="",document.body.style.MozTransform="",document.body.style.WebkitTransform="";else{var i=n.x+"px "+n.y+"px",d="translate("+-t.x+"px,"+-t.y+"px) scale("+o+")";document.body.style.transformOrigin=i,document.body.style.OTransformOrigin=i,document.body.style.msTransformOrigin=i,document.body.style.MozTransformOrigin=i,document.body.style.WebkitTransformOrigin=i,document.body.style.transform=d,document.body.style.OTransform=d,document.body.style.msTransform=d,document.body.style.MozTransform=d,document.body.style.WebkitTransform=d}else 1===o?(document.body.style.position="",document.body.style.left="",document.body.style.top="",document.body.style.width="",document.body.style.height="",document.body.style.zoom=""):(document.body.style.position="relative",document.body.style.left=-(n.x+t.x)/o+"px",document.body.style.top=-(n.y+t.y)/o+"px",document.body.style.width=100*o+"%",document.body.style.height=100*o+"%",document.body.style.zoom=o);e=o,document.documentElement.classList&&(1!==e?document.documentElement.classList.add("zoomed"):document.documentElement.classList.remove("zoomed"))}function m(){var t=.12*window.innerWidth,i=.12*window.innerHeight,d=y();nwindow.innerHeight-i&&window.scroll(d.x,d.y+(1-(window.innerHeight-n)/i)*(14/e)),owindow.innerWidth-t&&window.scroll(d.x+(1-(window.innerWidth-o)/t)*(14/e),d.y)}function y(){return{x:void 0!==window.scrollX?window.scrollX:window.pageXOffset,y:void 0!==window.scrollY?window.scrollY:window.pageYOffset}}return s&&(document.body.style.transition="transform 0.8s ease",document.body.style.OTransition="-o-transform 0.8s ease",document.body.style.msTransition="-ms-transform 0.8s ease",document.body.style.MozTransition="-moz-transform 0.8s ease",document.body.style.WebkitTransition="-webkit-transform 0.8s ease"),document.addEventListener("keyup",(function(o){1!==e&&27===o.keyCode&&t.out()})),document.addEventListener("mousemove",(function(t){1!==e&&(o=t.clientX,n=t.clientY)})),{to:function(o){if(1!==e)t.out();else{if(o.x=o.x||0,o.y=o.y||0,o.element){var n=o.element.getBoundingClientRect();o.x=n.left-20,o.y=n.top-20,o.width=n.width+40,o.height=n.height+40}void 0!==o.width&&void 0!==o.height&&(o.scale=Math.max(Math.min(window.innerWidth/o.width,window.innerHeight/o.height),1)),o.scale>1&&(o.x*=o.scale,o.y*=o.scale,r(o,o.scale),!1!==o.pan&&(i=setTimeout((function(){d=setInterval(m,1e3/60)}),800)))}},out:function(){clearTimeout(i),clearInterval(d),r({x:0,y:0},1),e=1},magnify:function(e){this.to(e)},reset:function(){this.out()},zoomLevel:function(){return e}}}();export default function(){return e}
5 |
--------------------------------------------------------------------------------
/quarto-reporting_files/libs/revealjs/plugin/zoom/zoom.js:
--------------------------------------------------------------------------------
1 | !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).RevealZoom=o()}(this,(function(){"use strict";
2 | /*!
3 | * reveal.js Zoom plugin
4 | */var e={id:"zoom",init:function(e){e.getRevealElement().addEventListener("mousedown",(function(t){var n=/Linux/.test(window.navigator.platform)?"ctrl":"alt",i=(e.getConfig().zoomKey?e.getConfig().zoomKey:n)+"Key",d=e.getConfig().zoomLevel?e.getConfig().zoomLevel:2;t[i]&&!e.isOverview()&&(t.preventDefault(),o.to({x:t.clientX,y:t.clientY,scale:d,pan:!1}))}))}},o=function(){var e=1,t=0,n=0,i=-1,d=-1,s="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style;function r(o,t){var n=l();if(o.width=o.width||1,o.height=o.height||1,o.x-=(window.innerWidth-o.width*t)/2,o.y-=(window.innerHeight-o.height*t)/2,s)if(1===t)document.body.style.transform="",document.body.style.OTransform="",document.body.style.msTransform="",document.body.style.MozTransform="",document.body.style.WebkitTransform="";else{var i=n.x+"px "+n.y+"px",d="translate("+-o.x+"px,"+-o.y+"px) scale("+t+")";document.body.style.transformOrigin=i,document.body.style.OTransformOrigin=i,document.body.style.msTransformOrigin=i,document.body.style.MozTransformOrigin=i,document.body.style.WebkitTransformOrigin=i,document.body.style.transform=d,document.body.style.OTransform=d,document.body.style.msTransform=d,document.body.style.MozTransform=d,document.body.style.WebkitTransform=d}else 1===t?(document.body.style.position="",document.body.style.left="",document.body.style.top="",document.body.style.width="",document.body.style.height="",document.body.style.zoom=""):(document.body.style.position="relative",document.body.style.left=-(n.x+o.x)/t+"px",document.body.style.top=-(n.y+o.y)/t+"px",document.body.style.width=100*t+"%",document.body.style.height=100*t+"%",document.body.style.zoom=t);e=t,document.documentElement.classList&&(1!==e?document.documentElement.classList.add("zoomed"):document.documentElement.classList.remove("zoomed"))}function m(){var o=.12*window.innerWidth,i=.12*window.innerHeight,d=l();nwindow.innerHeight-i&&window.scroll(d.x,d.y+(1-(window.innerHeight-n)/i)*(14/e)),twindow.innerWidth-o&&window.scroll(d.x+(1-(window.innerWidth-t)/o)*(14/e),d.y)}function l(){return{x:void 0!==window.scrollX?window.scrollX:window.pageXOffset,y:void 0!==window.scrollY?window.scrollY:window.pageYOffset}}return s&&(document.body.style.transition="transform 0.8s ease",document.body.style.OTransition="-o-transform 0.8s ease",document.body.style.msTransition="-ms-transform 0.8s ease",document.body.style.MozTransition="-moz-transform 0.8s ease",document.body.style.WebkitTransition="-webkit-transform 0.8s ease"),document.addEventListener("keyup",(function(t){1!==e&&27===t.keyCode&&o.out()})),document.addEventListener("mousemove",(function(o){1!==e&&(t=o.clientX,n=o.clientY)})),{to:function(t){if(1!==e)o.out();else{if(t.x=t.x||0,t.y=t.y||0,t.element){var n=t.element.getBoundingClientRect();t.x=n.left-20,t.y=n.top-20,t.width=n.width+40,t.height=n.height+40}void 0!==t.width&&void 0!==t.height&&(t.scale=Math.max(Math.min(window.innerWidth/t.width,window.innerHeight/t.height),1)),t.scale>1&&(t.x*=t.scale,t.y*=t.scale,r(t,t.scale),!1!==t.pan&&(i=setTimeout((function(){d=setInterval(m,1e3/60)}),800)))}},out:function(){clearTimeout(i),clearInterval(d),r({x:0,y:0},1),e=1},magnify:function(e){this.to(e)},reset:function(){this.out()},zoomLevel:function(){return e}}}();return function(){return e}}));
5 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ## Beautiful Presentations and Reports with Quarto
2 |
3 | Slides: [https://thomasmock.quarto.pub/reports-presentations/](https://thomasmock.quarto.pub/reports-presentations/)
4 |
--------------------------------------------------------------------------------
/styles.scss:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Fira+Mono&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
2 |
3 | /*-- scss:defaults --*/
4 |
5 | $link-color: #EE6331;
6 | $font-family-sans-serif: 'Open Sans', sans-serif;
7 | $font-family-monospace: 'Fira Mono', monospace;
8 |
9 | $presentation-title-slide-text-align: left;
10 |
11 | /*-- scss:rules --*/
12 |
13 | h2 {
14 | color: #447099 !important;
15 | }
16 |
--------------------------------------------------------------------------------