私が読んだ LaTeX コードはすべて、何らかのパッケージをロードする必要があるように思えます。
LaTeX を学び始めて以来 (私は新規ユーザーです)、パッケージをロードしなくても問題なくドキュメントを作成できました。そのため、LaTeX のコア機能について少し混乱しています。
そこで質問です。LaTeXがパッケージなしで実行できる基本的なタスクは何ですか?また、LaTeXが実行できるタスクの例を教えてください。できないパッケージがロードされない限り何が起きますか?
答え1
コメントで述べたように、パッケージのコードを でロードする必要はありません\usepackage
。プリアンブルにコピーすることができます:
\documentclass{article}
\makeatletter
... lots of code lines from various packages
\maketother
\begin{document}
しかし、これはあなたの質問に対する本当の答えではないと思います。おそらく、この追加のコード行が本当に必要かどうかを知りたいでしょう。
LaTeX カーネルはカーネルであり、PC のオペレーティング システムのようなものです。したがって、すべてのコードが含まれているわけではありません。歴史的な理由により、カラー サポート、グラフィックス、言語サポート、入力エンコードのサポート、amsmath コード、keyval、基本的な描画コマンドなど、カーネルに含まれるべき多くのものが現在は外部パッケージにあります。将来のバージョンでは、これらがカーネルに組み込まれることを期待しています。
しかし、特別な場合には、常に外部コードをロードする必要があります (ロードするクラスは\documentclass
既にそのような外部コードです)。たとえば、チェス盤に座っているアヒルを描画する場合:
\documentclass{article}%
\usepackage{tikzducks}
\usepackage{xskak}
\begin{document}
\begin{tikzpicture}
\newchessgame
\node at (1,1) {\chessboard[showmover=false]};
\duck
\end{tikzpicture}
\end{document}
答え2
以下にいくつか例を挙げます。
\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}
答え3
2 番目の質問に答えると、実は最初の質問にも答えられます。
さらに、パッケージがロードされていないと LaTeX が実行できないタスクの例を挙げていただけますか?
文字通り何もない必要パッケージ。パッケージは単にLaTeXにロードされるコードであり、同じコードをソースの先頭に挿入するだけで同じことを行います。LaTeXに十分慣れている場合は、すべてを自分で手書きで書くことができます。とても長い時間です! パッケージが提供するのは、他の人の時間とスキルを活用してドキュメントの見栄えを良くするための簡単なインターフェイスです。これらは新しい機能ではなく、より使いやすくパッケージ化された既存の機能です。
(余談ですが、これには若干の例外があり、glossaries
LaTeX と同様に実行する必要がある外部ツールも含まれるようなパッケージが存在します。ただし、これらのツールの外部部分は別々に呼び出す必要があるため、それ自体は LaTeX パッケージではないと私は主張します)。
したがって、パッケージが行うことはすべてパッケージなしでも実行できることを考えると、最初の質問に対する答えは「すべて」であることがわかります。ただし、その方法でははるかに困難になります。