1. 程式人生 > 實用技巧 >Latex — 寫作編譯過程中遇到問題記錄與總結

Latex — 寫作編譯過程中遇到問題記錄與總結

最近在訓練的時候,又開始用Latex進行寫作。碰到了很多問題,將問題進行記錄與總結。

一、輸出中文的問題

由於寫作的時候用的是中文,而之前用的是英文,故碰到的第一個問題就是中文的問題。我之前下的是WinEdit7.0,為此我安裝了一個TeXstudio。這個軟體的好處在於,你可以邊寫邊看。

安裝好之後,要設定一下編輯器的環境。

1. 點選Options -> Configure TeXsstudio...,如何看到Gernaral->Languege->zh_CN,將其設為中文。

2. 設定完中文後,找到配色方案,然後選擇現代。

3. 為了可以輸出中文,還需要更改一下編譯器。在構建->預設編輯器中,選擇XeLaTex。之後,在編輯器裡->預設字型編碼中,選UTF-8。

之後就好了。這一部分主要是參考的:06LaTeX學習系列之---TeXstudio的使用

二、編譯過程碰到的報錯資訊

  • 緊接著,馬上出現了第二個問題。報錯資訊:The memory dump file could not be found. xelatex.exe: Data: xelatex.fmt

解決方案:把使用者資料夾的檔案刪掉,再重新開啟,重新編譯就好了。

三、在寫作過程中碰到的問題

  • 我想要公式帶有編號怎麼辦 ?

看下面的例子你就懂了(這裡的例子是我文中的第四個公式)

\begin{equation}\label{system4}
\sum\limits_{i
=1}^{20}X_{im}\geq1,i=1,2,\cdots,13 \end{equation}

如果你碰到更復雜的編號問題,不妨看看這篇部落格:latex:公式的序號

  • 如果你想輸入分段函式(含有大括號),不妨看看這個例子:
\begin{equation}\label{system1}
X_{im}=
\left \{\begin{array}{ll}
1 , \mbox{平臺}i\mbox{封鎖節點}m \\
0 , \mbox{平臺}i\mbox{未封鎖節點}m 
\end{array}\right.
\end{equation}

值得一提的是,這裡的公式中是含有中文的,故需要在中文的地方加上:

\mbox{公式中的中文}
  • 求和符號想要顯示上下限怎麼辦?

其實在前面我已經有用到了,不知道你有沒有發現。下面來專門講個例子吧:

像這種要怎麼輸呢?其實十分簡單,只需借用 \limits 即可。

\begin{equation}\label{system2}
% \sum\limits_{i=1}^{n}k_{i} i=1在下面 n在上面 k_{i}是求和項
\min\{\max\sum\limits_{i=1}^{20}\sum\limits_{m=1}^{13}D_{im}X_{im}\}
\end{equation}

  我想輸一個帶有絕對值的公式,要怎麼辦呢?

\begin{equation}\label{system6}
\min = \left|
\sum\limits_{j=1}^{92}X_{ij}L_{ij}\omega_{ij}-\dfrac{\sum\limits_{i=1}^{20}\sum\limits_{j=1}^{92}X_{ij}L_{ij}}{N}
\right|
\end{equation}
  • 為什麼表格豎線出現了分段?

出現這個問題是因為在繪製表格的時候使用了以下幾行

\toprule % 頂部線
\midrule % 中部線
\bottomrule % 底部線

  我找到的解決方法是:將這些都換成:

\hline  % 表格的橫線

  如果你有更好的方法,請給我評論or留言(thx)。

  • 如果我想在表頭加斜線分隔怎麼辦?

其實很簡單。

呼叫巨集包:
\usepackage{diagbox}

在表格需要加斜線的地方:
\diagbox[斜線方向]{分割槽1內容}{分割槽2內容}{分割槽3內容}...

關於斜線方向,可以參考:LaTeX:斜線表頭的表格製作

在這個例子中我並沒有用這種方法。因為我會出現報錯。故我有找了另外一種方法。

呼叫巨集包:
\usepackage{slashbox}

在表格需要加斜線的地方:
\backslashbox{分割槽1內容}{分割槽2內容}{分割槽3內容}...

這個例子的程式碼如下:

\begin{table}
    \caption{主城區A的20個交巡警服務平臺與各路口節點的最短距離(km)}  % 表格標題
    \label{tab:004}  % 用於索引表格的標籤
    \centering
    \begin{tabular}{cccccccc}
        \toprule
        % \backslashbox{服務平臺}{路口節點} 加斜線
        \backslashbox{路口節點}{服務平臺} & $A1$ & $A2$ & $A3$ & $\cdots$ & $A18$ & $A19$ & $A20$ \\ 
        \midrule
        1 & 0.000 & 1.899 & 3.884 & $\cdots$ & 2.565 & 1.758 & 5.263 \\ 
        2 & 1.899 & 0.000 & 2.112 & $\cdots$ & 4.385 & 3.657 & 7.083 \\ 
        \bottomrule
    \end{tabular}
\end{table}
  • 控制表格某一列寬度之後,怎麼居中?

讓我們來看個例子。這個例子的第一列是我控制了寬度的。

\begin{table}[h]
    \caption{B城區原有和新增平臺及管轄路口節點}  % 表格標題
    \label{tab:010}  % 用於索引表格的標籤
    \centering
    %\resizebox{\textwidth}{!} %表格過寬
    \begin{tabular*}{450pt}{p{130pt}<{\centering}cccccccccc}
        %p{130pt}<{\centering} 控制列寬後居中
        \toprule[1.5pt]%頂部線
        B城區服務平臺 &  \multicolumn{10}{c}{管轄路口節點}  \\ 
        \midrule[0.75pt]
        93 & 93 & 104 & 153 &  &  &  &  &  &  &   \\ 
        94 & 94 & 105 & 106 & 107 & 108 & 109 & 110 & 111 & 112 & 113  \\
        95 & 95 & 114 & 115 & 116 &  &  &  &  &  & \\ 
        96 & 96 & 133 & 134 & 138 &  &  &  &  &  & \\ 
        97 & 97 & 135 & 137 & 143 & 144 &  &  &  &  &  \\ 
        98 & 98 & 157 & 158 & 162 & 163 & 164 & 165 &  &  &  \\ 
        99 & 99 & 136 & 148 & 149 &  &  &  &  &  &  \\ 
        100 & 100 & 132 &  &  &  &  &  &  &  &   \\ 
        \multirow{2}{*}{126(新增)} & 117 & 118 & 119 & 120 & 121 & 122 & 123 & 124 & 125 & 126  \\ 
        & 127 &128 & 129 & 130 & 131 & & & & &  \\
        146(新增) & 139 & 140 & 141 & 142 & 145 & 146 & 147 & 150 & 151 & 152   \\ 
        156(新增) & 102 & 103 & 154 & 155 & 156 & 159 & 160 & 161 &  &    \\ 
        \bottomrule[1.5pt] %底部線
    \end{tabular*}
\end{table}

  可以看到

p{130pt}<{\centering}

  p{130pt}代表著把第一列寬度控制在130pt,而後面的<{\centering}這是控制居中。

  • 值得一提的是,控制表寬的時候可以用:
\begin{tabular*}{450pt}{p{130pt}<{\centering}cccccccccc}

  來控制表格整體的寬度。

表格的問題也可以看我另一篇:Latex中表格問題

  • Latex表格條目怎麼弄?

這裡可以看:Latex-條目、編號、描述

我寫作的時候,本來打算用的,但是最後並沒有用。原因如下:

我寫的過程中發現,這個分條來寫,預設是頂格的(沒有縮排)。我覺得不太美觀,然後就想讓它整段縮排,看起來更有層次。結果我發現,整段縮排之後,我在每一條目中,換一段之後,第一行無法進行空格。就使得分段十分不明顯。最後我放棄了。

  • 縮排問題

可以參考這篇:Latex[頁面設定] 整個段落的左側縮排和右側縮排

四、一些補充

關於一級標題、二級標題、三級標題

\documentclass{article} 
\usepackage{ctex}       %載入中文包
\begin{document}
\section{一級標題}
你好

\subsection{二級標題}
HELLO

\subsubsection{三級標題} 
你好呀。
\end{document}

一個很好用的表格轉Latex的線上網址:https://tableconvert.com/?output=latex

關於程式碼:如何在LaTeX裡插入漂亮的程式程式碼

如果這篇文章有什麼寫得不對的或者寫得不好的,歡迎大家指出~ 如果對你有幫助不妨點個推薦~