本文主要總結在使用Latex過程中遇到的一些問題及解決方案。
一:關於參考文獻
1、如何在paper同一處用\cite命令同時引用多篇文獻?
用\cite{bibtex1}\cite{bibtex2}\cite{bibtex3},則編譯以后的正文引用處顯示的是[1][2][3];
用\cite{bibtex1,bibtex2,bibtex3},則編譯以后的正文引用處顯示的是[1,2,3];
怎樣才能在正文顯示的該引用出處的時候顯示[1-3]?
\usepackage[numbers,sort&compress]{natbib} % 不過這會使參考文獻字體變大。
用 \usepackage{cite} % \cite{bibtex1,bibtex2,bibtex3} --> [1]-[3]
2、如何使連續的參考文獻能夠中間用破折號連起來?比如[6,7,8,9]變成[6-9]?
方法:在文檔開始前加上下面的語句命令
\usepackage[numbers,sort&compress]{natbib}
不但可以壓縮參考文獻標號,還可以進行排序,即無論正文里面的順序怎樣,顯示出來都是先后順序。
注意:在elsevier模板中,natbib包已經默認引用了,無需重新引用,改一下natbib的選項即可,設置方法如下:
\biboptions{numbers,sort&compress}
以下是順便查到的,覺得也挺好,僅作參考。
3、如何實現參考文獻標號在右上角?
方法:在文檔開始前加上下面的語句命令
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
然后引用的時候使用\upcite{}的格式(一般的正常引用格式為\cite{})
4、更改參考文獻字體大小,段距和行距
\footnotesize % 更改字體大小
\setlength{\bibsep}{0.5ex} % 設置段距
\bibliographystyle{elsarticle-num}
\begin{spacing}{1.0} % 設置行距
\bibliography{references}
\end{spacing}
上述代碼需要添加包\usepackage{setspace}
二:Latex 調整斷字,連接符,取消斷詞/斷字
latex使用了處理斷字的算法去自動的找斷字的地方,而且latex會調整單詞間距,使得文章看起來不會顯得疏密不一致。大多數情況下,這些算法都工作得很好。但是因為斷字的算法是根據某種規則來處理單詞的斷字,而不是依照人工事先標注的字典,所以,它仍然會出問題。或是在不該斷的地方斷開了,又或者是斷開的地方太多了等等。在latex下可以通過調整參數和指定斷字點來處理這些問題。
在LaTex下可以通過設置參數和指定斷字點來獲得滿意的斷字。
-) 調整參數
\hyphenpenalty=5000
\tolerance=1000
把這兩個參數的調整加到tex文件里。hyphenpenalty值越大斷字出現的就越少。tolerance越大,換行就會越少,也就是說,LaTex會把本該斷開放到下一行的單詞,整個兒的留在當前行。
調這兩個值有可能可以解決斷字太多的問題。
-) 手動調整
如果遇到了斷開的地方不對的情況,也可以手動來指定一個單詞應該怎么斷。
\hyphenation{hy-phen-a-tion}
這個命令告訴latex,hyphenation只能從標有短橫線(-)的地方斷開。
-) 取消斷詞/斷字
某些期刊可能規定段落邊上不能出現hyphen,如下設置即可:
可以將下面語句放在導言區:
\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000
三:Latex Error:‘acmart.cls’ not found 解決方案
windows下latex編譯ACM論文模板時,出現Latex Error:‘acmart.cls’ not found
,解決方案:
-
首先cd至模板所在目錄下,然后運行以下命令:
-
tex acmart.ins
四:LaTeX 公式字體大小設置
字體大小:
七號 5.25pt 1.845mm \tiny
六號 7.875pt 2.768mm \scriptsize
小五號 9pt 3.163mm \footnotesize
五號 10.5pt 3.69mm \small
小四號 12pt 4.2175mm \normalsize
四號 13.75pt 4.83mm \large
三號 15.75pt 5.53mm \Large
二號 21pt 7.38mm \LARGE
一號 27.5pt 9.48mm \huge
小初號 36pt 12.65mm \Huge
初號 42pt 14.76mm
使用方法:替換下面代碼中的small即可
1 \begin{small} 2 \begin{equation} 3 \ldots 4 \end{equation} 5 \end{small}
五:LaTeX 正文段落與間距設置
\setlength{\lineskip}{2em} % 設置行間距
\setlength{\parskip}{2em} % 設置段落間距
\usepackage{geometry}
\geometry{a4paper,scale=0.8} %設置了紙張為a4 紙,並且版心占頁面長度的比例為80%;scale也可以改為ratio,表示版面邊距占頁面長度的比例。
\geometry{a4paper,left=2cm,right=2cm,top=1cm,bottom=1cm} %該宏包還可以設置頁面的上下左右邊距
\linespread{1.2} %設置行間距
六:公式技巧
1. 加粗變量
\usepakage{bm}
\bm{變量}
2. 求和,求乘積,積分,等公式的上下限設置
通過\limits 與 \nolimits可以改變缺省值。其中行間公式缺省使用\nolimits 而獨立公式缺省使用\limits。如果要改變缺省規則,就要在符號后面、上下限之前加入上面的兩個命令
或者
六:算法
1. 在Latex中使用algorithm2e顯示if-elseif-else-endif
在algorithm2e中,\If, \Else, \ElseIf
都是會以endif
結尾的,而\uIf, \lIf, \uElse, \lElse, \uElseIf, \lElseIf
都是不帶endif
的。u和l的區別是,u是塊級元素,而l是行內元素。
通過上面9個標簽的組合,就可以實現if-elseif-else-endif及其他組合。
例子:
2. 算法的縮進調整
命令為:\SetInd{0.5em}{0.6em}
左右分別為不使用上述命令和使用上述命令的情況。可以看到,使用上述命令時,while if for之間的空隙會減小,且數字越小,減小越多。
七:引用
1. 重復使用footnote,即腳注重復的情況,可以用下述方法解決。
第一次出現:\footnote{\label{footnote-1}some text.}
第二次出現:\textsuperscript{\ref{footnote-1}}
八:字體設置
1. 字體族設置
% 導言區 \documentclass{article} \usepackage{ctex} % 正文區 \begin{document} % 字體族的設置:羅馬字體, 無襯線字體 打字機字體 中文(黑體,宋體,仿宋,楷書) % 字體命令 \textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family } % 字體 {\songti 宋體} {\heiti 黑體} {\fangsong 仿宋} {\kaishu 楷書} % 字體聲明 \rmfamily Roman Family \sffamily Sans Serif Family \ttfamily Typewriter Family \end{document}
輸出示例
2. 字體系列設置
\begin{document} % 字體系列的設置(粗細,寬度) % 字體命令 \textmd{Medium Series} \textbf{Boldface Series} %字系列 \textbf{粗體} \textit{斜體} % 字體聲明 \mdseries{Medium Series} \bfseries{Boldface Series} \end{document}
輸出示例:
3. 字體形狀設置
\begin{document} % 字體形狀設置(直立,斜體,偽斜體 ,小型大寫) % 字體命令
\textsf{BitFlipPM}
\textup{Upright Shape} \textit{Italic Shape} \textsl{Slanted Shape} \textsc{Small Caps Shape} % 字體聲明 \upshape{Upright Shape} \itshape{Slanted Shape} \slshape{Slanted Shape} \scshape{Small Caps Shape} \end{document}
輸出示例:
4. 字體大小對應表