Giter Site home page Giter Site logo

scu_thesis_2020's Introduction

Version: 2022.03.23
"2020年四川大学研究生学业论文LaTex模版"
-- Modified by Kevin T. Lee --

GPL Code Version

四川大学2020研究生学业论文LaTex模版

SCU graduate thesis latex template.

根据学院给的2020版《研究生学位论文规范写作指南》Word模版需求(参见PDF),制作的LaTex模版。

使用该模版的多篇论文经受了2020/21年硕、博士论文评审的考验,请放心食用!

注意:已知Mac下可能会产生中文加粗文字复制乱码问题,请及时更新模板样式文件,并移除文档参数的kfont=,或直接使用2022_03_23版本

该模板已到稳定版本,可直接下载使用scu_thesis_2022_03_23中的最新模板。

  • 如果你习惯在Overleaf中写作,可以参考相关链接

  • 独立的模版样式文件,scu_thesis_template,可用于替换./Template目录用于更新样式。

国内网速不好可使用Gitee镜像:

克隆后修改.gitmodules文件内容如下:

[submodule "Template"]
    path = Template
    url = https://gitee.com/kevinleeex/scu_thesis_template.git

⚠️NOTICE

现在发现几处给出范例与描述不一致,已根据理解修改,如下:

  • 页眉说明为五号字,范例为小五,修改为小五
  • 一些标题描述间隔一个汉字符,范例为一个空格符,修改为一个汉字符
  • 封面页校名标题没有居中,修改为居中
  • 描述中公式居中,范例为右对齐,修改为居中
  • 描述中图和表题注都为宋体加粗,范例的表为黑体,修改为宋体加粗
  • 描述中偶数页页眉为论文题目,范例为学校名+论文类型,修改为论文题目
  • 没有保留封面等内容的说明内容。
  • 部分内容由于排版软件的关系有些微差别。
  • 使用插图/表格目录,假如图题/表题中有引用,请注意最后的引用顺序,若出现正文的第一个引用不是从[1]开始,请清理临时文件,重新编译。

如您发现更多问题请您提交ISSUES,或PR。

免责声明:本项目开源用于格式参考,本模版的作者和贡献者不承担任何人使用该模版所引发的任何问题(如格式审查等)。

Features

  • 🍞 通过配置项自动生成不同类型的论文格式,你专注内容就好
  • 🍔 「像素级」复刻原Word模版
  • 🧀 通过\incite 来进行行内引用
  • 🍟 \bicaption图片双语题注示例
  • 🍕 \cdash公式说明的破折号
  • 🌮 \cref智能参考
  • 🥘 \tabincell多行单元格
  • 🍗 \makefigtablist添加图表目录

Options

参数 说明
professional 专业学位
academic 学术学位
master 硕士
docter 博士
approval 送审版本,不生成声明和致谢
secret 保密论文,将显示密级
color 红色川大logo,默认为黑色
kfont= 字体库,可根据操作系统填写,默认fandol

Release Notes

See Releases

  • [2020-02-19] 将Template作为子模块方便样式的后续更新。
  • [2021-11-27] 增强对2019以上Tex Live中CTEX的兼容性。
  • [2022-03-23] 推荐scu_thesis_2022_03_03点击下载。
    • [重要] 修复Mac下可能产生的中文加粗字体复制乱码问题!统一字体

Previews

封面示例: image-20200301232656767

Getting Started

Prerequisites

在你构建项目之前,需要先安装以下的软件。

  • TexLive (2019)
  • MacTex(on mac)
  • Visual Studio Code (optional) with LaTex workshop plugin

Installation

克隆项目。

cd path-to-dir
git clone https://github.com/kevinleeex/scu_thesis_2020.git
cd scu_thesis_2020
git submodule init
git submodule update --remote

后续通过git submodule update --remote命令 更新样式子模块到最新版本,强制更新加上-f参数,合并更新加上--merge参数。

Usages

打开并编辑 MainBody.tex

% 设置文档属性
% 参数说明
% professional: 专业学位
% academic: 学术学位
% master: 硕士
% doctor: 博士
% approval: 送审版本,将不生成声明
% secret: 保密论文,将显示密级
% color: 红色川大logo
% kfont=<⟨none|adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|windowsnew|windowsold|...⟩>,
% 不填写则默认fandol
% 打开MainBody.tex根据需要填入
\documentclass[professional,master]{./Template/scuthesis2020}

% 在./Chapters/ 文件夹中写作,在MainBody.tex中包含
% 在./Chapters/Statement.tex 中撰写中文声明
% 在./Chapters/0_0_Abstract.tex 中撰写摘要
% 在./Chapters/Achievements.tex 中撰写学术成果
% 在./Chapters/Thanks.tex 中撰写致谢
% 在./ReferenceDocument/ 文件夹中,存放用于参考的文献
% 在./ReferenceBase.bib 文件中存放bibTex引用

使用 xelatex 编译 LaTex 文件,执行xeLatex->bibTex->xeLatex->xeLatex 方案.

Linux 与 macOS 用户

推荐使用本模版提供的 Makefile 进行编译,可以使用如下几条可用的命令:

make all                      # 执行清理、编译pdf、清理过程
make pdf                      # 编译生成 MainBody.pdf
make clean                    # 删除编译所产生的辅助文件
make cleanall                 # 删除 MainBody.pdf 和所有辅助文件
make wordcount                # 论文字数统计

Windows 用户

对于 Windows 用户,模版提供了编译脚本Compile.bat。可以双击直接编译,也可以在命令提示符窗口中使用脚本提供的额外功能:

.\Compile.bat thesis          # 编译生成 MainBody.pdf
.\Compile.bat clean           # 删除编译所产生的辅助文件
.\Compile.bat cleanall        # 删除 MainBody.pdf 和所有辅助文件
.\Compile.bat wordcount       # 论文字数统计

Overleaf用户

可以通过在线查看来进行预览,也可以下载后作为自己的Overleaf项目,注意设置编译器为xeLatex,已经对高版本Tex Live进行兼容!

Tips

  • 通过Detexify软件,可以通过手写来识别符号,给出相应的Latex符号标记。
  • 通过Mathpix Snipping Tool软件,可以通过截屏公式,来生成相应的Latex公式代码。
  • 通过pandoc命令行程序,可以将Tex文件生成其他格式文件,如docx,可以用于查重等。
    pandoc -s MainBody.tex -o MainBody.docx --bibliography=ReferenceBase.bib

Powered By

向以上项目表示感谢。

Support me

如果您喜欢这个项目可以点个Star,或提出Issue或通过PR提交有用的新特性,也欢迎推荐给其他人使用,这对我和项目都是很大的激励。

或者点击打赏我 通过支付宝或微信请我喝杯奶茶。

License

Copyright © 2020 Modified by Kevin T. Lee. 版权所有。

项目基于GPL开源协议,查看 LICENSE 获取详细内容。

scu_thesis_2020's People

Contributors

cuiao avatar kevinleeex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

scu_thesis_2020's Issues

请问是否缺少了.sty文件?

你好,感谢你的分享。我下载你的模板,在win10系统下的TexStudio上运行,会报错,其中一个错误为找不到gtb7714.sty。

请问如何修改每行38个字为34个字

您好!

我使用您的 https://github.com/kevinleeex/scu_thesis_2020 写博士论文。

发现一个问题:
一行有38个汉字,学校要求一行有34个汉字,这个怎么修改呢?谢谢!

我是用
% 一行34个汉字
\geometry{left=3.25cm,right=3.25cm,top=2.75cm,bottom=3cm,headsep=0.32cm,footskip=1cm}
解决问题的。

这里我附上我修改的内容
修改scuthesis2020.cls文件中

%使用geometry调整边距
\RequirePackage{geometry}
\geometry{a4paper,papersize={21cm,29.7cm}}
\geometry{left=2.5cm,right=2.5cm,top=2.75cm,bottom=3cm,headsep=0.32cm,footskip=1cm}
% bottom为2.5 + 0.5cm,考虑到footer的高度,这样与word一致
% \setlength{\topskip}{0.3cm}
% \renewcommand{\baselinestretch}{1.5}
\setlength{\baselineskip}{20pt}

% 这些命令用于设定各项文档信息的具体内容。
\newcommand\unitid[1]{\def\@unitid{#1}}

改成了

%使用geometry调整边距
\RequirePackage{geometry}
\geometry{a4paper,papersize={21cm,29.7cm}}
\geometry{left=2.5cm,right=2.5cm,top=2.75cm,bottom=3cm,headsep=0.32cm,footskip=1cm}
% bottom为2.5 + 0.5cm,考虑到footer的高度,这样与word一致
% \setlength{\topskip}{0.3cm}
% \renewcommand{\baselinestretch}{1.5}
\setlength{\baselineskip}{20pt}

% 默认字体间距问题,2024.04.29
%https://github.com/kevinleeex/scu_thesis_2020/issues/14
\renewcommand{\baselinestretch}{1.38}

% 英文字体应该是Times New Roman,2024.04.29
\setmainfont{Times New Roman} 

% 将A4纸换成16K,2024.04.29
\setlength\paperheight{26cm}
\setlength\paperwidth{18.4cm}

% 一行34个汉字
\geometry{left=3.25cm,right=3.25cm,top=2.75cm,bottom=3cm,headsep=0.32cm,footskip=1cm}

% 这些命令用于设定各项文档信息的具体内容。
\newcommand\unitid[1]{\def\@unitid{#1}}

[Issue] Package natbib Warning: Citation `laibson1997golden' on page 1 undefined on input line 44.

TeXLive : 2021版本.
模板文件: scu_thesis_2022_03_23.zip
https://github.com/kevinleeex/scu_thesis_2020/releases/download/v2022.03.23/scu_thesis_2022_03_23.zip

发现论文中参考文献只有最初的两个引用,添加其他引用都不行,在Log中报以下类似的错误:
Package natbib Warning: Citation `laibson1997golden' on page 1 undefined on input line 44.

折腾了1天,终于发现问题所在:
Chapters目录下老的.aux文件没有删除,在bibtex的时候,还是用的这些.aux文件,导致新的引用无法加入.

解决办法:
方法1:
删除Chapters目录下老的.aux文件即可.

方法2:
在项目根目录编写一个clean_env.bat文件
内容:

REM @echo off

REM 删除指定字符串的文件夹和文件
for /f "delims=" %%i in ('dir /s /a /b build') do (
rd /s/q "%%~i"
del /s/q "%%~i"
)

REM 删除指定字符串的文件夹和文件
for /f "delims=" %%i in ('dir /s /a /b *.log') do (
rd /s/q "%%~i"
del /s/q "%%~i"
)

REM 删除指定字符串的文件夹和文件
for /f "delims=" %%i in ('dir /s /a /b *.aux') do (
rd /s/q "%%~i"
del /s/q "%%~i"
)

pause

然后每次开始新环境时,首先执行一下clean_env.bat文件即可.

这里顺便分享一下setting.json的配置

{
  "workbench.colorTheme": "Default Dark+",
  "latex-workshop.latex.outDir": "%DIR%/.build",
  "latex-workshop.latex.tools": [
      {
          // 编译工具和命令
          "name": "xelatex",
          "command": "xelatex",
          "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              //"-pdf",
              "--shell-escape",
              "--output-directory=%OUTDIR%",
              "%DOCFILE%"
          ]
      },
      {
          "name": "pdflatex",
          "command": "pdflatex",
          "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "--output-directory=%OUTDIR%",
              "%DOCFILE%"
          ],
      },
      {
          "name": "bibtex",
          "command": "bibtex",
          "args": [
              "%OUTDIR%/%DOCFILE%"
          ],
          "env": {
              "TEXMFOUTPUT": "%OUTDIR%",
          }
      }
  ],
  "latex-workshop.latex.recipes": [
      {
          "name": "xelatex",
          "tools": [
              "xelatex"
          ]
      },
      {
          "name": "pdflatex",
          "tools": [
              "pdflatex"
          ]
      },
      {
          "name": "xe->bib->xe->xe",
          "tools": [
              "xelatex",
              "bibtex",
              "xelatex",
              "xelatex"
          ]
      },
      {
          "name": "pdf->bib->pdf->pdf",
          "tools": [
              "pdflatex",
              "bibtex",
              "pdflatex",
              "pdflatex"
          ]
      },
  ],
  "latex-workshop.latex.clean.fileTypes": [ //要清理的文件
      "*.aux",
      "*.bbl",
      "*.blg",
      "*.idx",
      "*.ind",
      "*.lof",
      "*.lot",
      "*.out",
      "*.toc",
      "*.acn",
      "*.acr",
      "*.alg",
      "*.glg",
      "*.glo",
      "*.gls",
      "*.ist",
      "*.fls",
      "*.log",
      "*.pdf",
      "*.gz",
      "*.fdb_latexmk",
  ],
  // 使用内置的pdf阅读器
"latex-workshop.view.pdf.viewer": "tab",
  // 使用Acrobat打开pdf
  //"latex-workshop.view.pdf.viewer": "external",  
  //"latex-workshop.view.pdf.external.viewer.command": "D:/software/Adobe/Acrobat/Acrobat.exe",  //自己的安装位置
  //"latex-workshop.view.pdf.external.viewer.args": [
  //    "%PDF%"
  //],
}

英文字体问题

你们模板的英文字体不是Times New Roman吧。
我是Windows系统,加了 \setmainfont{Times New Roman} 之后英文字体看起来才正确。

好像有点警告。。不知道原因

For rule 'xdvipdfmx', running '&do_viewfile( )' ...
Latexmk: Summary of warnings from last run of *latex:
Latex found 8 multiply defined reference(s)
=====Latex reported missing or unavailable character(s).

照着学院给的模板....?

是计算机学院的嘛? 学校没有统一模板吗?和我们学院(空天)老师给的完全不一样啊T T

如果遇到“已添加ReferenceBase.bib,但是仍然无法正常生成引用。”的情况,可以参看这个解决方案。

运行环境

  • MacBook Pro 2020
  • Big Sur 11.2.1 (20D74)
  • TeX Live 2020
  • MacTex(on mac)
  • Visual Studio Code (optional) with LaTex workshop plugin

复现
image
image

原因
xelatex无法编译 bib 文件,普通的 latex 编译器,需要手动一个编译大轮回解决这个问题:xelatex-bibtex-xelatex-xelatex。还好vscode提供了基于setting.json的 “命令集成”方案,可以接连执行四次不同的编译。

解决方法

  1. 在vscode的setting.json中添加
  {
    "name": "xelatex -> bibtex -> xelatex*2",
    "tools": [
    "xelatex",
    "bibtex",
    "xelatex",
    "xelatex"
    ]
    }
  1. 重启vscode之后,选择xelatex-bibtex-xelatex-xelatex编译。
    image

参考连接
https://zhuanlan.zhihu.com/p/71432461

PS:问题已经解决,这个issue可以直接关闭,仅提供参考作用。

使用2019以上版本的Tex Live编译报错

现象

考虑是2019以上的版本,默认的ctex宏集使用的是2.5以上版本,其不再默认加载xeCJKfntef宏包,导致如下部分指令不可用,引发编译报错。

  • \CTEXunderdot
  • \CTEXunderline
  • \CTEXunderdblline
  • \CTEXunderwave
  • \CTEXsout
  • \CTEXxout

解决方案

依据CTEX v2.5.6 说明文档中第11.6条提示,在样式文件中手动载入\RequirePackage{xeCJKfntef},增强其高版本兼容性。

图表标题字体大小有误

图表标题的大小比《研究生学位论文规范写作指南》中小了一号,./Template/scuthesis2020.cls中 67-70行字体为\small就差不多了,不用footnotesize

一些问题

  1. 缺少附录,虽然定义了附录环境,引入了appendix包,但是格式不太正确;
  2. 字体缺省fandol更新过后,win下编译出来的封面页,年份二〇二〇中的〇变小了;
  3. 图表标题过长后,会导致标题左对齐问题,可以将\RequirePackage[list=off]{bicaption}
    改为\RequirePackage[list=off,justification=centering]{bicaption}解决

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.