aboutsummaryrefslogtreecommitdiff
path: root/structure
diff options
context:
space:
mode:
Diffstat (limited to 'structure')
-rw-r--r--structure/00-header.tex81
-rw-r--r--structure/00-header.yml45
-rw-r--r--structure/00-preamble.md53
-rw-r--r--structure/00-preamble.tex62
-rw-r--r--structure/99-biblio.md9
-rw-r--r--structure/99-end.tex28
6 files changed, 278 insertions, 0 deletions
diff --git a/structure/00-header.tex b/structure/00-header.tex
new file mode 100644
index 0000000..48b7150
--- /dev/null
+++ b/structure/00-header.tex
@@ -0,0 +1,81 @@
+% Bookdown LaTeX header file
+
+% Inclusion of external PDF documents (such as a cover image)
+% See https://www.ctan.org/pkg/pdfpages
+\usepackage{pdfpages}
+
+% To properly handle URLs in bibliographies
+% See https://tex.stackexchange.com/questions/484176/biblatex-overflowing-url
+\usepackage{xurl}
+
+% PDF bookmarks
+% See https://ctan.org/pkg/bookmark
+% https://texdoc.org/serve/bookmark.pdf/0
+\usepackage[depth=2]{bookmark}
+
+% Indexing
+% See https://en.wikibooks.org/wiki/LaTeX/Indexing
+% https://www.ctan.org/pkg/makeidx
+% https://bookdown.org/yihui/bookdown/latex-index.html
+%\usepackage{imakeidx}
+\usepackage{makeidx}
+\makeindex
+
+% No matter what is said in the docs, this was required
+% But maybe because tufte::tufte_book was being used instead of bookdown::tufte_book2
+% So perhaps this is not needed anymore
+% See https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html#theorems
+% https://ctan.math.illinois.edu/macros/latex/contrib/thmtools/doc/thmtools-manual.pdf
+\usepackage{amsthm,thmtools}
+
+% Bookdown docs recommends to not mess with this
+% See https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html#theorems
+%\newtheorem{definition}{Definição}[chapter]
+%\newtheorem{hiphotesis}{Hipótese}[chapter]
+%\newtheorem{conjecture}{Conjectura}[chapter]
+%\newtheorem{demonstration}{Demonstração}[chapter]
+%\newtheorem{etimology}{Etimologia}[chapter]
+
+% Fix positions of margin notes
+% See https://ctan.org/pkg/marginfix
+% https://tex.stackexchange.com/questions/119726/horizontal-margins-for-margin-notes-in-the-tufte-classes
+% https://tex.stackexchange.com/questions/624033/long-sidenotes-break-marginfix-or-how-to-make-breakable-sidenotes
+\usepackage{marginfix}
+
+% Workaround to theorems work correctly
+% Maybe this is not needed anymore
+% See https://stackoverflow.com/questions/46942352/r-bookdown-document-with-theorem-does-not-render-when-output-file-is-specified
+\let\BeginKnitrBlock\begin \let\EndKnitrBlock\end
+
+% Set page size
+%
+% This command conflicts with something and gives an error
+%\usepackage[paperwidth=6in, paperheight=9in]{geometry}
+%
+% This command needs tuning for the margins
+%\newgeometry{paperwidth=6in, paperheight=9in}
+%
+% This also needs tuning
+% See https://tex.stackexchange.com/questions/201893/change-paper-size-in-tufte-book-class#380699
+%\newgeometry{
+% % showframe,
+% paperwidth=6in,
+% paperheight=9in,
+% left=0.55in,
+% right=0.45in,
+% top=.5in,
+% bottom=.5in,
+% marginparsep=0.25in,
+% marginparwidth=0.65in,
+% includemp,
+% includehead,
+% % The text width and height are calculated automatically.
+%}
+%
+% This should work, but we're setting this at 00-header.md
+%\newgeometry{b5paper}
+
+% Coverpage and copyright notice before title in R bookdown
+% See https://stackoverflow.com/questions/45963505/coverpage-and-copyright-notice-before-title-in-r-bookdown
+\let\oldmaketitle\maketitle
+\AtBeginDocument{\let\maketitle\relax}
diff --git a/structure/00-header.yml b/structure/00-header.yml
new file mode 100644
index 0000000..2ad19fe
--- /dev/null
+++ b/structure/00-header.yml
@@ -0,0 +1,45 @@
+# Bookdown YAML header
+# See https://bookdown.org/yihui/bookdown/usage.html#usage
+# https://bookdown.org/yihui/bookdown/yaml-options.html
+
+# Site
+site: "bookdown::bookdown_site"
+
+# Automatically generate the list of tables and figures
+# These can also be explicitly generated using LaTeX commands
+lot: false
+lof: false
+
+# Cover image
+#cover-image: "images/cover.png"
+
+# Fonts
+mainfont: "Linux Libertine O"
+monofont: "Liberation Mono"
+
+# Paper size
+#papersize: a4paper
+#papersize: letterpaper
+papersize: b5paper
+
+# Geometry
+#geometry: paperwidth=6in,paperheight=9in
+
+# Class option
+# Use "symmetric" in the classoption if you want margin notes in alternating sides
+#classoption: "symmetric,justified"
+#classoption: "twoside,symmetric,justified"
+classoption: "justified"
+
+# Header includes
+header-includes:
+ # Support for deeply nested lists
+ # See https://stackoverflow.com/questions/57945414/too-deeply-nested-at-just-fourth-nesting-level-using-pandoc-with-markdown
+ - \usepackage{enumitem}
+ - \setlistdepth{20}
+ - \renewlist{itemize}{itemize}{20}
+ - \renewlist{enumerate}{enumerate}{20}
+ - \setlist[itemize]{label=$\cdot$}
+ - \setlist[itemize,1]{label=\textbullet}
+ - \setlist[itemize,2]{label=--}
+ - \setlist[itemize,3]{label=*}
diff --git a/structure/00-preamble.md b/structure/00-preamble.md
new file mode 100644
index 0000000..4ec71c0
--- /dev/null
+++ b/structure/00-preamble.md
@@ -0,0 +1,53 @@
+<!-- Bookdown HTML before-body file -->
+
+<!-- Hack to generate a proper cover and fix the missing index.html file -->
+<!-- See https://stackoverflow.com/questions/58340924/bookdown-generates-index-file-with-a-chapter-title-instead-of-index-html-when -->
+<!-- See https://bookdown.org/yihui/rmarkdown-cookbook/document-metadata.html -->
+```{r echo=FALSE, results='asis'}
+if (knitr::is_html_output()) {
+ cat('# Início {#index .unnumbered}')
+ cat("\n")
+ cat('<img src="images/cover.png">')
+ cat("\n")
+ cat("<h2>Sobre</h2>")
+ cat("\n")
+ cat('<em>')
+ cat(readLines('DISCLAIMER'), sep='\n')
+ cat('</em>')
+ cat('<br/><br/>')
+ cat('Livro Vivo - Versão <strong><em>')
+ cat(readLines('.metadata/revision.txt'), sep='\n')
+ cat('</em></strong> - compilada em <strong><em>')
+ cat(readLines('.metadata/date.txt'), sep='\n')
+ cat('</em></strong>.')
+ cat('<br/>')
+ cat('Versões anteriores disponíveis no <a href="/archive">arquivo</a>.')
+ cat('<br/><br/>')
+ cat(readLines('snippets/project.txt'))
+ cat(' - ')
+ cat(readLines('snippets/volume.txt'))
+ cat('<br/>')
+ cat('Publicado por ')
+ cat(rmarkdown::metadata$publisher)
+ cat('<br/>')
+ cat('Publicado em ')
+ cat(readLines('snippets/url.txt'), sep='\n')
+ cat('<br/><br/>')
+ cat(readLines('snippets/keywords.txt'), sep='\n')
+ cat("\n")
+ cat("<h2>Créditos</h2>")
+ cat("\n")
+ cat(paste(rmarkdown::metadata$title, "<br/>", "Copyleft &copy;", readLines('.metadata/year.txt'), rmarkdown::metadata$author, readLines('.metadata/contact.txt'), sep=' '))
+ cat('<br/><br/>')
+ cat(readLines('LICENSE'), sep='\n')
+ cat('<br/><br/>')
+ cat(readLines('snippets/cover.txt'), sep='\n')
+ cat("<h2>Versão PDF</h2>")
+ cat("\n")
+ cat('Baixe a versão PDF <a href="essays.pdf">aqui</a>, ou navegue abaixo:')
+ cat("\n")
+ cat('<br/><br/>')
+ cat('<embed src="essays.pdf" width="100%" height="375" type="application/pdf">')
+ cat('<br/><br/>')
+}
+```
diff --git a/structure/00-preamble.tex b/structure/00-preamble.tex
new file mode 100644
index 0000000..018282a
--- /dev/null
+++ b/structure/00-preamble.tex
@@ -0,0 +1,62 @@
+% Bookdown LaTeX before-body file
+
+% Front matter
+\frontmatter
+
+% Cover image
+% See https://stackoverflow.com/questions/45963505/coverpage-and-copyright-notice-before-title-in-r-bookdown
+% https://tex.stackexchange.com/questions/39147/scale-image-to-page-width
+% https://stackoverflow.com/questions/1963923/adding-full-page-figures-in-latex-how
+%
+% Cover image original date: 2022-11-17
+% Cover image original file: IMG_20221117_185524.jpg
+\includepdf{images/cover.png}
+
+% Do not print the default title set in the template
+\let\maketitle\oldmaketitle
+% Uncomment this to duplicate the book title
+% This might also clear the \@title variable
+%\maketitle
+
+% Metadata page
+\newpage
+\begin{fullwidth}
+~\vfill
+\thispagestyle{empty}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{\baselineskip}
+\makeatletter\@title\makeatother
+
+Copyleft \copyright\ \input{.metadata/year.txt} \thanklessauthor\ \input{.metadata/contact.txt}
+
+\input{LICENSE}
+
+\input{snippets/keywords.txt}
+
+\input{snippets/cover.txt}
+
+% Some \input statements need to be protected
+% See https://texfaq.org/FAQ-extrabrace
+% https://www.typeerror.org/docs/latex/_005cprotect
+\par\smallcaps{\protect\input{snippets/project.txt} - \protect\input{snippets/volume.txt}}
+
+\par\smallcaps{Publicado por \thanklesspublisher}
+
+\par\smallcaps{\protect\input{snippets/url.txt}}
+
+%\par\textit{Primeira impressão, \input{.metadata/year.txt}}
+\par Livro Vivo - Versão \textit{\textbf{\input{.metadata/revision.txt}}} compilada em \textit{\textbf{\input{.metadata/date.txt}}}
+\end{fullwidth}
+
+% Disclaimer
+\newpage
+\begin{fullwidth}
+~\vfill
+\thispagestyle{empty}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{\baselineskip}
+\textit{\input{DISCLAIMER}}
+\end{fullwidth}
+
+% Start the main matter (normal chapters)
+\mainmatter
diff --git a/structure/99-biblio.md b/structure/99-biblio.md
new file mode 100644
index 0000000..c5385cb
--- /dev/null
+++ b/structure/99-biblio.md
@@ -0,0 +1,9 @@
+\backmatter
+
+<!-- Neat way to have HTML comments: https://stackoverflow.com/a/43902043 -->
+<!-- This seems not to be the case anymore: https://bookdown.org/yihui/bookdown/citations.html -->
+<script type="text/html">
+`r if (knitr::is_html_output()) '# Bibliografia'`
+</script>
+
+# Bibliografia
diff --git a/structure/99-end.tex b/structure/99-end.tex
new file mode 100644
index 0000000..f0f592e
--- /dev/null
+++ b/structure/99-end.tex
@@ -0,0 +1,28 @@
+% Bookdown LaTeX footer file
+
+% Put all indexes in a final chapter
+\chapter{Índice}
+
+%Listas de tabelas, figuras, definições e etimologias.
+Listas de tabelas e figuras.
+
+% Print the list of tables
+\listoftables
+
+% Print the list of figures
+\listoffigures
+
+% Print the list of definitions
+% See https://latex.org/forum/viewtopic.php?t=17679
+% https://ctan.org/pkg/thmtools
+%\renewcommand\listtheoremname{Lista de Definições}
+%\listoftheorems[ignoreall,show={definition}]
+
+% Print the list of etimologies
+% The "proposition" theorem type is allocated for etimologies in this book
+% See the _bookdown.yml at the top-level project folder for more information
+%\renewcommand\listtheoremname{Lista de Etimologias}
+%\listoftheorems[ignoreall,show={proposition}]
+
+% Print the index
+%\printindex