今天我刚开始学习LaTeX
。这是我的第一个代码:
\documentclass[a4paper,11pt]{article}
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
\begin{document}
\end{document}
我已将源文件命名为trying.tex
。每当我运行代码时,都会生成并保存文件和trying.log
。trying.aux
也会trying.pdf
生成,但不会保存。运行代码,我得到如下结果:
第一个问题:错误的原因是什么?我应该在第一个代码中添加什么来防止出现此类错误?
第二个问题:以下代码应输出什么?为什么没有关于这些代码的任何内容?
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
答案1
好吧,让我来正确回答一下“这段 LaTeX 应该做什么?”这个问题。
\documentclass[a4paper,11pt]{article}
序言由此开始。简而言之,文档类为您设置文档。它定义了设置页面的所有基本指令,并提供简单的 LaTeX 命令。因此,文档类负责处理字体大小、边距、页眉和页脚、缩进等内容。它还指定诸如分段命令之类的命令,并基本上控制文档的整体形状。
有许多标准文档类别 - 您已选择article
。不错的选择。article
适用于文章。默认情况下,它使用单面打印,没有章节,在第一页(不是单独的页面)上有一个小标题,并且章节标题的大小、样式和编号深度适合小文章。默认情况下,页码放在页脚中。任何其他内容都不会出现在任何页眉或页脚中。
相比之下,report
情况就不同了。报告有章节,有单独的标题页,而且分段更适合长篇报告。
还有其他默认文档类别以及更多可从其他地方获得的文档类别。
因此\documentclass{article}
加载article
文档类。article
是命令的参数\documentclass
。它出现在括号中{article}
。
您还使用了两个可选参数,用方括号括起来[a4paper,11pt]
。该11pt
选项将标准字体大小设置为 11pt。所有其他字体大小都是相对于此定义的,因此它们都会适当缩放。您还告诉 LaTeX 将所有内容设置为打印到 A4 纸上。
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
这 - 嗯 - 它声明了数学符号\bot
。基本上,它告诉 LaTeX 当你输入 时要打印什么\bot
。这只能在数学模式下使用。数学模式的使用方式如下:
$ math $
\( math \)
或者,对于显示的数学运算:
\[ math \]
还有其他环境可用,例如:
\begin{equation}
math
\end{equation}
这会生成一个编号并显示的等式。
那么,我们给 赋予了什么定义呢\bot
?好吧,您已经告诉 LaTeX 打印十六进制字符代码为 3F 的符号( 告诉"
LaTeX 您为其提供了十六进制代码)。在这种情况下,字符代码为 3F 的符号是这样的:
这是我为您制作的$\bot$
(这是在您提供的序言之间\begin{document}
和之后)。\end{document}
现在,您可能已经注意到,我们随后定义\perp
打印相同的符号:
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
有什么区别?好吧,\bot
我们使用\mathord
,\perp
我们使用\mathrel
。这控制间距。\mathrel
用于产生二元关系符号,观察:
$x \bot x$ \\
$x \perp x$
最后
\begin{document}
开始文档并
\end{document}
结束。所以你没有输出,你没有文档。你没有内容。你已经设置了一个文档,但你没有在其中放入任何东西。如果你愿意,你已经打开了文字处理器,但你没有输入任何东西。你已经将纸张放入打字机并坐下,但你没有输入任何东西。
相反,让我们制作一些内容。试试这个:
\documentclass[a4paper,11pt]{article}
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
\begin{document}
Hello world!
I've just spent a few moments defining some cool symbols.
I call the first one ``bot'':
\[x \bot x\]
Now ``bot'' is alright some of the time. But, at other times, I prefer to use ``perp''
\[x \perp x\]
\end{document}
答案2
代码
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
取自fontmath.ltx
,它显示了同一个符号可以有两种不同的含义。\bot
和都使用内部名称为 的数学字体的槽(十六进制,十进制值为 63)\perp
中的字符。 但是,将被当作普通符号(),而 则被当作关系符号(),就数学公式中的间距而言;例如,"3F
symbols
\bot
\mathord
\perp
\mathrel
$a\bot b$
和
$a\perp b$
会产生不同的输出
A⊥b
A⊥b
(前一种情况没有空格,后一种情况关系符号周围有空格)。
代码不会在输出中产生任何内容,它只是设置而已。一般来说,之前的内容\begin{document}
不会产生输出(但是,有些类会设置一些初始内容,这些内容应该始终出现在输出中,因此存在例外情况)。
答案3
涉及数学的示例代码如下:
\documentclass[a4paper,11pt]{article}
\usepackage{amsmath} % declares a predefined package for math
\begin{document} %starts document
Some words % some words
\begin{align} %starts a formula block
\sum_{n=1}^{\infty} \frac{x^{n}}{n} = - \ln(1-x) % a known formula
\end{align} %ends formula block
more words.
\end{document} %ends document
- 软件包在文档开始之前声明
- 文档主体中必须包含一些内容
- 编译后可能会列出错误,但大多数情况下都有解决方案。