Abbildungen und Tabellen sperrt man in Gleitumgebungen, die automatisch oben oder unten auf der Seite erscheinen, damit sie nicht den Textfluss unterbrechen. Zusätzlich versieht man sie mit einer Bild- beziehungsweise Tabellenunterschrift und einer Marke, um sich im laufenden Text darauf beziehen zu können.
Das Inhaltsverzeichnis wird üblicherweise durch eine Liste von Abbilundgen und Tabellen ergänzt.
\begin{document}
	…
	\tableofcontents
	\listoffigures
	\listoftables
	…
\end{document}
		Die Objekte werden automatisch durchnummeriert und erscheinen
		zusammen mit ihrer Unterschrift im jeweiligen Verzeichnis.
		Mit \ref{Label} verweist man im Text auf
		auf ein Gleitobjekt. Jede Marke sollte mindestens einen Verweis haben.
Das Paket graphicx erlaubt
		das Einbinden externer Vektor- und Pixelgrafiken. Der Befehl
		\includegraphics{File}
		fügt die Grafik an der entsprechenden Stelle ein. Vektorgrafiken
		sollten im
		PDF- oder
		SVG-Format vorliegen, Pixelgrafiken im
		PNG- oder
		JPEG-Format.
\usepackage{graphicx}
…
\begin{figure}
	\centering
	\includegraphics[width=\textwidth]{File}
	\caption{Text}
	\label{fig:Label}
\end{figure}
	Manchmal muß man ganzseitige Bilder und Tabellen im Querformat
	präsentierten. Dies ermöglicht das Paket
	rotating mit den Umgebungen
	sidewaysfigure und sidewaystable:
\usepackage{rotating}
…
\begin{sidewaysfigure}
	\includegraphics[width=\textwidth]{File}
	\caption{Text}
\end{sidewaysfigure}
		Einfache Tabellen setzt man in eine tabular-Umgebung.
\usepackage{booktabs}
…
\begin{table}
	\centering
	\begin{tabular}{ColumnFormat}
		…
	\end{tabular}
	\caption{Text}
	\label{tab:Label}
\end{table}
		
		Das Spaltenformat legt die Anzahl und Ausrichtung der Spalten fest.
		Zellen werden mit & getrennt,
		Zeilen mit \\ beendet.
		\multicolumn{Number}{ColumnFormat}{Text}
		fasst benachbarte Zellen zusammen.
lrcXYp{Width}D{.}{,}{-1}{\columncolor[ColorSpace]{Value}}|||@{Trennzeichen}Für professionelle Publikationen verzichtet man auf senkrechte Trennlinien und verwendet die Linien und Abstandshalter aus dem Paket booktabs.
\usepackage{booktabs}
…
\begin{table}
	\begin{tabular}{llD{.}{,}{-1}}
		\toprule
					& \multicolumn{2}{c}{Überschrift} \\
		\cmidrule{2-3}
			Artikel & Art   & \multicolumn{1}{r}{Preis} \\
		\midrule
			Fnord   & toll  & 123.12 \\
			Snafu   & fein  &  11.00 \\
		\addlinespace
			Summe   &       & 134.12 \\
		\bottomrule
	\end{tabular}
	\caption{Text}
	\label{tab:Marke}
\end{table}
		Heraus kommte dabei in etwa folgende Tabelle:
| Überschrift | ||
| Artikel | Art | Preis | 
| Fnord | toll | 123.12 | 
| Snafu | fein | 11.00 | 
| Summe | 134.12 | |
Mit Hilfe des Pakets dcolumn kann man auch eigene Spaltenformate festlegen oder Spalten an einem Dezimaltrenner ausrichten. Häufig verwendete Formate legt man in der Präambel fest:
\newcolumntype{d}{D{Trennzeichen}{Symbol}{Decimals}}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
		Das Paket longtable ermöglicht das Erstellen von mehrseitigen Tabellen.
Das Paket tabularx beherrscht flexible Spalten mit mehrzeilige Zellen, um eine feste Breite zu erreichen.
Das Paket algorithm
		definiert die algorithm-Umgebung,
		die sich analog zu den Umgebungen für Abbildungen und Tabellen
		verhält. Der Befehl \listofalgorithms
		fügt sogar ein entsprechendes Inhaltsverzeichnis ein. Da das Paket
		nicht internationalisiert ist, sollte man in der Präambel sowohl
		einen deutschen Titel für die Unterschrift als
		auch für das Verzeichnis festlegen:
\usepackage{algorithm}
\floatname{algorithm}{Algorithmus}
\renewcommand{\listalgorithmname}{Liste der Algorithmen}
…
\begin{document}
	…
	\tableofcontents
	\listoffigures
	\listofalgorithms
	…
	\begin{algorithm}
		…
	\end{algorithm}
	…
\end{document}
		Das Paket algorithmic
		ergänzt dieses mit der algorithmic-Umgebung
		orthogonal um die Möglichkeit, Algorithmen formal zu notieren.
		Dieser zeigt beispielsweise den Bubblesort:
\usepackage{algorithmic}
…
\begin{algorithm}
	\begin{algorithmic}[1]
		\REQUIRE{list $a$ of length $l$}
		\ENSURE{$a_i < a_{i+1} \forall i=0,\ldots,l-1$}
		\FOR{$i = l; i > 0; i--$}
		\FOR{$j = 0; j < i; j++$}
			\IF{$a_j > a_{j+1}$}
				\STATE $T \leftarrow a_j$
				\STATE $a_j \leftarrow a_{j+1}$
				\STATE $a_{j+1} \leftarrow T$
			\ENDIF
		\ENDFOR
		\ENDFOR
	\end{algorithmic}
	\caption{Bubblesort}
	\label{alg:bubblesort}
\end{algorithm}
		Das Paket listings erleichtert das wörtliche einbinden von Programmcode. Zunächste definiert man in der Präambel die standardmäßig zu verwendende Programmiersprache und Standardeinstellungen für diese Sprache:
\usepackage{listings}
\lstloadlanguages{[Dialect]Language}
\lstset{language=[Dialect]Language,tabsize=4,basicstyle=\ttfamily}
…
\begin{document}
	…
	Jedes C-Programm beginnt mit der Funktion
	\lstinline|int main (int argc, char * argv[])|.
	Hier ein Minimalbeispiel:
	\lstinputlisting{hello.c}
	…
\end{document}
		\lstinline[Options]|Text|\lstinputlisting[Options]{File}\begin{lstlisting}[Options]…\end{lstlisting}