TeXstudio 編寫Latex論文的若干問題

TeXstudio 編寫Latex論文的若干問題解決方案總結
 
 
 
問題1: 如何安裝TeXstudio 以及 Texstudio當中的中文字體使用問題.
 
1、如何安裝TeXstudio
不少人推薦使用TexStudio。注意,texstudio是一個latex編譯器,而非latex的軟件實體。正如rstudio和r的關係。所以,先要安裝latex軟件,以後才能使用TexStudio。
 
1. 到這裏下載並安裝MikTex: http://miktex.org/ 或者TexLive2015:  http://tug.org/texlive/
 
2. 到這裏下載並安裝最新的texstudio  http://texstudio.sourceforge.net/
 
 
2、 Texstudio當中的中文字體使用
但texstudio當中中使用ctex中文包老是出錯。怎麼回事呢?主要是兩個問題:中文字體,字體編碼。
如何解決呢?
 
1. 爲支持中文字體在miktex中安裝ctex包
 
2. 設置字體的編碼
這一步並不那麼簡單,須要在軟件中設置兩個地方(見這篇 博客),在代碼中聲明兩個地方。以下:
 
(2a) 選項->設置->編輯器->Default Font Encoding 選擇" System" 並勾上Auto Detect Encoding of Loaded files.
(2b) 編輯"->設置編碼->{若是是GBK編碼,就選擇" S ystem"},並點從新載入便可。
(2c) 在Latex代碼中聲明usepackage{ctex},以下代碼
 
讀者設置了2a和2b以後能夠嘗試run下面這個簡單的例子:
 
\documentclass[10pt,a4paper]{article}
\usepackage{ctex}
\begin{document}
good morning!\
中文English中文
\end{document}

 

 

問題二 :如何在TexSduio中使用JabRef來插入文獻,自動生成文獻列表的問題.
 

傳統的添加文獻的方法:html

//--------------------------------------算法

\begin{thebibliography}{}

        這裏輸入文獻

\end{thebibliography}

 

//-------------------------------------數據庫

這種添加文獻的方法比較原始,不適合管理大型文獻,手工操做繁瑣,麻煩,目前更好的解決方案爲:編輯器

在tex文檔中, 指定文獻數據庫和文獻格式文件,建立了文獻數據庫就能夠在所需排版參考文獻的位置使用文獻格式命令和文獻數據庫命令ide

1.首先在tex里加上兩個宏包工具

      \usepackage{cite}

      \usepackage{hyperref}

 

2.刪除tex論文中的這兩行:oop

\begin{thebibliography}{}字體

\end{thebibliography}大數據

 

3.在要插入文獻的位置 添加下面兩行ui

\bibliographystyle{文獻的格式,如IEEEtran}

 \bibliography{文獻數據庫的名字} 

 

解釋:

數據庫內存放咱們本身蒐集整理的各類文獻,能夠從各大數據庫IEEE, WebScience,Springer,ElserVierew...下載bibtex文獻形式,能夠結合使用JabRef文獻管理軟件管理全部文獻,

文獻的格式通常所要投稿的期刊會給出,如IEEE會刊的IEEEtran即爲其文獻格式,這樣在插入文獻時,tex會自動轉換爲IEEE指定的文獻樣式,簡單快捷,JabRef開源免費,適合大型文獻的管理和應用.

  • 1.添加文獻的格式文件到tex文檔中,如" \bibliographystyle{文獻格式名} ", 文獻格式名擴展名爲.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鍵加單擊文字,會自動跳轉到源文件的相應內容上去。


 若是以上出現問題,很大可能緣由是,你的源文件放在了中文目錄下。

 

 

 

部分期刊模板下表格、圖片的引用會出現不正確的問題。好比第一張圖片定義的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)在導言區,用\renewcommand 改變現有命令的定義。加入以下語句:
 
\ renewcommand{ \algorithmicrequire}{  \textbf{Input:}}      %Use Input in the format of Algorithm
\ renewcommand{ \algorithmicensure}{  \textbf{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}

 

算法的排版舉例:

\begin{algorithm}[htb] %算法的開始

\caption{ Framework of ensemble learning for our system.} %算法的標題

\label{alg:Framwork} %給算法一個標籤,這樣方便在文中對算法的引用

\begin{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

一、 For和While循環語句的排版舉例

(1) 排版效果圖

 

(2)排版代碼

\begin{algorithm}[h]

\caption{An example for format For & While Loop in Algorithm}

\begin{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. 用\begin{comment} ... \end{comment} 包含被註釋的文字, 可是須要在引言區包括相應的宏包, 即 \usepackage{verbatim}.

相關文章
相關標籤/搜索