Mir scheint, dass jeder einzelne LaTeX-Code, den ich gelesen habe, einige Pakete laden muss.
Seitdem ich angefangen habe, LaTeX zu lernen (ich bin ein neuer Benutzer), konnte ich problemlos Dokumente erstellen, ohne Pakete laden zu müssen. Daher bin ich über die Kernfunktionen von LaTeX etwas verwirrt.
Meine Frage ist also: Was sind die grundlegenden Aufgaben, die LaTeX ohne Pakete erledigen kann? Könnten Sie mir außerdem ein Beispiel für eine Aufgabe geben, die LaTeXkann nichttun, bis ein Paket geladen ist?
Antwort1
Wie in den Kommentaren erwähnt, müssen Sie den Code eines Pakets nicht mit laden \usepackage
. Sie können ihn in Ihre Präambel kopieren:
\documentclass{article}
\makeatletter
... lots of code lines from various packages
\maketother
\begin{document}
Aber meiner Meinung nach beantwortet das Ihre Frage nicht wirklich. Sie möchten wahrscheinlich wissen, ob Sie diese zusätzlichen Codezeilen wirklich benötigen.
Der LaTeX-Kernel ist ein Kernel, also das Betriebssystem auf Ihrem PC. Er enthält also nicht für alles Code. Aus historischen Gründen sind viele Dinge, die eigentlich im Kernel enthalten sein sollten, derzeit in externen Paketen enthalten, z. B. Farbunterstützung, Grafiken, Sprachunterstützung, Unterstützung für Eingabekodierungen, Amsmath-Code, Keyval, grundlegende Zeichenbefehle – hoffentlich werden sie in zukünftigen Versionen in den Kernel wandern.
Für besondere Dinge müssen Sie jedoch immer externen Code laden (und die Klasse, mit der Sie laden, \documentclass
ist bereits ein solcher externer Code), z. B. wenn Sie eine auf einem Schachbrett sitzende Ente zeichnen möchten:
\documentclass{article}%
\usepackage{tikzducks}
\usepackage{xskak}
\begin{document}
\begin{tikzpicture}
\newchessgame
\node at (1,1) {\chessboard[showmover=false]};
\duck
\end{tikzpicture}
\end{document}
Antwort2
Hier einige Beispiele:
\documentclass{book}
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\chapter{What we can do without packages}
\section{With \texttt{book} we can create table of contents \& Co.}
Taking advantange only of what is defined in a \texttt{documentclass}, for
example, \texttt{book}, we can produce a table of contents, a list of tables,
and a list of figures.
\section{We can write formulae}
But with \texttt{amsmath} or \texttt{mathtool} it is easy to make them
beautiful.
\[
E = mc^{2}
\]
\section{We can list something}
We can create bullet list:
\begin{itemize}
\item Something about ducks
\item Something about lions
\end{itemize}
Enumerated list:
\begin{enumerate}
\item Something about ducks
\item Something about lions
\end{enumerate}
Descriptive list:
\begin{description}
\item [Ducks] very funny birds
\item [Lions] very funny animals, too!
\end{description}
But with \texttt{enumitem} you can easily customize them.
\section{We can create tables}
We can create Table~\ref{tab:mytab}, but with \texttt{booktabs} it'd look
more beautiful and professional, and with \texttt{caption} we can easily
costomize its caption and improve its position.
\begin{table}
\centering
\caption{A table\label{tab:mytab}}
\begin{tabular}{cc}
\hline
Ducks & Lions \\
\hline
Lions & Ducks \\
\hline
\end{tabular}
\end{table}
\section{We can draw images}
We can draw a duck, see Figure~\ref{fig:duck}, but with Ti\emph{k}Z or
\texttt{pstricks} it is easier.
\begin{figure}
\centering
\begin{picture}(100,100)
\put(50,50){\oval(50,20){}}
\put(70,65){\circle{20}}
\put(35,50){\line(1,0){30}}
\put(70,65){\circle*{2}}
\put(75,67){\line(6,-1){10}}
\put(75,63){\line(6,1){10}}
\end{picture}
\caption{Duck by David Carlisle\label{fig:duck}}
\end{figure}
\chapter{What we cannot do without packages}
Virtually, you can do everything without packages,
they only simplify your life!
But why do you want to redo what others have already done for you?
\end{document}
Antwort3
Die Beantwortung Ihrer zweiten Frage beantwortet eigentlich auch Ihre erste:
Können Sie mir außerdem ein Beispiel für eine Aufgabe geben, die LaTeX nicht ausführen kann, wenn kein Paket geladen ist?
Es gibt buchstäblich nichts, waserfordertein Paket. Pakete sind einfach Code, der in LaTeX geladen wird. Derselbe Code würde dasselbe tun, wenn Sie ihn einfach am Anfang Ihrer Quelle einfügen würden. Wenn Sie mit LaTeX vertraut genug wären, könnten Sie alles selbst von Hand schreiben. Es würde nur ein wenig dauern.sehrlange Zeit! Pakete bieten Ihnen einfache Schnittstellen, mit denen Sie die Zeit und das Können anderer nutzen können, um Ihr Dokument besser aussehen zu lassen. Es handelt sich dabei nicht um neue Funktionen, sondern um vorhandene Funktionen, die so verpackt wurden, dass sie benutzerfreundlicher sind.
(Abgesehen davon gibt es eine kleine Ausnahme in Form von Paketen wie , glossaries
die auch ein externes Tool enthalten, das zusammen mit LaTeX ausgeführt werden muss. Ich würde jedoch argumentieren, dass der externe Teil dieser Tools selbst kein LaTeX-Paket ist, da er separat aufgerufen werden muss.)
Wenn man also davon ausgeht, dass alles, was Pakete tun, auch ohne Pakete möglich ist, sieht man, dass die Antwort auf Ihre erste Frage lautet: alles, es ist nur auf diese Weise viel schwieriger.