在我看來,我讀過的每一個 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
回答你的第二個問題其實也回答了你的第一個問題:
另外,你能給我一個例子,說明除非載入包,否則 LaTeX 無法執行任務嗎?
確實沒有什麼需要一套。套件只是載入到 LaTeX 中的程式碼,如果您只是將其插入到原始程式碼的開頭,那麼相同的程式碼將執行相同的操作。如果您對 LaTeX 足夠熟悉,您可以自己手寫所有內容;只需要一個非常很久!軟體包的作用是為您提供簡單的介面,使您能夠利用其他人的時間和技能來使您的文件看起來更好。它們不是新功能;而是新功能。它們是現有的功能,經過打包後變得更加可用。
(旁白:有一個輕微的例外,在存在類似這樣的套件的情況下,glossaries
還包括必須與 LaTeX 一樣運行的外部工具,但我認為這些工具的外部部分本身並不是 LaTeX 包,因為它必須單獨調用) 。
因此,考慮到包所做的一切,您可以在沒有包的情況下完成,您可以看到第一個問題的答案是:一切,只是這樣要困難得多。