![LaTeX 中数学符号的快捷方式和/或用户定义的快捷方式?](https://linux22.com/image/262019/LaTeX%20%E4%B8%AD%E6%95%B0%E5%AD%A6%E7%AC%A6%E5%8F%B7%E7%9A%84%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E5%92%8C%2F%E6%88%96%E7%94%A8%E6%88%B7%E5%AE%9A%E4%B9%89%E7%9A%84%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%EF%BC%9F.png)
我对使用 LaTeX 来编写数学论文还很陌生,我刚刚设置好我的“系统”。目前我已经安装了 TexWorks 和 MikTex,并且整理了一篇“hello world”文章,它似乎运行良好。
我还在 .tex 文件的开头使用了语法“\usepackage{amsmath}”和“\usepackage{amssymb}”来写数学符号,只是因为一些在线教程是这么说的。
我的问题是,首先,这些是我编写数学公式时需要使用的唯一软件包吗?其次,我记得读过一些可用于编写数学符号的快捷方式(?),以及/或者可以在开始时“设置”的用户定义快捷方式,以减少编写数学符号所需的 LaTeX 代码量。但是,我不知道这是否属实,如果属实,如何“安装”这样的东西。
有这样的事吗?我可以自己创建快捷方式吗?
谢谢!
答案1
你当然可以定义你的快捷方式;事实上你应该。
让我们举几个例子。假设你的文档里全是傅里叶变换,你需要一个花哨的 F。而不是每次都写
$\mathcal{F}(f)$
定义一个新的命令肯定更好,比如说
\newcommand{\FT}{\mathcal{F}}
(选择你喜欢的任何名称),以便你可以输入
$\FT(f)$
并得到与之前相同的结果,还有很大的收获!如果你改变了对符号的想法,你可以简单地修改定义。
另一个例子。“梯度”运算符没有预定义;因此您可能需要为其指定一个命令:
\DeclareMathOperator{\grad}{grad}
另一种方式;我更喜欢用 来表示向量\mathbf{v}
。但是,由于约定俗成,我从不这样输入向量,而是喜欢用
\newcommand{\vect}[1]{\mathbf{#1}}
原因与之前相同;我可能会改变主意,想要修改外观,比如使用粗体斜体;这只需说一下即可
\usepackage{bm}
并将上述内容改为
\newcommand{\vect}[1]{\bm{#1}}
你如何组织这些内容?以下是示例:
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % input encoding UTF-8
% Useful packages
\usepackage{amsmath,amssymb,amsthm}
% add all the packages you need
% Personal definitions
\newcommand{\FT}{\mathcal{F}} % Fourier transform operator
\DeclareMathOperator{\grad}{grad} % gradient
\newcommand{\vect}[1]{\mathbf{#1}} % vectors and matrices
\begin{document}
...
\end{document}
当您发现它们对于区分文档的逻辑单元有用时,请添加定义。
答案2
有很多不同的包,但没有必要全部包含它们:只使用您需要的包。
例如,软件包wrapfig
允许您添加浮动表格和图像。multicol
如果您决定在文档中切换不同数量的列,则可能需要它。使用它可以cite
使参考书目引用更漂亮。longtable
如果您希望将多页表格放入文档中,请使用它。amsfonts
包含您可能需要的一些符号。wasysym
包含很多在某些情况下有用的其他符号。软件包允许您将诸如等array
指令放入表格中。m{}, b{}, >{}, <{}, !{}
以下是我的样式文件中的一些内容,也许可以为您提供帮助:
\newcommand{\Ang}{\mbox{\rm\AA}} % Angstom
\newcommand{\arr}{\ensuremath{\,\rightarrow\,}} % right arrow
\newcommand{\Arr}{\ensuremath{\,\Rightarrow\,}} % wide arrow
\newcommand{\aver}[1]{{<\!\!#1\!\!>}} % average
\newcommand{\B}[1]{\ensuremath{\mathbf{#1}}} % bold for matrix & so on
\newcommand{\bra}[1]{\ensuremath{\langle #1|}} % bra-vector
\newcommand{\bracket}[1]{\ensuremath{\langle #1|#1\rangle}} % square of state vector
\newcommand{\cket}[1]{\ensuremath{#1\rangle}} % cet-vector when multiplying to bra-
\newcommand{\const}{\ensuremath{\mathfrak{const}}} % constant
\renewcommand{\C}{\ensuremath{\mathfrak{C}}} % another constant
\newcommand{\D}{\ensuremath{\mathfrak{D}}} %
\newcommand{\ddotvec}[1]{%\ddot{\vec{#1}}} % second dv/dt
\savebox{\hght}{$\vec{#1}$}\ddot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}}
\newcommand{\degr}{\ensuremath{^\circ}} % degree
\newcommand{\diam}{\ensuremath{\varnothing\,}} % diameter
\newcommand{\diver}{\mathop{\mathrm{div}}\nolimits} % divergence
\newcommand{\dotvec}[1]{% % dv/dt
\savebox{\hght}{$\vec{#1}$}\dot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}}
\newcommand{\dpartder}[2]{\dfrac{\partial^2 #1}{\partial #2^2}} % 2nd partial derivative
\newcommand{\e}{\mathop{\mathrm e}\nolimits} % exp
\newcommand{\E}{\mathcal{E}} % electromoving force
\renewcommand{\epsilon}{\varepsilon} % epsilon by russian tradition
\newcommand{\frc}[2]{\raisebox{2pt}{$#1$}\big/\raisebox{-3pt}{$#2$}} % fraction
\newcommand{\F}{\ensuremath{\mathop{\mathfrak F}}\nolimits} % pretty F
\newcommand{\FT}[1]{\mathcal{F}(#1)} % fourier
\renewcommand{\H}{\ensuremath{\mathfrak{H}}} %
\newcommand{\IFT}[1]{\mathcal{F}^{-1}(#1)} % reverse fourier
\renewcommand{\ge}{\geqslant} % >=
\newcommand{\grad}{\mathop{\mathrm{grad}}\nolimits} % gradient
\newcommand{\I}{\ensuremath{\mathfrak{I}}} % short for integral
\newcommand{\ind}[1]{_{\text{\scriptsize #1}}} % down index
\newcommand{\indfrac}[2]{\raisebox{2pt}{$\frac{\mbox{\small $#1$}}{\mbox{\small $#2$}}$}}
\newcommand{\ILT}[1]{\mathop{\mathfrak{L}}\nolimits^{-1}(#1)} % reverse laplas
\newcommand{\Infint}{\int\limits_{-\infty}^\infty} % integral by R
\newcommand{\Int}{\int\limits} % Big integral
\newcommand{\IInt}{\mathop{{\int\!\!\!\int}}\limits} % Big double integral
\renewcommand{\kappa}{\varkappa} % kappa in russian traditions
\newcommand{\ket}[1]{\ensuremath{|#1\rangle}} % cet-vector
\renewcommand{\le}{\leqslant} % <=
\newcommand{\ltextarrow}[1]{\ensuremath{\stackrel{#1}\leftarrow}} % left arrow with text above
\newcommand{\lvec}{\overrightarrow} % long vector
\newcommand{\LT}[1]{\mathop{\mathfrak{L}}\nolimits(#1)} % laplas
\newcommand{\M}{\ensuremath{\mathop{\mathfrak M}\nolimits}} % stellar mass
\newcommand{\mean}[1]{\overline{#1}} % mean
\newcommand{\med}[1]{\mathop{\mathrm{med} #1}\nolimits} % median
\newcommand{\Oint}{\oint\limits} % Big circular integral
\renewcommand{\P}{\ensuremath{\mathfrak{P}}} %
\newcommand{\partder}[2]{\dfrac{\partial #1}{\partial #2}} % partial der.
\renewcommand{\phi}{\varphi} % phi in russuan
\newcommand{\R}{\ensuremath{\mathbb{R}}} % rat. numbers
\newcommand{\rev}[1]{\frac{1}{#1}} % reverse
\newcommand{\rot}{\mathop{\mathrm{rot}}\nolimits} % curve (rotor in russian)
\newcommand{\rtextarrow}[1]{\ensuremath{\stackrel{#1}\rightarrow}} % rightarrow with text
\newcommand{\Sum}{\sum\limits} % sum
\newcommand{\sinc}{\mathop{\mathrm{sinc}}\nolimits} % integral sinus
\newcommand{\Tr}{\mathop{\mathrm{Tr}}\nolimits} % matrix trace
\newcommand{\veci}{{\vec\imath}} % i-ort
\newcommand{\vecj}{{\vec\jmath}} % j-ort
\newcommand{\veck}{{\vec{k}}} % k-ort
\newcommand{\when}[2]{\settowidth{\myflt}{\scriptsize $#2$}% vert. line with limits
\ensuremath{\left.{#1}\right|_{#2}\hspace{-\myflt}\,}}
\newcommand{\ZT}[1]{\mathop{\mathcal{Z}}\nolimits(#1)} % Z-transform
\newcommand{\IZT}[1]{\mathop{\mathcal{Z}}\nolimits^{-1}(#1)} % rev. Z
答案3
以下是对上述问题以下部分的回答:
I remember reading about some shortcuts(?) that can be used for writing math symbols
Does such a thing exist?
是的,确实存在一些捷径:
\to
是以下的快捷方式\rightarrow
\gets
是以下的快捷方式\leftarrow
\implies
from packageamsmath
是以下的快捷方式\Longrightarrow
\ne
是以下的快捷方式\not=
\iff
是更长的版本\Leftrightarrow
\O
是以下的快捷方式\emptyset