欢迎来我博客看看呀 https://blog.wyue.site/2019/03/01/1/

转载前请联系我,联系方式请见我博客 https://blog.wyue.site/

最近疫情在家写毕业论文,前期折腾了一下latex模版的相关事情,算是搞的比较清楚了,所以后期论文写起来也比较顺利,遇到问题也可以随时解决。现在论文也搞得差不多了,准备记录一下。

主要分成下面几个部分来总结一下latex写中文毕业论文的相关问题

  1. latex安装与编辑器的使用
  2. 模版与编译器
  3. 论文中会遇到的一些问题及解决办法

latex安装与编辑器的使用

下载与安装

肯定有很多人 ~~(包括我自己)~~还在使用甚至还在推荐别人使用CTeX套装,注意我的用词不要引起歧义哈。我说的这个ctex套装指的是那个下载下来安装好就又有latex可以用,又帮你按了一个winedit的那个套装,一般是在下面这个网址下载的

http://www.ctex.org/HomePage

但是我想说的是,除非有什么上古代码必须要这个,尽量还是别安装这个了
原因有两点

  1. 太旧了,很久都没人维护了
  2. 安装有风险,很多人报告有某种位置情况下会覆盖系统的Path变量

那么去哪里下载什么呢,我建议下载最新的texlive,原因是:

我看网上说还挺好用,然后我自己试了一下确实没出啥问题

下载地址在这里:https://www.tug.org/texlive/

嫌弃官网慢的话,清华大学镜像也是挺不错的, 这里下载 https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2019.iso

下载下来,挂载好镜像文件(这个就不写了哈,大家可以自己搜啥叫挂载镜像文件,或者来这里看),就可以安装了。
没记错的话里面有一个 install-tl-windows.bat 文件,双击就可以安装了。

安装大约需要1个小时(都不一定够)安装好以后,可以把安装的路径加入系统变量Path里面,以便后面说的编辑器调用。安装路径指的是类似下面这样的路径,最后一定是bin\win32,因为这个文件夹里面才有各种exe程序。

C:\texlive\2019\bin\win32

写论文用到的编辑器

这个话题有点引战。。我就说我咋写的吧,我本人主要用texstudio,偶尔用vscode+latex workshop插件。

texstudio官网下载就好,http://www.texstudio.org/ , 简单易用,几乎0配置,界面也友好。

模版与编译器

我是北京交通大学的,我们学校没有官方latex模版,但是有大佬们做了一个非官方的,还是与word版本有些不同,我自己又改了改,终于算是几乎一模一样了。

开源在这里,有需要的可以自取

https://github.com/xfdywy/bjtu-thesis-templete

如果发现问题可以提issue,或者评论。

模版基本就是一个.cls文件,在里面定义了论文的各个章节模块的格式。

这个模版需要用xelatex进行编译,别忘了在编辑器里面把编译工具换成xelatex,texstudio默认的话好像是pdflatex。

.

遇到的问题

xelatex在windows 10系统上(至少在win10上)太慢了

解决方法:在安装目录下找到xelatex.exe,就刚刚添加到Path里面的那个文件夹下面,然后

  1. 右击
  2. 属性
  3. 兼容性
  4. 以兼容模式运行这个程序
  5. windows7

知乎上这个问题下面的回答大家也可以试试 https://www.zhihu.com/question/53981204 。

反正我做完了以后速度就还能接受了。不编译很多图片的情况下,100页左右的论文也就不到一分钟。

推荐大家分章节写,平时都把别的章节注释掉,这样可以极大加快编译速度。

图标标题如何中英文两行,中文在上,英文在下

使用 \usepackage{bicaption} 这个包

然后在论文开始之前设置如下

\captionsetup[figure][bi-first]{name=图}
\captionsetup[figure][bi-second]{name=Figure}\captionsetup[table][bi-first]{name=表}
\captionsetup[table][bi-second]{name=Table}

如何在公式环境中单独标号一行

一般我们如果给align或者equation环境中,公式会默认加标号,但是如果我们加上星号*,就会没有标号。

奇怪的需求来了,我们想在align* 环境中给某一行加标号怎么办呢?在论文最开始的地方

\newcommand\numberthis{\addtocounter{equation}{1}\tag{\theequation}}

如果在align* 这样的环境中,想给某一行单独标号,可以在那一行最后用这个命令 \numberthis

算法框中文

\usepackage[ruled,linesnumbered]{algorithm2e}
\renewcommand{\algorithmcfname}{算法}
\SetKwInput{KwIn}{输入}
\SetKwInput{KwOut}{输出}

插入图片

建议使用如下两个包

\usepackage{graphicx}
\usepackage{subfig}

之后在正文中用


\begin{figure}[h]\centering \subfloat[a ]{\label{fig}\includegraphics[width=1.8in,height=1.5in]{a.png}}\bicaption{你好,世界}{Hello world } \label{fig1}
\end{figure}

这样的代码,可以插入子图。

定理,定义,引理等

如下, 语法解释大概是这样

\newtheorem{正文要用的环境名}{pdf上显示的名称}[按照谁编号]

\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}{引理}[theorem]
\newtheorem{corollary}{推论} [theorem]
\newtheorem{assumption}{假设}[chapter]

模版中的黑科技 (ugly trick)

\usepackage{fontspec}
\newfontfamily\myfont{times.ttf}

这个是为了调整因为字体到Times New Roman的

第二行是说我们以后可以用{\myfont ABC}这样的语法把ABC强行设成Times New Roman字体

需要电脑中有times.ttf这个文件,并且在系统路径中了。如果没有这个文件需要先下载,如果不在系统路径中,这可以把times.ttf文件复制一份放到latex项目的文件夹下。不然会提示找不到,报错。

windows电脑应该都有这个文件吧, C:\Windows\Fonts 这个文件夹下。如果没有, git里面我放了一份,可以自取。

以后想到了再补充

docker编译(可以尝试,不是必须)

如果知道我说的是啥可以往下看,不然可以算了。

有兴趣的同学可以尝试用docker来编译tex文件,linux上xelatex的速度比windows上快很多, 而且不用安装和配latex编译器的环境了比如texlive啥的。

win10 上的docker有hyper-v支持,性能也是杠杠的, 安装一个docker for win10, 启动之后用这条命令就可以啦

docker run -i --rm -w /data -v "%cd%:/data" tianon/latex xelatex  -synctex=1 -interaction=nonstopmode  RL.tex

解释一下

  • tianon/latex是某大佬的docker,里面有了新的textlive。对应的dockerfile 在这里

https://github.com/tianon/dockerfiles/blob/master/latex/Dockerfile

  • i 保持交互
  • –rm 表示运行完就把这个docker container删掉
  • -w 表示后面执行的命令在docker中的工作路径
  • -v 是文件夹映射,%cd% 表示当前文件夹
  • ‘xelatex -synctex=1 -interaction=nonstopmode RL.tex’ 这一段就是在docker container里面执行的命令啦,应该很容易看懂,在调用xelatex 去编译 RL.tex

懒得麻烦的话,可以用我写好的bat文件,直接在windows上的cmd里面执行 xelatex.bat RL.tex 就ok了

速度100页的论文能快10多秒,从接近30秒,变成了18秒。

当然问题在于正向反向跳转的时候会出问题。。。。原因出在编译的时候生成的synctex文件里面记录的文件路径是docker里面的路径,因此在我们这个例子里面就是/data, 所以在windows上没法进行跳转。如果有大佬会操作,请一定告诉我。

现在有一个邪门的办法。如果你用vscode,你可以用synctex.bat作为你synctex的应用程序,vscode支持自定义。这个时候就可以跳转了,虽然效率上稍微有所折扣,看起来应该是run一个docker,然后在docker里面synctex,之后再怎么把信号传回来(我不懂,瞎说的,反正能用)

当然了,你如果你本来就是linux系统,想用docker,也完全ok,你把我bat文件改成shell的语法就行,没啥区别,主要是%cd%这里改成 ”$(pwd)“ 就行。

docker 也可以用我push到阿里云的镜像, 直接pull这个也行
就是把tianon/latex 换成下面这个

registry.cn-hangzhou.aliyuncs.com/yuewang/xfdywy:latex
.

latex写中文毕业论文(北交大博士毕业论文模版)相关推荐

  1. LaTeX写中文文章的模板 --- 添加中英文摘要,引入图片、参考文献、多张图片并排,去掉日期

    LaTeX中文文章新人教程 添加中英文摘要,引入图片.参考文献.多张图片并排,去掉日期 建议道友们安装CTeX,而不是LaTeX. 1.安装好后,打开WinEdt(如下图标志),创建一个新的文档. 2 ...

  2. 20220318使用tex写中文

    开始使用latex写中文论文了. 但是我一直使用的是miktex,而miktex只支持英文,一编译中文,会出现错误.于是,我了解了ctex,ctex对中文支持很好,我开始安装了ctex. 但是出现了找 ...

  3. 电子科技大学硕士毕业论文和博士毕业论文Latex模板及问题集锦

    电子科技大学硕士毕业论文和博士毕业论文Latex模板 查阅地址为:UESTC硕博士毕业论文模板 电子科技大学硕博士论文使用过程中出现的问题集锦见: 问题集锦

  4. 他博士毕业论文写了1255页,28岁评教授,38岁当院士!

    本文来源:材料科学前沿.未来科学论坛.化学加.化学科讯.研之成理,编辑:募格学术 如何成为一名优秀的科学家? 28岁评教授,38岁当院士的Baran教授分享:往往你的与测试成绩或学术态度没有关系,而是 ...

  5. 博士毕业论文的个人简历部分,要写实习经历吗?

    博士毕业论文的个人简历部分,要写实习经历吗? http://www.zoowen.com/etagid51165b0/ 根据这个网站的介绍,好像要写上实习经历.

  6. [转载]用latex写毕业论文

    转载,备忘. 用 LaTeX 写漂亮学位论文(from wloo) 序 一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置 ...

  7. 他博士毕业论文写了1255页!28岁评教授,38岁当院士!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->CV微信技术交流群 本文转载自:募格课堂 | 来源:材料科学前沿.未来科学论坛.化学加.化 ...

  8. 中文事件抽取关键技术研究(谭红叶 博士毕业论文)

    中文事件抽取关键技术研究(谭红叶 博士毕业论文) 事件抽取的定义 ACE2005 将该项任务定义为:识别特定类型的事件,并进行相关信息的确定和抽取,主要的相关信息包括:事件的类型和子类型.事件论元角色 ...

  9. 博士毕业论文悲情致谢女友回应:学术是一场超越金钱的修行。

    来源 | 转载自中外学术情报,原出处无从溯源,鸣谢原作者 博士毕业论文感谢信: 我出生的时候是一个下雪的深夜,我的父亲在床边生了一堆柴火,我的母亲躺在四周漏风的那间破屋角落的床上,咬紧牙关,生下了我. ...

最新文章

  1. js获取当前日期,包括星期几
  2. sum除以count 和avg 的区别_EXCEL函数之计数COUNT系列
  3. JAVA TCP/IP网络通讯编程(二)
  4. python测试之道pdf百度云_Python测试之道——笔记1
  5. 2020财富中国500强:京东位列第13,阿里位列第18
  6. Python之UDP通讯简单例子
  7. 右键新建Excel时如何设定其版本即.xlsx转.xls格式
  8. java除了android,Java中是否有类似android中的android.os.Handler的类?
  9. 用canvas画一个刮刮卡
  10. SQL关键字筛选数据
  11. IEEE1588工业以太网交换机
  12. 马化腾惊现Leetcode每天刷题?为啥大佬都这么努力!
  13. IC数字常见问题(一)时钟
  14. oracle v session表,Oracle技术之V$SESSION_LONGOPS超过系统时间
  15. 0906期特别策划——“架构师大阅兵”
  16. 百度IFE前端学院-DAY1-Web开发概览
  17. docx行间距怎么设置_Word如何调整字间距,行间距.docx
  18. 三重邪骨手机版怎么登录服务器未响应,三重邪骨锁血版
  19. MySQL报错no connection established
  20. ccf2016年4月10日认证考试 俄罗斯方块问题思路

热门文章

  1. Linux SA--HugePage,HPET
  2. easyui ajax方式与后台servlet交互原理
  3. 美国临床营养专家:冬季营养建议
  4. QT 选择文件,另存为文件组件
  5. tableau中的fixed函数和exclude函数傻傻分不清?
  6. UR机器人(二):Path and Time Scaling
  7. Android中使用Webview SSL 自签名CA证书安全校验方案
  8. gwen语音课_想学习Vuetify? 这是Gwen Faraday的免费15部分课程
  9. Word文档如何查看字数
  10. Linux运维部落 DNS服务,Linux运维部落