The bugs I created in LaTeX

应该保证编译的时候有足够的内存

! I can't write on file `work.pdf'.
(Press Enter to retry, or Control-D to exit; default file extension is `.pdf')
Please type another file name for output:

有过几次编译过程,我总是遇到这样的 Bug,检查代码总是不知道怎么回事。 后来发现在编译的时候,内存总是满的。 我尝试着关掉一些软件,腾出内存后再编译,结果就正常了。 大概是因为内存耗尽,LaTeX 无法申请到足够的空间了。

scalebox 中只能是 box 类型

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...
l.198 \end{frame}

看这个报错,错误大概在 198 行,而198行的 \end{frame} 是正常的,所以应该是frame中的问题。

\begin{frame}{Items}
  \scalebox{0.8}[0.8]{
    \begin{itemize}
    \item one item
    \item two item
    \end{itemize}
  }
\end{frame}

我的 frame 在其中加入了 scalebox 之后出问题,而在我把 scalebox 注释掉之后就没有问题。经过查询,scalebox中只能放入box类,如图片表格等。 这里可以进行改进,把itemize放入minipage中。

\begin{frame}{Items}
  \scalebox{0.8}[0.8]{
    \begin{minipage}{\linewidth}
      \begin{itemize}
      \item one item
      \item two item
      \end{itemize}
    \end{minipage}
  }
\end{frame}

我在另外一个地方也遇到了 scalebox 出问题,然而这次的代码中没有itemize。代码如下:

\begin{frame}
    \scalebox{0.8}[0.8]{
      \begin{table}
        \caption{The table}
        \begin{tabular}{l c c}
          \hline
          \textbf{One} & \textbf{Two} \\
          \hline
          1 & 2 \\
          一 & 二 \\
          \hline
        \end{tabular}
      \end{table}
    }
\end{frame}

scalebox 中有一个在table环境中的表格。我的这个表格实际上在 table 这个浮动环境中,而 scalebox 不能放浮动环境。所以我这里把table环境去掉就正常了。

By @Wolfson Liu in
Tags : #LaTeX,