modify the cite

This commit is contained in:
EthanDeng
2019-10-11 10:46:18 +08:00
parent bf09de59ce
commit 7da1a2f2c5
2 changed files with 162 additions and 199 deletions

View File

@@ -1,7 +1,7 @@
%!TEX program = xelatex
% 完整编译方法 1: pdflatex -> bibtex -> pdflatex -> pdflatex
% 完整编译方法 2: xelatex -> bibtex -> xelatex -> xelatex
\documentclass[lang=cn,11pt,numbers, a4paper]{elegantpaper}
\documentclass[lang=cn,11pt,a4paper]{elegantpaper}
\title{ElegantPaper: 一个优美的 \LaTeX{} 工作论文模板}
\author{Ethan DENG \\ Fudan University \and Dongsheng DENG \\ PA Technology}
@@ -22,13 +22,13 @@
\section{模板介绍}
此模板基于 \LaTeX{} 的标准文类 article 设计,也即意味着你可以把 article 文类的选项传递给本模板,比如 \lstinline{a4paper, 11pt} 等等。本模板支持 \hologo{pdfLaTeX}\hologo{XeLaTeX} 编译。
此模板基于 \LaTeX{} 的标准文类 article 设计,所以 article 文类的选项也能传递给本模板,比如 \lstinline{a4paper, 11pt} 等等。本模板支持 \hologo{pdfLaTeX}\hologo{XeLaTeX} 编译。
\begin{lstlisting}
\documentclass[a4paper,11pt]{elegantpaper}
\end{lstlisting}
\textbf{注意}Elegant\LaTeX{} 系列模板已经全部上传至 \href{https://www.overleaf.com}{Overleaf} 上,用户可以在线使用 \href{https://www.overleaf.com/latex/templates/elegantpaper-template/yzghrqjhmmmr}{ElegantPaper}
\textbf{注意}Elegant\LaTeX{} 系列模板已经全部上传至 \href{https://www.overleaf.com}{Overleaf} 上,用户可以在线使用 \href{https://www.overleaf.com/latex/templates/elegantpaper-template/yzghrqjhmmmr}{ElegantPaper}另外,为了方便国内用户,模板也已经传至\href{https://gitee.com/ElegantLaTeX/ElegantPaper}{码云}
\subsection{全局选项}
此模板定义了一个语言选项 \lstinline{lang},可以选择英文模式 \lstinline{lang=en}(默认)或者中文模式 \lstinline{lang=cn}。当选择中文模式时,图表的标题引导词以及参考文献,定理引导词等信息会变成中文。你可以通过下面两种方式来选择语言模式:
@@ -50,7 +50,7 @@
\end{equation}
\subsection{自定义命令}
此模板并没有修改任何默认的 \LaTeX{} 命令或者环境。另外,我自定义了 4 个命令:
此模板并没有修改任何默认的 \LaTeX{} 命令或者环境\footnote{目的是保证代码的可复用性,请用户关注内容,不要太在意格式,这才是本工作论文模板的意义。}。另外,我自定义了 4 个命令:
\begin{enumerate}
\item \lstinline{\email}:创建邮箱地址的链接,比如 \email{ddswhu@outlook.com}
\item \lstinline{\figref}:用法和 \lstinline{\ref} 类似,但是会在插图的标题前添加 <\textbf{图 n}>
@@ -58,96 +58,12 @@
\item \lstinline{\keywords}:为摘要环境添加关键词。
\end{enumerate}
\subsection{列表环境}
你可以使用列表环境(\lstinline{itemize}\lstinline{enumerate}\lstinline{description}),示例如下:\\[2ex]
\begin{minipage}[c]{0.59\linewidth}
\begin{lstlisting}
\begin{itemize}
\item Routing and resource discovery;
\item Resilient and scalable networks;
\item Distributed storage and search.
\end{itemize}
\end{lstlisting}
\end{minipage}
\begin{minipage}[c]{0.4\linewidth}
\begin{itemize}
\item Routing and resource discovery;
\item Resilient and scalable networks;
\item Distributed storage and search.
\end{itemize}
\end{minipage}
\subsection{插图}
插图的命令和以前一样,也是使用 \lstinline{figure} 环境。\figref{fig:scatter} 显示了插图的效果。你可以把你的图放到当前工作目录的如下子目录下 (\lstinline{./image/}, \lstinline{./img/}, \lstinline{./figure/}, \lstinline{./fig/})。
\begin{lstlisting}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.6\textwidth]{scatter.pdf}
\caption{Scatter Plot Example \label{fig:scatter}}
\end{figure}
\end{lstlisting}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.6\textwidth]{scatter.pdf}
\caption{Scatter Plot Example \label{fig:scatter}}
\end{figure}
\subsection{表格}
建议使用 \lstinline{booktabs} 宏包制作表格,该宏包有三个命令 \lstinline{\toprule}\lstinline{\midrule}\lstinline[breaklines]{\bottomrule} 能方便你制作三线表。\tabref{tab:reg} 是一个示例:
\begin{lstlisting}
\begin{table}[htbp]
\small
\centering
\caption{Auto MPG and Price \label{tab:reg}}
\begin{tabular}{lcc}
\toprule
& (1) & (2) \\
\midrule
mpg & -238.90*** & -49.51 \\
& (53.08) & (86.16) \\
weight & & 1.75*** \\
& & (0.641) \\
constant & 11,253*** & 1,946 \\
& (1,171) & (3,597) \\
obs & 74 & 74 \\
$R^2$ & 0.220 & 0.293 \\
\bottomrule
\multicolumn{3}{l}{\scriptsize Standard errors in parentheses} \\
\multicolumn{3}{l}{\scriptsize *** p<0.01, ** p<0.05, * p<0.1} \\
\end{tabular}%
\end{table}%
\end{lstlisting}
\begin{table}[htbp]
\small
\centering
\caption{Auto MPG and Price \label{tab:reg}}
\begin{tabular}{lcc}
\toprule
& (1) & (2) \\
\midrule
mpg & -238.90*** & -49.51 \\
& (53.08) & (86.16) \\
weight & & 1.75*** \\
& & (0.641) \\
constant & 11,253*** & 1,946 \\
& (1,171) & (3,597) \\
obs & 74 & 74 \\
$R^2$ & 0.220 & 0.293 \\
\bottomrule
\multicolumn{3}{l}{\scriptsize Standard errors in parentheses} \\
\multicolumn{3}{l}{\scriptsize *** p<0.01, ** p<0.05, * p<0.1} \\
\end{tabular}%
\end{table}%
\subsection{参考文献}
此模板使用 \hologo{BibTeX} 来生成参考文献默认使用的文献样式bib style\lstinline{GB/T 7714-2015}\footnote{通过调用 \href{https://ctan.org/pkg/gbt7714}{\lstinline{gbt7714}} 宏包}。参考文献示例:~\cite{en3} 使用了中国一个大型的 P2P 平台(人人贷)的数据来检验男性投资者和女性投资者在投资表现上是否有显著差异。
此模板使用 \hologo{BibTeX} 来生成参考文献,中文模式下默认使用的文献样式bib style\lstinline{GB/T 7714-2015}\footnote{通过调用 \href{https://ctan.org/pkg/gbt7714}{\lstinline{gbt7714}} 宏包}。参考文献示例:~\cite{en3} 使用了中国一个大型的 P2P 平台(人人贷)的数据来检验男性投资者和女性投资者在投资表现上是否有显著差异。
你可以在谷歌学术MendeleyEndnote 中获得文献条目bib item然后把它们添加到 \lstinline{wpref.bib} 中。在文中引用的时候引用它们的键值bib key即可。注意需要在编译的过程中添加 \hologo{BibTeX} 编译。
本模板还添加了 \lstinline{cite=numbers}\lstinline{cite=super}\lstinline{cite=authoryear} 三个参考文献选项,用于设置参考文献格式的设置,默认为 \lstinline{super}。理工科类一般使用数字形式 \lstinline{numbers} 或者上标形式 \lstinline{super},而文科类多使用作者--年份 \lstinline{authoryear} 比较多。如果需要改为 \lstinline{cite=numbers} 或者 \lstinline{authoryear} ,可以使用
本模板还添加了 \lstinline{cite=numbers}\lstinline{cite=super}\lstinline{cite=authoryear} 三个参考文献选项,用于设置参考文献格式的设置,默认为 \lstinline{numbers}。理工科类一般使用数字形式 \lstinline{numbers} 或者上标形式 \lstinline{super},而文科类多使用作者-年份 \lstinline{authoryear} 比较多。如果需要改为 \lstinline{cite=numbers} 或者 \lstinline{authoryear} ,可以使用
\begin{lstlisting}
\documentclass[cite=numbers]{elegantpaper} % numbers style ref style
\documentclass[numbers]{elegantpaper}
@@ -156,6 +72,59 @@
\documentclass[authoryear]{elegantpaper}
\end{lstlisting}
\section{协作人员招募}
招募 Elegant\LaTeX{} 的协作人员,没有工资。工作内容:翻译 Elegant\LaTeX{} 系列模板相关的文稿(中翻英),维护模板的 wiki主要涉及 Markdown如果有公众号文稿写作经历的话也可以帮忙写微信稿。本公告长期有效。
目前 ElegantLaTeX 共有 4 名协作人员,分别是
\begin{itemize}
\item 官方文档翻译: \href{https://github.com/peggy2006xzyz}{YPY};
\item Github 维基维护: \href{https://github.com/izinngo}{Ingo Zinngo}\href{https://github.com/xiaohao890809}{追寻原风景};
\item QQ 群管理员: \href{https://github.com/sikouhjw}{Sikouhjw}.
\end{itemize}
在此感谢他们无私的奉献!
\section{致谢}
截止到 2019 年 10 月 10 日ElegantPaper v0.08 版本发布ElegantPaper 模板在 Github 上的收藏数star达到了 157。在此特别感谢 China\TeX{} 以及 \href{http://www.latexstudio.net/}{\LaTeX{} 工作室}对于本系列模板的大力宣传与推广。
如果你喜欢我们的模板,你可以在 Github 上收藏Star我们的模板。
\begin{figure}[htbp]
\centering
\includegraphics[width=\textwidth]{star.png}
\caption{一键三连求赞}
\end{figure}
\section{捐赠}
如果您非常喜爱我们的模板,你还可以选择捐赠以表达您对我们模板和我的支持!
\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{donate.jpg}
\end{figure}
\textbf{赞赏费用的使用解释权归 Elegant\LaTeX{} 所有,并且不接受监督,请自愿理性打赏}。10 元以上的赞赏,我们将列入捐赠榜,谢谢各位金主!
\begin{table}[!htbp]
\centering
\caption{Elegant\LaTeX{} 系列模板捐赠榜}
\begin{tabular}{crcc}
\toprule
捐赠者 & 金额 & 时间 & 渠道 \\
\midrule
Lerh & 10 元 & 2019/05/15 & 微信 \\
越过地平线 & 10 元 & 2019/05/15 & 微信 \\
大熊 & 20 元 & 2019/05/27 & 微信 \\
佚名 & 10 元 & 2019/05/30 & 微信\\
\href{http://www.latexstudio.net/}{latexstudio.net} & 666 元 & 2019/06/05 & 支付宝\\
Cassis & 11 元 & 2019/06/30 & 微信\\
佚名 & 10 元 & 2019/07/23 & 微信\\
李博 & 100 元 & 2019/10/06 & 微信\\
\bottomrule
\end{tabular}%
\end{table}%
\section{常见问题 FAQ}
\begin{enumerate}[label=\arabic*).]
@@ -164,18 +133,24 @@
\item \textit{如何删除日期?}\\
需要注意的是,与版本 \lstinline{\version} 不同的是,导言区不写或注释 \lstinline{\date} 的话,仍然会打印出当日日期,原因是 \lstinline{\date} 有默认参数。如果不需要日期的话,日期可以留空即可,也即 \lstinline|\date{}|。
\item \textit{如何获得中文日期?}\\
为了获得中文日期,必须在中文模式下\footnote{英文模式下,由于未加载中文宏包,无法输入中文。},使用 \lstinline|\date{\zhdate{2019/10/10}}|,如果需要当天的汉化日期,可以使用 \lstinline|\date{\zhtoday}|,这两个命令都来源于 \href{https://ctan.org/pkg/zhnumber}{\lstinline{zhnumber}} 宏包。
为了获得中文日期,必须在中文模式下\footnote{英文模式下,由于未加载中文宏包,无法输入中文。},使用 \lstinline|\date{\zhdate{2019/10/11}}|,如果需要当天的汉化日期,可以使用 \lstinline|\date{\zhtoday}|,这两个命令都来源于 \href{https://ctan.org/pkg/zhnumber}{\lstinline{zhnumber}} 宏包。
\item \textit{如何添加多个作者?}\\
\lstinline{\author} 里面使用 \lstinline{\and},作者单位可以用 \lstinline{\\} 换行。
\begin{lstlisting}
\author{Author A \\ Org. A \and Author B \\ Org. B }
\author{author 1\\ org. 1 \and author 2 \\ org. 2 }
\end{lstlisting}
\item \textit{如何添加中英文摘要?}\\
请参考 \href{https://github.com/ElegantLaTeX/ElegantPaper/issues/5}{Github::ElegantPaper/issues/5}
请参考 \href{https://github.com/ElegantLaTeX/ElegantPaper/issues/5}{ElegantPaper/issues/5}
\end{enumerate}
\section{示例}
这是一个示例文档:
为了让大家更加清楚最终的论文效果,如下给出两篇使用 ElegantPaper 模板排版的工作论文示例,也欢迎大家“投稿”!
\begin{enumerate}
\item \href{https://github.com/EthanDeng/bank-custody}{银行存管、投资者决策与 P2P 网络借贷规范发展}
\item \href{https://github.com/EthanDeng/risk-awareness}{互联网金融风险与投资者风险意识 —— 来自网贷平台交易数据的证据}
\end{enumerate}
这是一个最小示例文档Minimal Example
\begin{lstlisting}
\documentclass[lang=cn,a4paper,11pt]{elegantpaper}

View File

@@ -4,7 +4,7 @@
% Lastest Version: https://github.com/ElegantLaTeX/ElegantPaper
% --- Class structure: identification part
\ProvidesClass{elegantpaper}[2019/10/10 v0.08 ElegantLaTeX Paper class]
\ProvidesClass{elegantpaper}[2019/10/11 v0.08 ElegantLaTeX Paper class]
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{kvoptions}
@@ -20,11 +20,10 @@
\DeclareVoidOption{cn}{\ekv{lang = cn}}
\DeclareVoidOption{en}{\ekv{lang = en}}
\DeclareStringOption[numbers]{cite}[numbers]
\DeclareStringOption[numbers]{cite}
\DeclareVoidOption{numbers}{\ekv{cite=numbers}}
\DeclareVoidOption{authoryear}{\ekv{cite=authoryear}}
\DeclareVoidOption{super}{\ekv{cite=super}}
% \PassOptionsToClass{11pt}{article}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessKeyvalOptions*\relax
@@ -33,21 +32,20 @@
\RequirePackage{amsthm}
\RequirePackage{amsmath,amssymb}
\linespread{1.35}
% indentation, table and figure package
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{indentfirst}
\RequirePackage{booktabs}
\RequirePackage{multicol}
\RequirePackage{multirow,linegoal}
\RequirePackage{multirow}
\RequirePackage{linegoal}
\RequirePackage{xcolor}
\RequirePackage{graphicx}
\RequirePackage{fancyvrb}
\RequirePackage{abstract}
\RequirePackage{hologo}
\linespread{1.35}
\graphicspath{{image/}{figure/}{fig/}{img/}}
% caption settings
@@ -59,29 +57,21 @@
\RequirePackage[shortlabels,inline]{enumitem}
\setlist{nolistsep}
\RequirePackage[sort&compress]{natbib}
% \PassOptionsToPackage{\ELEGANT@cite}{natbib}
\setlength{\bibsep}{0.0pt}
\def\bibfont{\footnotesize}
% define the hyperref color
\RequirePackage{xcolor}
\definecolor{winered}{rgb}{0.5,0,0}
% bib-settings
\ifdefstring{\ELEGANT@cite}{authoryear}{
\RequirePackage[authoryear,sort&compress]{natbib}
}{\relax}
\ifdefstring{\ELEGANT@cite}{numbers}{
\RequirePackage[numbers,sort&compress]{natbib}
}{\relax}
\ifdefstring{\ELEGANT@cite}{super}{
\RequirePackage[super,sort&compress]{natbib}
}{\relax}
\definecolor{lightgrey}{rgb}{0.95,0.95,0.95}
\definecolor{commentcolor}{RGB}{0,100,0}
\definecolor{frenchplum}{RGB}{190,20,83}
\setlength{\bibsep}{0.0pt}
\def\bibfont{\footnotesize}
% settings for the geometry
% settings for the hyperref and geometry
\RequirePackage{hyperref}
\hypersetup{
pdfborder={0 0 0},
colorlinks=true,
@@ -92,27 +82,31 @@
linktoc=all,
}
\RequirePackage[left=1in, right=1in, top=1in, bottom=1in,headheight=0pt,headsep=0pt]{geometry}
% \setlength{\voffset}{-0.75in}
\setlength{\headsep}{5pt}
% add the \email cmd
\newcommand\email[1]{\href{mailto:#1}{\nolinkurl{#1}}}
% font settings
\PassOptionsToPackage{no-math}{fontspec}
\ifdefstring{\ELEGANT@lang}{cn}{
\RequirePackage[UTF8, scheme=plain]{ctex}
\ifdefstring{\ELEGANT@lang}{cn}{%
\RequirePackage[UTF8, scheme=plain]{ctex}
}
\ifxetex
\RequirePackage{fontenc}
\else
\RequirePackage[T1]{fontenc}
\AtEndOfClass{\RequirePackage{microtype}}
\AtEndOfClass{%
\RequirePackage{microtype}}
\fi
\RequirePackage{hologo}
% newtxtext and newtxmath pkg
\RequirePackage{newtxtext}
\RequirePackage{newtxmath}
\RequirePackage{esint}
%%% use yhmath pkg, uncomment following code
% \let\oldwidering\widering
% \let\widering\undefined
@@ -154,8 +148,9 @@
\newcommand{\keywords}[1]{\vskip2ex\par\noindent\normalfont{\bfseries : } #1}
\newcommand\figref[1]{{\bfseries ~\ref{#1}}}
\newcommand\tabref[1]{{\bfseries ~\ref{#1}}}
\RequirePackage{gbt7714}
\RequirePackage[\ELEGANT@cite]{gbt7714}
}{\relax}
\ifdefstring{\ELEGANT@lang}{en}{
\theoremstyle{plain}% default
\newtheorem{theorem}{Theorem}[section] %
@@ -182,18 +177,15 @@
}{\relax}
\AtBeginEnvironment{verbatim}{\microtypesetup{activate=false}}
\AtBeginDocument{
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\RequirePackage[flushmargin]{footmisc}
\setlength{\footnotesep}{12pt}
}
\BeforeBeginEnvironment{tabular}{\small}
\AfterEndEnvironment{tabular}{}
\AtBeginDocument{
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\RequirePackage[flushmargin]{footmisc}
\setlength{\footnotesep}{12pt}
}
\def\IfEmpty#1{%
\edef\1{\the#1}
@@ -201,7 +193,7 @@
}
\newtoks\version
\newtoks\institute
\def \ifempty#1{\def\temp{#1} \ifx\temp\empty }
\renewcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
@@ -268,17 +260,14 @@
\RequirePackage{listings}
\renewcommand{\ttdefault}{cmtt}
\lstdefinestyle{mystyle}{
\lstdefinestyle{estyle}{
basicstyle=%
\ttfamily
\lst@ifdisplaystyle\footnotesize\fi
}
\lstset{basicstyle=\scriptsize\ttfamily,style=estyle}
\lstset{basicstyle=\scriptsize\ttfamily,style=mystyle}
\definecolor{lightgrey}{rgb}{0.95,0.95,0.95}
\definecolor{commentcolor}{RGB}{0,100,0}
\definecolor{frenchplum}{RGB}{190,20,83}
\lstset{language=[LaTeX]TeX,
texcsstyle=*\color{winered},
numbers=none,
@@ -289,7 +278,6 @@
emph={elegantpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath,figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt,ctex,microtype,description,times,newtx,booktabs,tabular,PDFLaTeX,XeLaTeX,type1cm,BibTeX,cite,gbt7714},
emphstyle={\color{frenchplum}},
morekeywords={DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule,institute,version,includegraphics,setmainfont,setsansfont,setmonofont ,setCJKmainfont,setCJKsansfont,setCJKmonofont,RequirePackage,figref,tabref,email,maketitle,keywords,zhdate,zhtoday},
% frame=none,
tabsize=2,
backgroundcolor=\color{lightgrey}
}