4.4 KiB
@slide(layout=chapter-slide)
@number 4
@title Project structure
@slide(layout=content-and-preview)
@title Goal
@content Create a bigger LaTeX project and …
- prevent LaTeX documents from growing monstrously 👹
- keep the overview over the project structure
@preview
{style="padding: .2em; height: 100vh"}
@slide(layout=content-and-preview)
@title Main file 👑
@content
- contains basic structure
- includes separate sections with
\input{path/to/file}
\documentclass{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{A Title}
\begin{document}
\maketitle
\tableofcontents
\input{section1.tex}
\input{section2.tex}
\end{document}
@slide(layout=content-and-preview)
@title File with a section
@content
- contains no preamble
- contains no
\begin{document}or\end{document}
\section{This is section 1}
A paragraph about the content
of section 1.
% …
\section{This is section 2}
A paragraph about the content
of section 2.
% …
@slide(layout=content-and-preview-with-category)
@category Excursion
@title Specifying file paths 👣
@content
- important for
\input{}, but later also for other media types - file and folder structure = tree structure 🌳
- with
\input{}, you can specify the path relative to the main file
In **LaTeX,** you have to use UNIX-style paths. They are separated by a forward slash: `path/to/file`. We will use those from here on.
@slide(layout=content-and-preview-with-category)
@category Excursion
@title Specifying file paths 👣
@content
`main-exercises.tex` → `praeamble.tex`
A single dot ‘.’ represents the current folder (in this case: latex-skript). It is optional, you could also write praeamble.tex here.
@slide(layout=content-and-preview-with-category)
@category Excursion
@title Specifying file paths 👣
@content
`main-exercises.tex` → `basic-document-structure.tex` (in a subfolder)
./content/basic-document-structure.tex
@slide(layout=content-and-preview-with-category)
@category Excursion
@title Specifying file paths 👣
@content
`basic-functionality.tex` → `graphics.raw.tex`
(`basic-functionality.tex` is imported into `main-exercises.tex`)
./exercises/graphics/graphics.raw.tex
Paths are always relative to the root document that imports other files as fragments.
@slide(layout=content-only-with-category)
@category Demo
@title Compiling the project
@content
- Only the main file has to be compiled to get the complete PDF document.
- ++ Error messages include a reference to the corresponding subfile.
- ++ Subfiles cannot be compiled on their own as they don’t have a preamble.
@slide(layout=task)
@task-number 4
@title A structured project
@content
You will find a file named main.tex in the folder exercises/project-structure.
- Put the sections of the file into separate files, named
section1.texandsection2.tex. - Include them using the
\inputcommand. - Move the preamble to its own file in a similar fashion.
- Finally, have a look at the general project archive, starting from
main-exercises.tex(in the root folder of the project archive). How do we include the different sections here?