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裡插入漂亮的程式程式碼
如果這篇文章有什麼寫得不對的或者寫得不好的,歡迎大家指出~ 如果對你有幫助不妨點個推薦~