LATEX环境安装
CTEX 安装 (垃圾,不要装)
运行
- clean.bat
- comp.bat
缺少字体
- Couldn’t find `Adobe Heiti S.cfg’
miktex-maketfm: No creation rule for font “Adobe Heiti Std”. - 解决方法:其实就是下载这四个字体之后,右键 ”为所有用户安装“ 即可,推荐一个下载地址:https://bigfontsite.com/fonts
2024/5/27
由于学校更新模板, 采用宇航的版本
安装 tex live2024+ win edt,pdflatex一键编译,完美成功
用overleaf则会报错
最新的版本和这个版本只有两个区别,一个是授权页,换一个pdf,一个是页眉,换成了居中
-
授权页/诚信说明: 需要替换/直接pdf替换;data/copyright.tex 该版本和新版szu说明不一致;可以修改format.tex实现一致;我懒得改,直接用word填好转pdf再插进来
-
页眉,直接 \cnpageheader{博士学位论文\hfill\leftmark}换成\cnpageheader{\leftmark}等操作即可(包括致谢这些)
-
目录,Abstract改为大写ABSTRACT (在format
\addcontentsline{toc}{chapter}{ABSTRACT}
中设置) -
附录部分不太一样。反映在目录上也不一样。也可能是我没有用对命令。无所谓了,反正我没有附录.
-
Publication.tex 标题 改为3号
\chapter*{\centering\sanhao\hei\bfseries 攻读博士学位期间的研究成果}
-
与要求还是有很多不同;页眉高度、章节起始高度这些
-
难搞的是字体,这个模板 textbf对中文没用;而\bf 实际上是将宋体换成了黑体;然后想要 word版的加粗黑体 加粗宋体 没有;可能是要换字体库换package什么的;稍微试了一下,编译不通过,有点烦
以上都有问题,改用https://github.com/Jev0987/SZUThesis-2024
-
编译:
先点击B+,会生成main.bbl参考文献;再XeLaTex编译
-
szuthesis.cls
- 把\newcommand → \renewcommand:
\renewcommand*{\heiti}{\CJKfamily{heiti}}
(部,研究院)
→(部、研究院)
;硕士
→博士
- 关键词改成黑体加粗;目录
摘要
中间 加空格;abstract标题,改成arial字体
- 把\newcommand → \renewcommand:
%---------------------------------------------------------------------------%
%->> abstract environments
%---------------------------------------------------------------------------%
\newfontfamily\sectionef{Arial}
%- define chinese keywords
\newcommand{\keywords}[1]{%
\vspace*{2\baselineskip}
\noindent {\heiti\bfseries \szu@label@ch@keywords} #1}
%- define engish keywords
\newcommand{\KEYWORDS}[1]{%
\vspace*{2\baselineskip}
\noindent {\bfseries \szu@label@en@keywords} #1}
\newenvironment{abstract}{
\ctexset{chapter = {
format = \linespread{1.0}\zihao{3}\heiti\bfseries\centering,
beforeskip = {5pt},
afterskip = {18pt},
}}%
\chapter[摘\ \ 要]{摘\ \ 要}%
\pagestyle{mainmatterstyle}%
}{\szu@clearpage}
-
修改标题
- word 1磅值=Latex 1bp=Latex1.00375 pt;
- 根据深大要求将标题前后段落gap改为bp单位,修改大小;
目录
段后改为18bp;段前可能是考虑了页眉之类的和word要求不一样?所以不改段前了; 最后添加 答辩委员/评议书;建议直接拼接pdf上去即可,否则得去掉页眉页脚;
\providecommand{\tableofcontents}{} \let\tableofcontentsORIG\tableofcontents \renewcommand{\tableofcontents}{ \begingroup% \ctexset{chapter = { format = \linespread{1.0}\zihao{3}\bfseries\heiti\centering, beforeskip = {10pt}, %这里不改了,改完怪怪的,可能是考虑了页眉的高度 afterskip = {18bp}, %改这里 }}% \szu@clearpage\newgeometry{hmargin=1.23in,vmargin=1in}% \pagestyle{empty}\linespread{1.3}\tableofcontentsORIG% %\vspace{10pt}% Adjust vertical space as needed %\noindent\textbf{line 1}% Add the desired line here {\noindent \szu@song \zihao{-4} 附:指导教师对研究生学位论文的学术评语} 答辩委员会决议书 \szu@clearpage\restoregeometry% \endgroup% }
- 目录修改字体大小
\renewcommand*{\@dottedtocline}[5]{% [<level>,<indent>,<numwidth>,<title>,<page>] \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M %\leavevmode \zihao{4}\rmfamily % 目录中小节,改为宋体小四 \leavevmode \zihao{-4}\songti % 这里,目录中小节,改为宋体小四 \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th\mkern \@dotsep \cdot\mkern \@dotsep$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% \par\penalty\@highpenalty}% \fi } %- redefine l@part from book.cls to add dotted toc line \renewcommand*{\l@part}[2]{% [<title>,<page>] \ifnum \c@tocdepth >-2\relax \addpenalty{-\@highpenalty}% \addvspace{2.25em \@plus\p@}% \setlength\@tempdima{3em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\leavevmode \zihao{4}\rmfamily #1 \leaders\hbox{$\m@th\mkern \@dotsep \cdot\mkern \@dotsep$}% add dotted toc line \hfil \hb@xt@\@pnumwidth{\hss #2}}\par \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}% \endgroup \fi } %- redefine l@chapter from book.cls to add dotted toc line \renewcommand*{\l@chapter}[2]{% [<title>,<page>] \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip \z@ \@plus.2\p@ % \vskip \@chaptervspace \@plus\p@ \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth %\leavevmode \zihao{4}\bfseries\rmfamily \leavevmode \zihao{-4}\bfseries\rmfamily % 这里,修改目录,chapter 加粗宋体小四 \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak % \hspace{0.1em}%向右移动起始位置 % \leaders\hbox{$\m@th\mkern \@dotsep \pmb{\cdot} \mkern \@dotsep$}% add dotted toc line \myboldcftdotfill % 使用自定义的加粗点线 % \hspace{-0.5em}%向右移动终点位置 \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \penalty\@highpenalty \endgroup \fi }
- 三级节标题由宋改为宋加粗;skip单位改为bp;chapter段前可能是考虑了页眉之类的和word要求不一样?所以不改段前了; 由于深大要求目录只出现到1.1.1,所以不建议用1.1.1.1了,否则会显示在目录上
\ctexset { chapter = { format = \linespread{1.0}\zihao{3}\heiti\bfseries\centering, number = \chinese{chapter}, aftername = \quad, beforeskip = {7bp}, afterskip = {18bp}, pagestyle = plain, }, section = { format = \linespread{1.0}\zihao{-3}\heiti\bfseries\raggedright, aftername = \quad, beforeskip = {24bp}, afterskip = {6bp}, }, subsection = { format = \linespread{1.0}\zihao{4}\szu@song\bfseries\raggedright, aftername = \quad, beforeskip = {12bp}, afterskip = {6bp}, }, subsubsection = { format = \linespread{1.0}\zihao{-4}\szu@song\bfseries\raggedright, aftername = \quad, beforeskip = {12bp}, afterskip = {6bp}, }, appendix = { %numbering = true|false, %number = \rmfamily\Alph{chapter}, } }
-
修改时间
% 全文打印时间
\multicolumn{2}{c}{二〇二四年十一月}
- config.tex
- 得切换学硕专硕
\DEGREE{MasterXS}% 学术硕士 %\DEGREE{MasterZY}% 专业硕士
VSCODE 配置
- 配置教程参考https://zhuanlan.zhihu.com/p/166523064;但是它的临时文件很烦
- json代码参考https://zhuanlan.zhihu.com/p/685819395的代码,临时文件全都归到一个build文件夹下;但是它的代码只修改了pdflatex,没有修改xelatex;所以一旦用xelatex就会报错, find find xx.aux
- 我的json代码
{
"workbench.colorTheme": "Default Dark Modern",
"editor.accessibilityPageSize": 15,
"editor.fontSize": 18,
"python.defaultInterpreterPath": "C:\\Users\\SteveLaptop\\.conda\\envs\\torch\\python.exe",
"files.autoSave": "afterDelay",
"chatgpt.lang": "en",
"chatgpt.model": "gpt-3.5-turbo",
"security.workspace.trust.untrustedFiles": "open",
//------------------------------LaTeX 配置----------------------------------
//输出文件目录; 输出pdf在这里
"latex-workshop.latex.outDir": "./build",
// 设置是否自动编译
"latex-workshop.latex.autoBuild.run":"never",
//右键菜单
"latex-workshop.showContextMenu":true,
//从使用的包中自动补全命令和环境
"latex-workshop.intellisense.package.enabled": true,
//编译出错时设置是否弹出气泡设置
"latex-workshop.message.error.show": true,
"latex-workshop.message.warning.show": true,
// 编译工具和命令
"latex-workshop.latex.tools": [
{
"name": "xelatex",
//这里修改临时文件输出在build文件夹
"command": "xelatex -output-directory=build",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
//含有中文路径时用这个;%DOC则是全路径,则路径最好不含中文
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "pdflatex -output-directory=build",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "latexmk -output-directory=build",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"build/%DOCFILE%"
]
},
{
// 增加一个biber,搭配xelatex使用;临时文件在build文件夹
"name": "biber",
"command": "biber",
"args": [
"build/%DOCFILE%"
]
}
],
// 用于配置编译链
"latex-workshop.latex.recipes": [
// 实测work;xelatex需要搭配biber
{
"name": "xelatex -> biber -> xelatex*2",
"tools": [
"xelatex",
"biber",
"xelatex",
"xelatex"
]
},
//实测不work; xelatex需要用biber
// {
// "name": "xelatex -> bibtex -> xelatex*2",
// "tools": [
// "xelatex",
// "bibtex",
// "xelatex",
// "xelatex"
// ]
// },
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "Biber",
"tools": [
"biber"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
}
],
//文件清理。此属性必须是字符串数组
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk"
],
//设置为onFaild 在构建失败后清除辅助文件
// "latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.autoClean.run": "never",
// 使用上次的recipe编译组合
"latex-workshop.latex.recipe.default": "lastUsed",
// 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
"editor.wordWrap": "on",
"extensions.ignoreRecommendations": true,
"workbench.editor.enablePreview": false,
"editor.minimap.enabled": false
}
- bug
Recipe terminated with fatal error: spawn xelatex -output-directory=./build ENOENT.
经过实践,这是因为latex文件内存在bug;并不是xelatex找不到路径。
用winedt跑一下找到bug修正,vscode即可运行
- 快捷方式改为:
- alt+q 正向跳转
- alt+e 编译
- 双击 反向跳转