有必要寫一個博文記錄自己在Latex編譯時遇到的各種問題,希望可以幫到遇到同樣錯誤的親故。講真,一直沒有系統的學習Latex,都是投哪個會直接拿那個會的模板來套,然后每次需要調整自己的表格格式以及圖片規格的時候總是很頭疼,也會遇到跟多問題。Solution到用時方恨少,沒辦法,再做一回實用主義吧。。 並不打算系統的學習了。。(因為以后估計也用不上了。。略傷感)聽說Latex做Slides還是一把好手,改天可以嘗試一下。
軟件選擇
英文:寫英文論文的Latex軟件一抓一大把,這里只列舉我用過的3款:windows下的WinEdt和texstudio。兩款都很好用,如果只寫英文論文的話可以直接用texstudio,很小巧一般也不會出現什么問題(就是界面吃藕)。Mac下的TEXShop家族,包含了BibDesk, LaTexiT等組件,也很夠用。
中文:如果寫中文論文,什么都不用說,要想錯誤出現的最少,直接用Windows+WinEdt Windows+WinEdt Windows+WinEdt吧!話說在Mac上整了好幾次我到現在都沒弄好怎么編譯中文論文。。
編譯命令:Latex + dvipdf
寫在這個時候,模板用的是我校的學術模板,網上一搜一大把。之前編譯都是直接使用pdfLatex
,直接生成PDf,然而學校模板中包含大量的宏包及eps矢量圖,都是更加兼容Latex+dvipdf
.
Tips: 其實選擇哪種編譯命令跟你要插入的圖片格式最相關。如果你用eps格式的圖片就用Latex編譯,如果插入的圖片是jpg, png, pdf格式,直接用pdfLatex.
\documentclass[dvipdfm, oneside, master]{thesis}
下面是幾種常見命令的解釋:(引擎就相當於編譯器,如C++的gcc)
- pdflatex 命令 = PDFTeX 引擎 + LaTeX 格式 + PDF 輸出
- pdftex 命令 = PDFTeX 引擎 + plain 格式 + PDF 輸出
- latex 命令 = PDFTeX 引擎 + LaTeX 格式 + DVI 輸出(因為是DVI輸出,所以要用
dvipdf
將其轉化為PDF格式)
圖片錯誤:Latex error: Cannot determine size of graphic (no BoundingBox)
再次聲明:因為本篇博客的編譯是latex + dvipdf
,所以下面的所有錯誤都是在此編譯命令下發生的.!
如果想在latex + dvipdf
命令下插入.jpg
格式的圖片怎么辦。很好,就會遇到小標題中的錯誤。因為dvi輸出不支持讀取jpg、png格式圖片的大小,需要使用natwidth 和 natheight
顯示的聲明你插入的圖片的大小,如下:
\documentclass{article}
\usepackage{graphicx}
\begin{document} \begin{figure} \centering \includegraphics[width=0.8\textwidth,natwidth=610,natheight=642]{tiger.pdf} \end{figure}
\end{document}
圖片錯誤:Latex error: .bb file not found
插入jpg, png, pdf格式圖片時路徑問題也要注意,如果tiger.jpg
與你的tex文件放在同一個目錄下,那么應該這樣寫:
\includegraphics[width=0.8\textwidth,natwidth=610,natheight=642]{{./tiger.jpg}}
在Bibtex中使用網址作為參考文獻
需要使用包:\usepackage{yrl}
然后在BibTeX中新建:
@Misc{UCSDLab, Title = {Anomaly Detection and Localization in Crowded Scenes}, Author = {Nuno Vasconcelos}, HowPublished = {\url{http://www.svcl.ucsd.edu/projects/anomaly/}} }
編譯后顯示如下:
[*] Nuno Vasconcelos, . Anomaly detection and localization in crowded scenes. http://www.
svcl.ucsd.edu/projects/anomaly/.
圖片/表格序號不對
在定義圖表的時候用\label{fig:XXXX} or \label{table:XXXX}
,在正文中引用時用:\ref{fig:XXXX} or \ref{table:XXXX}
,但是有時候編譯完后的序號很奇怪。。會加上上級序號。。
正確的寫法應該是:\lable{}
命令要緊跟在\caption{}
之后!!
原因是:原則上\label
位置很靈活,但是建議直接緊跟所要指代的對象。特別的,如果一個標簽在浮動環境中被聲明的話,只有當它緊跟在\caption{}
之后,\ref{XXXX}
才會返回對應的圖片或者表格的編號。否則,即聲明寫在浮動環境外,\ref{XXXX}
會直接返回所在section的編號。
摘要首段空兩格
在\begin{abstract}
后先加入一行空行,然后在開始摘要的書寫。這樣編譯之后,段首就有空兩格了…
之后每段都要這樣咯~