diff --git a/Makefile b/Makefile index 626d30e1..0d9cb3a6 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,14 @@ pkg: doc pkg-only GRAD_DEST_DIR = ./BIThesis-graduate-thesis-template -grad: doc copy FORCE_MAKE +handbooks: copy FORCE_MAKE + cd the-graduates-handbook && latexmk -c \ + && GRADUATE=true latexmk && mv main.pdf graduate-handbook.pdf \ + && latexmk && latexmk -c \ + && latexmk && mv main.pdf undergraduate-handbook.pdf && cd - + +# 用于提供给研究生院 +grad: doc copy handbooks FORCE_MAKE # if $version is not specified, alert the user. @if [ -z "$$version" ]; then \ echo -e "\e[32mPlease specify the version of the template you want to generate.\e[0m"; \ @@ -113,16 +120,41 @@ grad: doc copy FORCE_MAKE exit 1; \ fi rm -rf ${GRAD_DEST_DIR}-${version} ${GRAD_DEST_DIR}-${version}.zip - cd ./the-graduates-handbook && latexmk && cd - cd $(SCAFFOLDDIR)/graduate-thesis && latexmk && latexmk -c && cd - mkdir ${GRAD_DEST_DIR}-${version} cp -r $(SCAFFOLDDIR)/graduate-thesis/ ${GRAD_DEST_DIR}-${version}/graduate-thesis/ cp ./bithesis.pdf ${GRAD_DEST_DIR}-${version}/'3-详细配置手册'.pdf - cp ./the-graduates-handbook/main.pdf ${GRAD_DEST_DIR}-${version}/'2-快速使用手册'.pdf + cp ./the-graduates-handbook/graduate-handbook.pdf ${GRAD_DEST_DIR}-${version}/'2-快速使用手册'.pdf (cd ${GRAD_DEST_DIR}-${version}/graduate-thesis/ && zip -rm ../"1-BIThesis-论文模板-${version}".zip . ) rmdir ${GRAD_DEST_DIR}-${version}/graduate-thesis zip -r ${GRAD_DEST_DIR}-${version}.zip ${GRAD_DEST_DIR}-${version} - + +UNDERGRAD_DEST_DIR = ./BIThesis-undergraduate-thesis-templates + +# 用于提供给教务部 +undergrad: doc copy handbooks FORCE_MAKE + @if [ -z "$$version" ]; then \ + echo -e "\e[32mPlease specify the version of the template you want to generate.\e[0m"; \ + echo -e "\e[32mFor example: make grad version=1.0.0\e[0m"; \ + exit 1; \ + fi + rm -rf ${UNDERGRAD_DEST_DIR}-${version} ${UNDERGRAD_DEST_DIR}-${version}.zip + cd $(SCAFFOLDDIR)/undergraduate-thesis && latexmk && latexmk -c && cd - + cd $(SCAFFOLDDIR)/undergraduate-thesis-en && latexmk && latexmk -c && cd - + cd $(SCAFFOLDDIR)/paper-translation && latexmk && latexmk -c && cd - + mkdir ${UNDERGRAD_DEST_DIR}-${version} + cp -r $(SCAFFOLDDIR)/undergraduate-thesis/ ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis/ + cp -r $(SCAFFOLDDIR)/undergraduate-thesis-en/ ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis-en/ + cp -r $(SCAFFOLDDIR)/paper-translation/ ${UNDERGRAD_DEST_DIR}-${version}/paper-translation/ + cp ./bithesis.pdf ${UNDERGRAD_DEST_DIR}-${version}/'4-详细配置手册'.pdf + cp ./the-graduates-handbook/undergraduate-handbook.pdf ${UNDERGRAD_DEST_DIR}-${version}/'5-快速使用手册'.pdf + (cd ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis/ && zip -rm ../"1-BIThesis-本科毕设论文模板-${version}".zip . ) + (cd ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis-en/ && zip -rm ../"2-BIThesis-本科毕设论文模板(全英文)-${version}".zip . ) + (cd ${UNDERGRAD_DEST_DIR}-${version}/paper-translation/ && zip -rm ../"3-BIThesis-本科毕设外文翻译-${version}".zip . ) + rmdir ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis + rmdir ${UNDERGRAD_DEST_DIR}-${version}/undergraduate-thesis-en + rmdir ${UNDERGRAD_DEST_DIR}-${version}/paper-translation + zip -r ${UNDERGRAD_DEST_DIR}-${version}.zip ${UNDERGRAD_DEST_DIR}-${version} examples: cls cp bithesis.cls $(EXAMPLEDIR)/cover/ diff --git a/the-graduates-handbook/chapters/ch1-intro.tex b/the-graduates-handbook/chapters/ch1-intro.tex index 3807461f..7b68335d 100644 --- a/the-graduates-handbook/chapters/ch1-intro.tex +++ b/the-graduates-handbook/chapters/ch1-intro.tex @@ -114,7 +114,7 @@ \section{如何将自己电脑上的论文转到 Overleaf} (原因:嵌套文件夹可能导致无法统计字数;不过不影响编译。) - 参考图\ref{fig:overleaf-recompile},文件 \texttt{main.tex}、文件夹 \texttt{chapters/} 等在根目录,而没有嵌套在 \texttt{graduate-thesis/} 文件夹中。若您已嵌套,可到左侧文件列表单击再拖动来移动文件。 + 参考图\ref{fig:overleaf-recompile},文件 \texttt{main.tex}、文件夹 \texttt{chapters/} 等在根目录,而没有嵌套在 \isGraduateTF{\texttt{graduate-thesis/}}{\texttt{undergraduate-thesis/}} 文件夹中。若您已嵌套,可到左侧文件列表单击再拖动来移动文件。 详细操作如下。访问 \url{https://www.overleaf.com/project},单击左上角\texttt{New Project},然后有下面两种方法。 diff --git a/the-graduates-handbook/chapters/ch2-template-usage.tex b/the-graduates-handbook/chapters/ch2-template-usage.tex index a55aa3b4..cd48f042 100644 --- a/the-graduates-handbook/chapters/ch2-template-usage.tex +++ b/the-graduates-handbook/chapters/ch2-template-usage.tex @@ -7,7 +7,7 @@ \chapter{模板组成与使用} \section{认识模板组成} -\dirtree{% +\isGraduateTF{\dirtree{% .1 /graduate-thesis/. .2 bithesis.pdf\DTcomment{\BIThesis 模板的使用手册}. .2 bithesis.cls\DTcomment{模板类文件}. @@ -25,7 +25,22 @@ \section{认识模板组成} .2 references/\DTcomment{包含了「参考文献」与「成果清单」中引用的参考文献}. .3 main.bib. .3 pub.bib. -} +}}{\dirtree{% +.1 /undergraduate-thesis/. +.2 bithesis.pdf\DTcomment{\BIThesis 模板的使用手册}. +.2 bithesis.cls\DTcomment{模板类文件}. +.2 latexmkrc\DTcomment{配置 latexmkrc 的编译选项}. +.2 main.tex\DTcomment{入口文件}. +.2 chapters/\DTcomment{正文内容文件夹}. +.3 0\_abstract.tex\DTcomment{摘要}. +.3 1\_chapter1.tex\DTcomment{章节一}. +.3 \ldots{}. +.2 images/\DTcomment{存放了一些图片,也可以在正文写作中用于存放图片}. +.3 \ldots{}. +.2 misc/\DTcomment{包含参考文献、结论等前置、后置内容}. +.3 1\_originality.tex. +.3 \ldots{}. +}} 在本模板提供的文件夹中,主要包含了上方所示的几个文件夹与文件。 @@ -38,7 +53,8 @@ \subsection{模板手册 \texttt{bithesis.pdf}} \subsection{入口文件 \texttt{main.tex}} \texttt{main.tex} 是本模板的入口文件,其中包含了本模板的所有配置信息, -并引用了其余文件夹(\texttt{chapters/}、\texttt{figures/}、\texttt{references/})的各个章节。在这里,我们可以进行个人信息的录入, +并引用了其余文件夹(\texttt{chapters/}、\texttt{figures/} +\isGraduateTF{、\texttt{references/}}{})的各个章节。在这里,我们可以进行个人信息的录入, 以及通过参数调整论文的各处格式。当然,每个参数的用法都已经 在 \texttt{bithesis.pdf} 中进行了详细的说明。 @@ -64,7 +80,7 @@ \subsection{主体内容文件夹} \begin{enumerate} \item 在\texttt{main.tex}中填写个人信息,调整论文格式; \item 在\texttt{chapters/}文件夹中编写论文的各个章节; - \item 补充在\texttt{misc/}、\texttt{references/}文件夹中的其他内容。 + \item 补充在\texttt{misc/}\isGraduateTF{、\texttt{references/}}{}文件夹中的其他内容。 \end{enumerate} 更棒的是,我们可以通过修改配置一键生成支持盲审的论文版本——一次写作, @@ -72,7 +88,7 @@ \subsection{主体内容文件夹} \section{个人信息录入} -在 main.tex 中,我们可以看到如下的代码: +在 \texttt{main.tex} 中,我们可以看到如下的代码: \begin{lstlisting}[language=TeX] \BITSetup{ % ... @@ -95,7 +111,7 @@ \section{个人信息录入} 这里的各个参数就是用于控制论文封面的个人信息的。 在这里,我们用自己的信息替换掉这些默认参数,就可以生成自己的论文封面了。 -上方的 cover 参数中,date 一项用于自定义封面中的日期。如果不填写该参数, +上方的 \texttt{cover} 参数中,\texttt{date} 一项用于自定义封面中的日期。如果不填写该参数, 则默认使用当前的日期。 是的,就是这么简单! @@ -133,12 +149,21 @@ \section{其他部分} 在\texttt{misc/}文件夹中的各个文件与正文存在着下列的对应关系: \begin{itemize} - \item \texttt{abstract.tex} 对应着摘要; - \item \texttt{conclusion.tex} 对应着结论; - \item \texttt{acknowledgements.tex} 对应着致谢; - \item \texttt{symbols.tex} 对应着符号表; - \item \texttt{pub.bib} 对应着「攻读学位期间发表论文与研究成果清单」中的成果; - \item \texttt{main.bib} 对应着「参考文献」中的文献。 + \isGraduateTF{ + \item \texttt{abstract.tex} 对应着摘要; + \item \texttt{conclusion.tex} 对应着结论; + \item \texttt{acknowledgements.tex} 对应着致谢; + \item \texttt{symbols.tex} 对应着符号表; + \item \texttt{pub.bib} 对应着「攻读学位期间发表论文与研究成果清单」中的成果; + \item \texttt{main.bib} 对应着「参考文献」中的文献。 + }{ + \item \texttt{1\_originality.tex} 对应着摘要; + \item \texttt{2\_conclusion.tex} 对应着结论; + \item \texttt{3\_reference.tex} 对应着参考文献; + \item \texttt{4\_appendix.tex} 对应着附录; + \item \texttt{5\_acknowledgements.tex} 对应着致谢; + \item \texttt{ref.bib} 对应着「参考文献」中的文献。 + } \end{itemize} 由于在论文中,这些部分的样式固定且内容较短,因此我们 @@ -146,10 +171,11 @@ \section{其他部分} 文件中提供了示例内容,以供参考。相信你在阅读这些示例内容 时,就已经知道了如何编写这些部分的内容了。 +\isGraduateTF{ 需要特殊注意的是,「成果清单」中的成果是通过引用 \texttt{pub.bib} 中的文献来生成的。因此,如果你需要在「成果清单」中添加 -新的成果,那么你需要首先在 \texttt{pub.bib} 中添加新的文献条目。 - +新的成果,那么你需要首先在 \texttt{pub.bib} 中添加新的文献条目。% +% 而如果你想要在盲审模式中隐藏自己的名字,那么你需要 根据 pub.bib 中的示例以及注释说明,为每个文献条目添加并设置 \texttt{author+an} 字段。 @@ -167,9 +193,9 @@ \section{其他部分} \end{lstlisting} 通过设置 \texttt{author+an} 字段,我们可以在盲审模式打开时, 将自己的名字自动替换为「第一作者」。 - +% 更具体的用法,可以参考 \texttt{pub.bib} 的注释内容或者 \texttt{bithesis.pdf} 中的说明。 - +}{} \subsection{交叉引用} \subsubsection{公式和图标引用} diff --git a/the-graduates-handbook/chapters/ch3-latex-syntax.tex b/the-graduates-handbook/chapters/ch3-latex-syntax.tex index f792c75b..89f0ee7d 100644 --- a/the-graduates-handbook/chapters/ch3-latex-syntax.tex +++ b/the-graduates-handbook/chapters/ch3-latex-syntax.tex @@ -354,7 +354,7 @@ \subsection{将参考文献的内容与表现分离} \subsection{在正文中引用参考文献} -\textit{如果想要按照章节分别管理参考文献,可以详见 biblatex中关于refsection 的部分。简单来说,就是使用 refsection 包裹一个章节的全部内容即可。但由于我校论文要求并非采用章节管理,因此不做赘述。} +\textit{如果想要按照章节分别管理参考文献,可以详见 biblatex 中关于refsection 的部分。简单来说,就是使用 refsection 包裹一个章节的全部内容即可。但由于我校论文要求并非采用章节管理,因此不做赘述。} 正文中引用参考文献时\cite{Jiang2005Size},用\verb+\cite{key1,key2,key3...}+可以产生“上标引用的参考文献”, 如\cite{Meta_CN,chen2007act,DPMG}。 diff --git a/the-graduates-handbook/chapters/cover.tex b/the-graduates-handbook/chapters/cover.tex index 6298b402..378401bb 100644 --- a/the-graduates-handbook/chapters/cover.tex +++ b/the-graduates-handbook/chapters/cover.tex @@ -1,5 +1,8 @@ -\title{\BIThesis{}研究生学位论文\LaTeX{}模板\\快速使用指南} -\author{北京理工大学~~研究生院} +% \isGraduateTF{graduate}{undergraduate} +\title{\BIThesis{}\isGraduateTF{研究生}{本科生}学位论文\LaTeX{}模板\\快速使用指南} +\author{北京理工大学~~\isGraduateTF{研究生院}{BIThesis 开源项目}} + + \maketitle diff --git a/the-graduates-handbook/main.tex b/the-graduates-handbook/main.tex index cd752312..062cdf41 100644 --- a/the-graduates-handbook/main.tex +++ b/the-graduates-handbook/main.tex @@ -10,7 +10,7 @@ % 采用章节标题级别的附录格式 appendices / chapterLevel = true, style = { - head = \BIThesis 研究生学位论文 \LaTeX 模板快速使用指南, + head = \BIThesis \isGraduateTF{研究生}{本科生}学位论文 \LaTeX 模板快速使用指南, pageVerticalAlign = top, % 开启 Windows 平台下的中易宋体伪粗体。 % windowsSimSunFakeBold = true, @@ -66,6 +66,30 @@ \addbibresource{reference/main.bib} +\ExplSyntaxOn + +\NewDocumentCommand{\getenv}{om} + { + \sys_get_shell:nnN { kpsewhich ~ --var-value ~ #2 } { } \l_tmpa_tl + \tl_trim_spaces:N \l_tmpa_tl + \IfNoValueTF { #1 } + { + \tl_use:N \l_tmpa_tl + } + { + \tl_set_eq:NN #1 \l_tmpa_tl + } + } + + \tl_gset:Nn \GRADUATE {} + \getenv[\GRADUATE]{GRADUATE} + + \NewDocumentCommand{\isGraduateTF}{ m m } { + \tl_if_eq:nnTF {\GRADUATE} { true } { #1 } { #2 } + } + +\ExplSyntaxOff + \begin{document} \input{chapters/cover.tex}