我们在写论文的时候经常使用latex模板,突然要自己写个大作业等等时,经常因为文献管理而困扰,就想着自己做个LaTeX模板,却发现无从下手,于是就有了这篇文章。
要想玩转LaTeX,你首先得获得它。
安装的时候,我建议大家安装3个东西,textstudio + textlive2020 + sumatraPDF
下载链接:
textstudio :Welcome to TeXstudio
安装过程没什么难的,就是有点慢,安装完后汉化可以参考这篇文章:Tex Studio 安装与入门
textlive2020:链接:https://pan.baidu.com/s/1Hv121DsQEfmlcm_T9jvoyQ 提取码:jkkc
包有点大,放网盘了,百度网盘现在下还挺快的,大家自行下载。
sumatraPDF:链接:https://pan.baidu.com/s/1OZIoj69CWeiCCB9umL4tGw 提取码:jkkc
就是这么贴心,点开即食!
通常,我们用来编辑的都是.tex
文件,那是因为别人已经帮我们把格式与内容分开了。这也是为什么LaTeX深受人喜爱的原因。实际上,我们在其中调用了文档类以及宏包,但需要自己定义格式的时候,就难了。
首先对LaTeX文档中应当包含的文件进行说明:
文件类型 | 功能 |
---|---|
.cls | 类文件,通过文档最前面的\documentclass命令导入 |
.cfg | 模板配置文件 |
.bib | 使用bibligraphy方式导入参考文献时,参考文献管理 |
.tex | 我们写文档内容的文件 |
.sty | 包文件,通常使用\usepackage导入,也需要安装 |
.bbl | 其编译之后形成的文件 |
重要的是两步:(1)编写.cls文件;(2)编写.tex文件
简单来说,cls文件可以分为四部分,我暂且分别称之为声明、宏定义、输入数据处理以及其他四部分。
所谓声明,只是说明了编译cls文件需要什么样的TeX格式以及本cls文件可以提供什么内容,基本上是万年不变的,如下:
\ProvidesClass{你自己命名的cls文件名字}
\NeedsTeXFormat{LaTeX2e}
这部分到时候在.tex文件中要使用\documentclass{你刚定义的cls名字}
调用
\newif\ifChinese
\newif\ifEnglish
这么做的好处是创建逻辑变量ifChinese和ifEnglish,勇于区分中英文,并在后续做不同处理。
\DeclareOption{zh}{\Chinesetrue\Englishfalse}
\DeclareOption{en}{\Chinesefalse\Englishtrue}
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
\LoadClass{article}
对于zh,将\Chinese这个变量设为true,\English这个变量设为false,以便在后续使用第二部分定义的\if,第三条语句为将初zh,en之外的其余参数传至article类,供article类进行处理,最后呢,就是加载继承的article类
会先导入需要用到的包,之后将上面的零散语句贴上去。在tex文件中,导入包通常使用\usepackage命令,但是在cls中,一般要使用\RequirePackage的方式将其导入,如:
% Customize the section headers
\RequirePackage{titlesec}
% footnote
\RequirePackage{fancyhdr}
% Set the margins
\RequirePackage[margin=0.5in]{geometry}
\RequirePackage[T1]{fontenc}
这样基本的框架就搭好了。会有朋友发现,.tex文件中,输入的中文底下都有波浪线的问题,取消行内词汇检查
即可,如下图:选项->编辑器->行内检查的拼写
反勾选,点击确认后发现恼人的红色波浪符就消失了。
接下来就是零散的细节。这时需要什么就去百度,添加模块。有个网页可以做参考:
.cld部分如下图:
\ProvidesClass{mymodel}
\NeedsTeXFormat{LaTeX2e}
\newif\ifChinese
\newif\ifEnglish
\DeclareOption{zh}{\Chinesetrue\Englishfalse}
\DeclareOption{en}{\Chinesefalse\Englishtrue}
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
\LoadClass{article}
% Customize the section headers
\RequirePackage{titlesec}
% footnote
\RequirePackage{fancyhdr}
% Set the margins
\RequirePackage[margin=0.5in]{geometry}
\RequirePackage[T1]{fontenc}
% 导言
\documentclass[12pt,a4paper,twoside]{mymodel} % 定义使用排版类型
\usepackage{amsmath} % 调用公式宏包
\usepackage{graphicx} % 调用插图宏包
\usepackage{ctex} % 调用中文宏包
\usepackage{geometry} %调整页面大小以及页边距
\geometry{a4paper,top=1.5cm,bottom=1.5cm,left=1.5cm,right=1.5cm}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
% \usepackage{booktabs} % 表格需要的环境
\usepackage{multirow} % 合并表格中的行
\usepackage{multicol} % 合并表格中的列
\usepackage{makecell}
\usepackage{xcolor} % 颜色
\usepackage{CJK}
%\usepackage[chinese-simplified]{babel} %设置主要语言为简体中文
\usepackage{framed} %设计边框
\usepackage{amssymb} % 一些符号需要的环境
\usepackage{tabularx} % 防止文字过长溢出
\usepackage{setspace} % 设置行间距
% 正文
\begin{document}
\begin{CJK}{UTF8}{gbsn}
\begin{center}
\setlength{\tabcolsep}{3.9mm}{
\begin{tabular}{|c|c|c|c|c|}
\hline
论文题目 & \multicolumn{4}{c|}{目标检测}\\
\hline
\multirow{2}{*}{论文类型(请在有关项目下作 $\checkmark$ 记号)} & 基础研究 & 应用研究 & 工程技术 & 跨学科研究 \\ \cline{2-5}
& $\qquad$ & $\checkmark$ & $\qquad$ & $\qquad$ \\
\hline
\end{tabular}}
\end{center}
\begin{framed}
\verb||
\setstretch{1}
\title{title}
\section{\large 选题依据}
\subsection{\normalsize 国内外研究背景}
目标检测的任务是从图像中精确且高效地识别、定位出大量预定义类别的物体实例\cite{hua}。
\subsection{\normalsize 目的及意义}
\subsection{\normalsize 应用价值}
\subsection{\normalsize 预期结果}
\section{\large 研究内容、研究方案、工作量的估计,存在问题及拟采取的解决措施}
\subsection{\normalsize 研究内容}
\subsection{\normalsize 研究方案}
\subsection{\normalsize 存在的问题及解决方案}
\section{\large 进度安排}
% 参考文献
\renewcommand
\refname{\large 参考文献}
\begin{thebibliography}{99}
\bibitem{hua}文献内容
\end{thebibliography}
\end{framed}
\end{CJK}
\end{document}
关于参考文献
网上一堆找bitex的教程,然后都要用到ieeetr这个文档格式,头疼,
于是选择latex自带的thebibliography 环境,麻烦后面文献的作者、日期啥的需要自己手动调整,格式如下:
在.tex中
\renewcommand
\refname{参考文献}
\begin{thebibliography}{随便写个数字,我尝试了都行}
\bibitem{标记字符,自己随意,最好英文}文献内容
\end{thebibliography}
在文章内,需要加参考文献的地方输入\cite{标记字符}就行
最后得到结果如下图:
可以在此基础上修改,应该可以满足大部分需求。
参考文章:
1、LaTeX入门|(2)定制专属模板
2、一个极简的LaTeX论文模板,入门论文的LaTeX排版、编辑
3、解决TeXstudio编辑中文时文字下方出现红色波浪符的问题
4、LaTex】cls文件编写和使用入门