如果不加载软件包,LaTeX 可以做什么?

如果不加载软件包,LaTeX 可以做什么?

在我看来,我读过的每个 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 包,因为它必须单独调用)。

因此,考虑到包所做的一切,您可以不用包来完成,您会发现第一个问题的答案是:一切,只是这样做要困难得多。

相关内容