你一定用得到的LaTeX入门资料

如何安装textlive请自行百度,网络上面有很多教程。

以下代码将我之前的一篇博客用Python可视化钢琴演奏录音用LaTeX编写编译,供各位参考其用法,点击此处直接下载


12.6更新,最近在写英文论文,模板里用到了双页排版,涉及到处理数学公式的一些问题,在此总结下。

模板文件点此下载

由于我目前的博客使用的是 KaTeX \KaTeX KATEX引擎处理的数学公式,而 LaTeX \LaTeX LATEX在使用的时候还是和他有区别的,特别是 LaTeX \LaTeX LATEX有而 KaTeX \KaTeX KATEX没有的命令在这里就无法很好的展示。因此我将用图片展示效果,附上相应的 LaTeX \LaTeX LATEX代码

  1. 公式组的大括号。

\begin{equation}
  \label{eq1}
  \left\{
  \begin{aligned}
    x_c = \frac{M_{10}}{M_{00}},y_c = \frac{M_{01}}{M_{00}} \\
    M_{00} = \sum_x \sum_y I(x,y) \\
    M_{10} = \sum_x \sum_y xI(x,y) \\
    M_{01} = \sum_x \sum_y yI(x,y)
  \end{aligned}
  \right.
\end{equation}

\left\right总是成对出现的,但是我们需要的只是左边的大括号,因此写成\left\{\right.即可。

如果要达到下面这样的效果呢?要求每一个公式后面都需要有编号,如下图:

这样需要我们在导言区引入两个package,代码也和上面不同,直接使用subequations里面嵌套numcases即可。

\usepackage{subeqnarray}
\usepackage{cases}


\begin{subequations}
  \label{eq3}
  \begin{numcases}{}
    x_c = \frac{M_{10}}{M_{00}},y_c = \frac{M_{01}}{M_{00}} \\
    M_{00} = \sum_x \sum_y I(x,y) \\
    M_{10} = \sum_x \sum_y xI(x,y) \\
    M_{01} = \sum_x \sum_y yI(x,y)
  \end{numcases}
\end{subequations}
  1. 公式间距微调

双栏排版,寸土寸金,万一公式太长,而又不想切换成单栏,就会出现下面的这种情况。可以看到,公式编号已经被挤到下一行去了,但是运算符之间的间距又比较大,可不可以将运算符之间的距离缩小呢?

参考博客LATEX微调公式间距

\begin{equation}
  \label{eq6}
  L_{o_1 o_2} \! = \! \sqrt{(x_{o_1} \! - \! x_{o_2})^2 \! + \! (y_{o_1} \! - \! y_{o_2})^2 \! + \! (z_{o_1} \! - \! z_{o_2})^2}
\end{equation}

在运算符之间输入\!即可。其实\quad,\qquad,\,,\:,\;,\!本来是添加空格的,只不过\!增加的是一个负的空格,就把间距缩小了。

缩小后的间距如下:

  1. 单双栏切换及公式下标大小调整

有时候,公式实在太长,不可能在单栏里面排下,只能换成双栏去排版。

对于这个模板来说,单双栏切换很简单,只需要将代码包含在\singlecolumn{}的大括号之间就行,因为模板已经帮我们设置好了。稍后我们会介绍在没有模板的情况下的通用做法

\singlecolumn{
  \begin{equation}
    \label{eq5}
    L_{NM} = \frac{
      \begin{Vmatrix}
          x_{C} - x_{A} & y_{C} - y_{A} & z_{C} - z_{A} \\
          x_{B} - x_{A} & y_{B} - y_{A} & z_{B} - z_{A} \\
          x_{D} - x_{C} & y_{D} - y_{C} & z_{D} - z_{C}
      \end{Vmatrix}
    }{
      \sqrt{
        \begin{vmatrix}
          y_{B} - y_{A} & z_{B} - z_{A} \\
          y_{D} - y_{C} & z_{D} - z_{C}
        \end{vmatrix}^2 + 
        \begin{vmatrix}
          z_{B} - z_{A} & x_{B} - x_{A} \\
          z_{D} - z_{C} & x_{D} - x_{C}
        \end{vmatrix}^2 + 
        \begin{vmatrix}
          x_{B} - x_{A} & y_{B} - y_{A} \\
          x_{D} - x_{C} & y_{D} - y_{C}
        \end{vmatrix}^2
      }
    }
  \end{equation}
}

但是这样还有个小问题,如果你注意看我用红笔标出来的地方, y B y_B yB y A y_A yA,这个下标会不会显得太大了?有点丑哦,如果AB能再小一点就更好了。

参考博客Latex中改变下标的字体尺寸

采用最简洁的做法,我们在导言区添加一条\let\sss= \scriptscriptstyle,然后在需要让下标变小的地方,如y_B,使用y_{\sss B}即可。完整代码如下:

\let\sss= \scriptscriptstyle


\singlecolumn{
  \begin{equation}
    \label{eq5}
    L_{NM} = \frac{
      \begin{Vmatrix}
          x_{\sss C} - x_{\sss A} & y_{\sss C} - y_{\sss A} & z_{\sss C} - z_{\sss A} \\
          x_{\sss B} - x_{\sss A} & y_{\sss B} - y_{\sss A} & z_{\sss B} - z_{\sss A} \\
          x_{\sss D} - x_{\sss C} & y_{\sss D} - y_{\sss C} & z_{\sss D} - z_{\sss C}
      \end{Vmatrix}
    }{
      \sqrt{
        \begin{vmatrix}
          y_{\sss B} - y_{\sss A} & z_{\sss B} - z_{\sss A} \\
          y_{\sss D} - y_{\sss C} & z_{\sss D} - z_{\sss C}
        \end{vmatrix}^2 + 
        \begin{vmatrix}
          z_{\sss B} - z_{\sss A} & x_{\sss B} - x_{\sss A} \\
          z_{\sss D} - z_{\sss C} & x_{\sss D} - x_{\sss C}
        \end{vmatrix}^2 + 
        \begin{vmatrix}
          x_{\sss B} - x_{\sss A} & y_{\sss B} - y_{\sss A} \\
          x_{\sss D} - x_{\sss C} & y_{\sss D} - y_{\sss C}
        \end{vmatrix}^2
      }
    }
  \end{equation}
}

效果如下:

在没有模板的情况下, 我们切换单双栏采用IEEE的做法

\newcounter{mytempeqncnt}
\begin{figure*}[!t]
  % ensure that we have normalsize text
  \normalsize
  % Store the current equation number.
  \setcounter{mytempeqncnt}{\value{equation}}
  % Set the equation number to one less than the one
  % desired for the first equation here.
  % The value here will have to changed if equations
  % are added or removed prior to the place these
  % equations are referenced in the main text.
  \setcounter{equation}{5}

  \begin{equation}
  \label{eqn_dbl_x}
    x = 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 + 21+ 23 + 25
    + 27 + 29 + 31
  \end{equation}

  \begin{equation}
  \label{eqn_dbl_y}
    y = 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20+ 22 + 24
    + 26 + 28 + 30
  \end{equation}
  % Restore the current equation number.
  \setcounter{equation}{\value{mytempeqncnt}}
  % IEEE uses as a separator
  % \hrulefill
  % The spacer can be tweaked to stop underfull vboxes.
  \vspace*{4pt}
\end{figure*}
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值