TeXstudio 编写Latex论文的若干问题
TeXstudio 編寫Latex論文的若干問題解決方案總結
問題1: 如何安裝TeXstudio 以及 Texstudio當中的中文字體使用問題.
一、如何安裝TeXstudio
很多人推薦使用TexStudio。注意,texstudio是一個latex編譯器,而非latex的軟件實體。正如rstudio和r的關系。因此,先要安裝latex軟件,之后才能使用TexStudio。
1. 到這里下載并安裝MikTex:http://miktex.org/或者TexLive2015:http://tug.org/texlive/
2. 到這里下載并安裝最新的texstudiohttp://texstudio.sourceforge.net/
二、Texstudio當中的中文字體使用
但texstudio當中中使用ctex中文包總是出錯。怎么回事呢?主要是兩個問題:中文字體,字體編碼。
如何解決呢?
1. 為支持中文字體在miktex中安裝ctex包
2. 設置字體的編碼
這一步并不那么簡單,需要在軟件中設置兩個地方(見這篇博客),在代碼中聲明兩個地方。如下:
(2a)選項->設置->編輯器->Default Font Encoding 選擇"System" 并勾上Auto Detect Encoding of Loaded files.
(2b)編輯"->設置編碼->{如果是GBK編碼,就選擇"System"},并點重新載入即可。
(2c) 在Latex代碼中聲明usepackage{ctex},如下代碼
讀者設置了2a和2b之后可以嘗試run下面這個簡單的例子:
documentclass[10pt,a4paper]{article}
usepackage{ctex}
egin{document}
good morning!
中文English中文
end{document}
問題二 :如何在TexSduio中使用JabRef來插入文獻,自動生成文獻列表的問題.
傳統的添加文獻的方法:
//--------------------------------------
egin{thebibliography}{}
這里輸入文獻
end{thebibliography}
//-------------------------------------
這種添加文獻的方法比較原始,不適合管理大型文獻,手工操作繁瑣,麻煩,目前更好的解決方案為:
在tex文檔中,指定文獻數據庫和文獻格式文件,創建了文獻數據庫就可以在所需排版參考文獻的位置使用文獻格式命令和文獻數據庫命令
1.首先在tex里加上兩個宏包
usepackage{cite}
usepackage{hyperref}
2.刪除tex論文中的這兩行:
egin{thebibliography}{}
end{thebibliography}
3.在要插入文獻的位置 添加下面兩行
ibliographystyle{文獻的格式,如IEEEtran}
ibliography{文獻數據庫的名字}
解釋:
數據庫內存放我們自己搜集整理的各種文獻,可以從各大數據庫IEEE, WebScience,Springer,ElserVierew...下載bibtex文獻形式,可以結合使用JabRef文獻管理軟件管理所有文獻,
文獻的格式一般所要投稿的期刊會給出,如IEEE會刊的IEEEtran即為其文獻格式,這樣在插入文獻時,tex會自動轉換為IEEE指定的文獻樣式,簡單快捷,JabRef開源免費,適合大型文獻的管理和應用.
1.添加文獻的格式文件到tex文檔中,如" ibliographystyle{文獻格式名} ", 文獻格式名擴展名為.bst,這里不需要添加擴展名,只需添加相應的文件格式名即可
2.添加自己的文獻數據庫.bib文件到tex文檔中,如 "獻數據1名字,文bibliography{文獻數據庫2名字,...} " ,文獻數據庫的擴展名為.bib,同上,也不需要在大括號里添加擴展名,只需添加相應的數據庫名即可
latex中如何設置sci期刊名(如圖所示,分單雙頁、左右對齊)
開頭添加: documentclass[journal,twoside]{IEEEtran}, 注:必須在選項參數里添加上twoside,否則,無效果.
tex文中采用markboth{xxx-期刊名}{xxx-文章題目信息等}
為什么要用 Jabref?
JabRef是一個開源的參考文獻管理軟件,使用 Java 語言編寫,所以天生具有跨平臺特性,通用于安裝有 Java 支持的 Windows, Linux 和 Mac,軟件主頁在:http://jabref.sourceforge.net/。它可以很方便地管理下載到本機的文獻,生成 BibTeX 文獻數據庫,供 LaTeX 或其它軟件使用,可以與 Kile, Emacs, Vim, WinEdt 等多種軟件結合使用。
寫論文的工具有兩大類:一類是用 LaTex,一類是用 Microsoft Word。兩類都是工具,內容才是實質,無論如何,只要文章的內容好就行。不過現在就是在討論工具嘛:
如果你想日子好過些,遠離 Word。
用 Jabref 的好處是,無論是用 LaTeX 還是 Word,它都支持。
LaTeX。直接裝一個 Jabref 就好了。
Word。Jabref 之外還需要裝Bibtex4Word。
其實,如果細說,Jabref 就是一個高級的 BibTeX 文件管理工具。說 Jabref 支持 Word 也是靠著Bibtex4Word 讓 Word 能結合 BibTeX 使用。說到底,遠離 Word 吧。用Bibtex4Word支持 Word 是一種不得已而為之的方法,因為很多時候用 Word 是無法避免的。
Jabref 是免費的,不用費盡心思去找各種激活文件。
Mendeley 目前只能去 Google Scholar 找文獻信息,很多時候返回的結果還需要手工修正。
Papers 在查找文獻信息的時候很不錯,管理也很不錯。Windows 版的還比較簡陋。Mac 版的 Papers3雖然是正式版,但是功能還不完善;Papers2雖然功能完善,但是缺少了 Dropbox 同步。是的,因為 Papers 是收費軟件,我當然期待它完美無缺。Linux 版還木有。
至于其他的 Endnote 什么的,沒用過,覺得都是是上個世紀的產品。
BibTeX 是什么?
BibTeX 是 TeX 的衍生系統,專門處理參考文獻。具體BibTex 和 TeX 結合的實現機理我不清楚,也覺得沒必要。只需要知道 BibTeX 是通過一種以 .bib 的文本文件體現就夠了。文本文件的優點就不必說了,跨平臺,無論什么平臺的電腦都能打開。體積小,傳輸也方便。
JabRef 適合什么人使用?總的來說 JabRef 最大的特點就是使用 BibTeX 格式的數據庫,所以它最適合 LaTeX 用戶使用;如果僅僅使用它的管理功能,也可以用于本地電子書的管理;對于使用 M$ Office 寫論文的用戶來說,EndNote 是最好的選擇,它能集成到 M$ Word 中,所以不推薦使用 JabRef。
附:JabRef的下載列表:http://jabref.sourceforge.net/ ,JabRef基本界面:
在文章中插入文獻時可以用命令cite{Tremonti2004}來完成,編譯后,會tex編譯系統會在文后自動插入相應的文獻,如下所示:
其他latex中的一些小問題總結(不斷更新... ... ... )
如何實現雙擊pdf文件中的文字跳轉到源文件相應的位置?
右擊選擇“點擊以跳轉到行(ctrl+click)”,或者按ctrl鍵加單擊文字,會自動跳轉到源文件的相應內容上去。
如果以上出現問題,很大可能原因是,你的源文件放在了中文目錄下。
1.原文地址:LaTeX中ref{}引用標號不正確的問題
部分期刊模板下表格、圖片的引用會出現不正確的問題。比如第一張圖片定義的label為label{fig1},tex文件中引用ref{fig1},但編譯后出現的是Figure 2或是Figure x.x。
解決方法:
在figure(table類似)環境中,先寫caption{}再寫label{},也就是說,一定要把label{}放在caption{}后面。
2.算法命令REQUIRE和ENSURE顯示為Input:和Output:
usepackage{algorithm} 宏包,在tex文中寫偽代碼時遇到的問題:
(1)首先在導言區加入語句:
usepackage{algorithm}
%usepackage{algorithmic}
(2)在導言區,用enewcommand 改變現有命令的定義。加入如下語句:
renewcommand{algorithmicrequire}{ extbf{Input:}} %Use Input in the format of Algorithm
renewcommand{algorithmicensure}{ extbf{Output:}} %UseOutput in the format of Algorithm
顯示效果:
總結: 排版可能需要的包
usepackage{algorithm} //format of the algorithm
usepackage{algorithmic} //format of the algorithm
usepackage{multirow} //multirow for format of table
usepackage{amsmath}
usepackage{xcolor}
DeclareMathOperator*{argmin}{argmin} //argmin或argmax公式的排版
enewcommand{algorithmicrequire}{ extbf{Input:}} //Use Input in the format of Algorithm
enewcommand{algorithmicensure}{ extbf{Output:}} //UseOutput in the format of Algorithm
排版圖片可能需要的包:
usepackage{graphics}
usepackage{graphicx}
usepackage{epsfig}
算法的排版舉例:
egin{algorithm}[htb] %算法的開始
caption{ Framework of ensemble learning for our system.} %算法的標題
label{alg:Framwork} %給算法一個標簽,這樣方便在文中對算法的引用
egin{algorithmic}[1] %這個1 表示每一行都顯示數字
REQUIRE ~~ %算法的輸入參數:Input
The set of positive samples for current batch, $P_n$;
The set of unlabelled samples for current batch, $U_n$;
Ensemble of classifiers on former batches, $E_{n-1}$;
ENSURE ~~ %算法的輸出:Output
Ensemble of classifiers on the current batch, $E_n$;
STATE Extracting the set of reliable negative and/or positive samples $T_n$ from $U_n$ with help of $P_n$; label{code:fram:extract} %算法的一個陳述,對應算法的一個步驟或公式之類的; label{ code:fram:extract }對此行的標記,方便在文中引用算法的某個步驟
STATE Training ensemble of classifiers $E$ on $T_n cup P_n$, with help of data in former batches; label{code:fram:trainbase}
STATE $E_n=E_{n-1}cup E$; label{code:fram:add}
STATE Classifying samples in $U_n-T_n$ by $E_n$; label{code:fram:classify}
STATE Deleting some weak classifiers in $E_n$ so as to keep the capacity of $E_n$; label{code:fram:select}
RETURN $E_n$; %算法的返回值
end{algorithmic}
end{algorithm}
排版效果圖:
在文中對算法和算法的某個步驟的引用:Therefore, in step
ef{code:fram:extract} of algorithm
ef{alg:Framwork}, we extract $T_n$, a set of reliable negative samples
1、 For和While循環語句的排版舉例
(1) 排版效果圖
(2)排版代碼
egin{algorithm}[h]
caption{An example for format For & While Loop in Algorithm}
egin{algorithmic}[1]
FOR{each $iin [1,9]$}
STATE initialize a tree $T_{i}$ with only a leaf (the root);
STATE $T=Tigcup T_{i};$
ENDFOR
FORALL {$c$ such that $cin RecentMBatch(E_{n-1})$} label{code:TrainBase:getc}
STATE $T=T cup PosSample(c)$; label{code:TrainBase:pos}
ENDFOR;
FOR{$i=1$; $i<n$; $i++$ }
STATE $//$ Your source here;
ENDFOR
FOR{$i=1$ to $n$}
STATE $//$ Your source here;
ENDFOR
STATE $//$ Reusing recent base classifiers. label{code:recentStart}
WHILE {$(|E_n| leq L_1 )and( D
eq phi)$}
STATE Selecting the most recent classifier $c_i$ from $D$;
STATE $D=D-c_i$;
STATE $E_n=E_n+c_i$;
ENDWHILE label{code:recentEnd}
end{algorithmic}
end{algorithm}
3. 在LaTex中的注釋有3種:
1. 用%注釋一行文字, 在%后的文字都不予編譯;
2. 用iffalse .... fi 包含一段文字, 被包含的文字被注釋掉了;
3. 用egin{comment} ... end{comment} 包含被注釋的文字, 但是需要在引言區包括相應的宏包, 即 usepackage{verbatim}.
總結
以上是生活随笔為你收集整理的TeXstudio 编写Latex论文的若干问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何理解*
- 下一篇: 基于B/S模式下的JAVA车辆调度管理系