From 3e2f80be0bc415e72916b61a0d3cbfcda0c48d89 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Feb 2016 23:34:41 +0000 Subject: mynsfc (5feb16) git-svn-id: svn://tug.org/texlive/trunk@39590 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/xelatex/mynsfc/mynsfc.dtx | 412 +++++++++++++++++++++ 1 file changed, 412 insertions(+) create mode 100644 Master/texmf-dist/source/xelatex/mynsfc/mynsfc.dtx (limited to 'Master/texmf-dist/source/xelatex/mynsfc') diff --git a/Master/texmf-dist/source/xelatex/mynsfc/mynsfc.dtx b/Master/texmf-dist/source/xelatex/mynsfc/mynsfc.dtx new file mode 100644 index 00000000000..110c20b7a82 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/mynsfc/mynsfc.dtx @@ -0,0 +1,412 @@ +% \iffalse meta-comment +%<*internal> +\iffalse +% +%<*readme> +# mynsfc +My XeLaTeX template for writing the main body of NSFC proposals. + +---------------------------------------------------------------- +mynsfc --- A XeLaTeX template for writing the main body of NSFC proposals. +Author: Fei Qi +E-mail: fred.qi@ieee.org +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +Some text about the class: probably the same as the abstract. +% +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +% +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +mynsfc --- A XeLaTeX template for writing the main body of NSFC proposals. +Author: Fei Qi +E-mail: fred.qi@ieee.org +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2015 by Fei Qi + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Fei Qi. + +This work consists of the file mynsfc.dtx and a Makefile. +Running "make" generates the derived files README, mynsfc.pdf and mynsfc.cls. +Running "make inst" installs the files in the user's TeX tree. +Running "make install" installs the files in the local TeX tree. + +\endpostamble + +\usedir{tex/xelatex/mynsfc} +\generate{ + \file{\jobname.cls}{\from{\jobname.dtx}{class}} +} +% +%\endbatchfile +%<*internal> +\usedir{source/xelatex/mynsfc} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +% \usedir{doc/xelatex/mynsfc} +% \generate{ +% \file{README.md}{\from{\jobname.dtx}{readme}} +% } +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{mynsfc.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesClass{mynsfc} +%<*class> + [2015/08/18 v1.00 A LaTeX class for writing NSFC proposals.] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry} +\usepackage[numbered]{hypdoc} +\usepackage{xltxtra} +\usepackage{xeCJK} +\defaultfontfeatures{Mapping=tex-text} % after fontspec +\setCJKmainfont{仿宋_GB2312} +\setCJKsansfont{SimHei} +\setCJKmonofont{仿宋_GB2312} +\setmainfont{Times New Roman} +\setmonofont{Courier Std} +\renewcommand{\abstractname}{摘\hspace{2em}要} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% \fi +% +% \GetFileInfo{\jobname.dtx} +% \DoNotIndex{\newcommand,\newenvironment} +% +% \title{\textsf{mynsfc} --- 国家自然科学基金申请书正文模板\thanks{此文档描述的 +% 模板版本为 \fileversion, 最后修改日期为 +% \filedate.} } \author{Fred Qi\thanks{E-mail: fred.qi@ieee.org}} \date{ +% \filedate 发布} +% +%\maketitle +% +%\changes{v1.00}{2015/08/18}{First public release} +% +% \begin{abstract} +% 用于自然基金申请书正文部分的撰写。 +% \end{abstract} +% +% \section{使用说明} +% +% +%\StopEventually{^^A +% \PrintChanges +% \PrintIndex +%} +% +% \section{实现} +% +%<*class> +% \begin{macrocode} +%% Options +\newif\ifmynsfc@subfig\mynsfc@subfigfalse +\DeclareOption{subfig}{\mynsfc@subfigtrue} +\ProcessOptions +%% Load default class +\LoadClass[a4paper,fleqn]{article} +% \end{macrocode} +% +% \begin{macrocode} +%% Load required packages +\RequirePackage{titlesec} +\RequirePackage{marvosym} +\RequirePackage{bm,amsmath,amssymb} +\RequirePackage{paralist} +\RequirePackage{graphicx} +\ifmynsfc@subfig +\RequirePackage[config]{subfig} +\else +\RequirePackage{subcaption} +\fi +\RequirePackage{xcolor} +\RequirePackage{calc} +\RequirePackage{hyperref} +\hypersetup{% + breaklinks=true, + colorlinks=true, + allcolors=black, + pdfpagelabels} +\urlstyle{same} +% \end{macrocode} +% \begin{macrocode} +%% Load and setup package biblatex +\RequirePackage[backend=biber, + url=true, + isbn=false, + defernumbers=true, + style=ieee]{biblatex} + +\appto{\bibfont}{\wuhao} +\defbibheading{reftype}[\bibname]{\subsection*{#1}} +\defbibheading{cvtype}[\bibname]{\paragraph{#1}} +\defbibfilter{conference}{type=inproceedings or type=incollection} + +\RequirePackage{xpatch}% or use http://tex.stackexchange.com/a/40705 + +\newbibmacro*{name:bold}[2]{% + \def\do##1{\ifstrequal{#1, #2}{##1}{\bfseries\listbreak}{}}% + \dolistloop{\boldnames}} +\newcommand*{\boldnames}{} + +\xpretobibmacro{name:last}{\begingroup\usebibmacro{name:bold}{#1}{#2}}{}{} +\xpretobibmacro{name:first-last}{\begingroup\usebibmacro{name:bold}{#1}{#2}}{}{} +\xpretobibmacro{name:last-first}{\begingroup\usebibmacro{name:bold}{#1}{#2}}{}{} +\xpretobibmacro{name:delim}{\begingroup\normalfont}{}{} + +\xapptobibmacro{name:last}{\endgroup}{}{} +\xapptobibmacro{name:first-last}{\endgroup}{}{} +\xapptobibmacro{name:last-first}{\endgroup}{}{} +\xapptobibmacro{name:delim}{\endgroup}{}{} +% \end{macrocode} +% +% \begin{macro}{\dummyMacro} +% This is a dummy macro. If it did anything, we'd describe its +% implementation here. +% \begin{macrocode} +% \begin{macrocode} +% +\newcommand{\dummyMacro}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%% Setup Chinese fonts with xeCJK +\RequirePackage[AutoFakeBold]{xeCJK} +\def\CJK@null{\kern\CJKnullspace\Unicode{48}{7}\kern\CJKnullspace} +\punctstyle{quanjiao} +\defaultfontfeatures{Mapping=tex-text} % after fontspec +\setCJKmainfont{仿宋_GB2312} +\setCJKsansfont{SimHei} +\setCJKfamilyfont{song}{仿宋_GB2312} +\setCJKfamilyfont{hei}{SimHei} +\setCJKfamilyfont{kai}{KaiTi} +\setmainfont{Times New Roman} +\setmonofont{Courier Std} +% \end{macrocode} +% +% \begin{macro}{\kai} +% \begin{macro}{\kaiti} +% \begin{macro}{\song} +% \begin{macro}{\songti} +% \begin{macro}{\hei} +% \begin{macro}{\heiti} +% Define commands to select Chinese fonts. +% \begin{macrocode} +\newcommand{\kai}{\CJKfamily{kai}} % 仿宋体 +\newcommand{\song}{\CJKfamily{song}} % 宋体 +\newcommand{\hei}{\CJKfamily{hei}} % 黑体 +\def\kaiti{\kai} +\def\songti{\song} +\def\heiti{\hei} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macrocode} +\newlength\mynsfc@linespace +\newcommand{\mynsfc@choosefont}[2]{% + \setlength{\mynsfc@linespace}{#2*\real{#1}}% + \fontsize{#2}{\mynsfc@linespace}\selectfont} +\def\mynsfc@define@fontsize#1#2{% + \expandafter\newcommand\csname #1\endcsname[1][\baselinestretch]{% + \mynsfc@choosefont{##1}{#2}}} +\mynsfc@define@fontsize{chuhao}{42bp} +\mynsfc@define@fontsize{xiaochu}{36bp} +\mynsfc@define@fontsize{yihao}{26bp} +\mynsfc@define@fontsize{xiaoyi}{24bp} +\mynsfc@define@fontsize{erhao}{22bp} +\mynsfc@define@fontsize{xiaoer}{18bp} +\mynsfc@define@fontsize{sanhao}{16bp} +\mynsfc@define@fontsize{xiaosan}{15bp} +\mynsfc@define@fontsize{sihao}{14bp} +\mynsfc@define@fontsize{banxiaosi}{13bp} +\mynsfc@define@fontsize{xiaosi}{12bp} +\mynsfc@define@fontsize{dawu}{11bp} +\mynsfc@define@fontsize{wuhao}{10.5bp} +\mynsfc@define@fontsize{xiaowu}{9bp} +\mynsfc@define@fontsize{liuhao}{7.5bp} +\mynsfc@define@fontsize{xiaoliu}{6.5bp} +\mynsfc@define@fontsize{qihao}{5.5bp} +\mynsfc@define@fontsize{bahao}{5bp} +% \end{macrocode} +% +% \begin{macrocode} +% Define page layout +\setlength{\textwidth}{\paperwidth} +\setlength{\textheight}{\paperheight} +\setlength\marginparwidth{0mm} +\setlength\marginparsep{0mm} +\addtolength{\textwidth}{-50mm} +\setlength{\oddsidemargin}{0mm} +\setlength{\evensidemargin}{\oddsidemargin} +\setlength{\headheight}{20pt} +\setlength{\topskip}{0mm} +\setlength{\skip\footins}{15pt} +\setlength{\topmargin}{-15mm} +\setlength{\footskip}{13mm} +\setlength{\headsep}{6mm} +\addtolength{\textheight}{-50mm} +\setlength{\parskip}{0pt \@plus2pt \@minus0pt} +% \end{macrocode} +% +% \begin{macro}{\normalsize} +% Redefine command +% \begin{macrocode} +\renewcommand\normalsize{% + \@setfontsize\normalsize{12bp}{20bp} + \abovedisplayskip=10bp \@plus 2bp \@minus 2bp + \abovedisplayshortskip=10bp \@plus 2bp \@minus 2bp + \belowdisplayskip=\abovedisplayskip + \belowdisplayshortskip=\abovedisplayshortskip} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +% Define page styles +\def\ps@mynsfc@empty{% + \let\@oddhead\@empty% + \let\@evenhead\@empty% + \let\@oddfoot\@empty% + \let\@evenfoot\@empty} +% \end{macrocode} +% +% \begin{environment}{hcomment} +% Dimmed text used as hint after section titles. +% \begin{macrocode} +\newenvironment{hcomment}{\vskip-3pt\color{gray}}{\vskip6pt} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\figurename} +% \begin{macro}{\tablename} +% \begin{macro}{\contentsname} +% Translate English to Chinese. +% \begin{macrocode} +\renewcommand{\figurename}{图} +\renewcommand{\tablename}{表} +\renewcommand{\contentsname}{内容目录} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macrocode} +% +\DeclareCaptionLabelFormat{mynsfc@cap}{{\wuhao#1\rmfamily#2}} +\DeclareCaptionLabelSeparator{mynsfc@sep}{\hspace{1em}} +\DeclareCaptionFont{mynsfc@capfont}{\wuhao} +\captionsetup{labelformat=mynsfc@cap, + labelsep=mynsfc@sep, + font=mynsfc@capfont, + justification=centering} +% \end{macrocode} +% +% \begin{macro}{CJKindent} +% Indent with two Chinese full spaces. +% \begin{macrocode} +% +\newlength\mynsfc@CJK@twochars +\newcommand{\mynsfc@unicode}[2]{\char\numexpr#1*256+#2\relax} +\def\mynsfc@CJK@space{\mynsfc@unicode{48}{7}} +\def\CJKindent{% + \settowidth\mynsfc@CJK@twochars{\mynsfc@CJK@space\mynsfc@CJK@space}% + \parindent\mynsfc@CJK@twochars} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\part} +% \begin{macro}{\section} +% \begin{macro}{\subsection} +% \begin{macro}{\subsubsection} +% \begin{macro} +% Commands to format several levels of titles (part, section, subsection). +% \begin{macrocode} +\def\nsfc@CJKnumber#1{\ifcase#1{零}\or% + {一}\or{二}\or{三}\or{四}\or{五}\or% + {六}\or{七}\or{八}\or{九}\or{十}\or% + {十一}\or{十二}\or{十三}\or{十四}\or{十五}\or% + {十六}\or{十七}\or{十八}\or{十九}\or{二十}\fi} + +\renewcommand{\thepart}{\nsfc@CJKnumber{\c@part}} +\titleformat{\part}{\kai\bfseries\sanhao}% + {(\thepart)}{0ex}{} +\titlespacing{\part}{0ex}{4ex}{2ex} + +\@addtoreset{section}{part} +\renewcommand{\thesection}{\arabic{section}.} +\titleformat{\section}{\kai\bfseries\xiaosan}% + {\thesection}{0.25em}{} +\titlespacing{\section}{0em}{4ex}{2ex} + +\renewcommand{\thesubsection}{\bf\arabic{section}.\arabic{subsection}} +\titleformat{\subsection}{\hei\sihao}% + {\thesubsection}{0.25em}{} +\titlespacing{\subsection}{0em}{2ex}{1ex} + +\titleformat{\subsubsection}{\kaiti\bfseries\banxiaosi}% + {\thesubsubsection}{0.25em}{} +\titlespacing{\subsubsection}{0em}{2ex}{1ex} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macrocode} +\let\mynsfc@begindocumenthook\@begindocumenthook +\let\mynsfc@enddocumenthook\@enddocumenthook +\def\AtBeginDocument{\g@addto@macro\mynsfc@begindocumenthook} +\def\AtEndDocument{\g@addto@macro\mynsfc@enddocumenthook} +\def\@begindocumenthook{\mynsfc@begindocumenthook} +\def\@enddocumenthook{\mynsfc@enddocumenthook} +\AtBeginDocument{\ps@mynsfc@empty\CJKindent} +\endinput +% +% \end{macrocode} +%\Finale -- cgit v1.2.3