diff --git a/Makefile b/Makefile index 1083042..b277ea3 100644 --- a/Makefile +++ b/Makefile @@ -37,16 +37,16 @@ rtf: markdown --smart pdf: markdown - # You need `pdflatex` # OS X: http://www.tug.org/mactex/ # Then find its path: find /usr/ -name "pdflatex" # Then symlink it: ln -s /path/to/pdflatex /usr/local/bin pandoc -s $(filename).md -o $(filename).pdf \ --title-prefix $(title) \ + --template=template.tex \ --normalize \ --smart \ --toc \ - --latex-engine=`which xelatex` + --latex-engine=xelatex mobi: epub # Symlink bin: ln -s /path/to/kindlegen /usr/local/bin diff --git a/template.tex b/template.tex new file mode 100644 index 0000000..d4e33c9 --- /dev/null +++ b/template.tex @@ -0,0 +1,240 @@ +\documentclass[a4paper, 11pt]{article} +\usepackage{geometry} % 設定邊界 +\geometry{ + top=1in, + inner=1in, + outer=1in, + bottom=1in, + headheight=3ex, + headsep=2ex +} +\usepackage{tabu} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{booktabs} +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\usepackage{fixltx2e} % provides \textsubscript +% use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[utf8]{inputenc} +$if(euro)$ + \usepackage{eurosym} +$endif$ +\else % if luatex or xelatex + \usepackage{fontspec} % 允許設定字體 + \usepackage{xeCJK} % 分開設置中英文字型 + \setCJKmainfont{STSong} % 設定中文字型 + \setmainfont[Mapping=tex-text]{Times New Roman}%\rmfamily 使用的字体,默认英文和数字的字体。 % 設定英文字型 + \setromanfont{Georgia} % 字型 + \setmonofont{Courier New} + \linespread{1.2}\selectfont % 行距 + \XeTeXlinebreaklocale "zh" % 針對中文自動換行 + \XeTeXlinebreakskip = 0pt plus 1pt % 字與字之間加入0pt至1pt的間距,確保左右對整齊 + \parindent 0em % 段落縮進 + \setlength{\parskip}{20pt} % 段落之間的距離 + \ifxetex + \usepackage{xltxtra,xunicode} + \fi + \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} + \newcommand{\euro}{€} +$if(mainfont)$ + \setmainfont{$mainfont$} +$endif$ +$if(sansfont)$ + \setsansfont{$sansfont$} +$endif$ +$if(monofont)$ + \setmonofont{$monofont$} +$endif$ +$if(mathfont)$ + \setmathfont{$mathfont$} +$endif$ +\fi +% use microtype if available +\IfFileExists{microtype.sty}{\usepackage{microtype}}{} +$if(geometry)$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +$if(natbib)$ +\usepackage{natbib} +\bibliographystyle{plainnat} +$endif$ +$if(biblatex)$ +\usepackage{biblatex} +$if(biblio-files)$ +\bibliography{$biblio-files$} +$endif$ +$endif$ +$if(listings)$ +\usepackage{listings} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ +$if(tables)$ +\usepackage{longtable} +$endif$ + +\usepackage{graphicx} +\usepackage{caption} +% We will generate all images so they have a width \maxwidth. This means +% that they will get their normal width if they fit onto the page, but +% are scaled down if they would overflow the margins. +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth +\else\Gin@nat@width\fi} +\makeatother +\let\Oldincludegraphics\includegraphics +\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}} +\ifxetex + \usepackage[setpagesize=false, % page size defined by xetex + unicode=false, % unicode breaks when used with xetex + xetex]{hyperref} +\else + \usepackage[unicode=true]{hyperref} +\fi +\hypersetup{breaklinks=true, + bookmarks=true, + pdfauthor={$author-meta$}, + pdftitle={$title-meta$}, + colorlinks=true, + urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$, + linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$, + pdfborder={0 0 0}} +\urlstyle{same} % don't use monospace font for urls +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(strikeout)$ +\usepackage[normalem]{ulem} +% avoid problems with \sout in headers with hyperref: +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +\setlength{\parindent}{0pt} +%\setlength{\parskip}{6pt plus 2pt minus 1pt} +\setlength{\emergencystretch}{3em} % prevent overfull lines +\usepackage{titling} +\setlength{\droptitle}{-8em} % 將標題移動至頁面的上面 + +\usepackage{fancyhdr} +\usepackage{lastpage} +\pagestyle{fancyplain} + +$if(numbersections)$ +\setcounter{secnumdepth}{5} +$else$ +\setcounter{secnumdepth}{0} +$endif$ +$if(verbatim-in-note)$ +\VerbatimFootnotes % allows verbatim text in footnotes +$endif$ +$if(lang)$ +\ifxetex + \usepackage{polyglossia} + \setmainlanguage{$mainlang$} +\else + \usepackage[$lang$]{babel} +\fi +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(title)$ +\title{$title$} +$endif$ +\author{$for(author)$$author$$sep$ \and $endfor$} +\date{$date$} + +%%%% 段落首行缩进两个字 %%%% +\makeatletter +\let\@afterindentfalse\@afterindenttrue +\@afterindenttrue +\makeatother +\setlength{\parindent}{2em} %中文缩进两个汉字位 + + +%%%% 下面的命令重定义页面边距,使其符合中文刊物习惯 %%%% +\addtolength{\topmargin}{-2pt} +\setlength{\oddsidemargin}{0.63cm} % 3.17cm - 1 inch +\setlength{\evensidemargin}{\oddsidemargin} +\setlength{\textwidth}{14.66cm} +\setlength{\textheight}{24.00cm} % 24.62 + +%%%% 下面的命令设置行间距与段落间距 %%%% +\linespread{1.4} +% \setlength{\parskip}{1ex} +\setlength{\parskip}{0.5\baselineskip} + + +\begin{document} +%%%% 定理类环境的定义 %%%% +\newtheorem{example}{例} % 整体编号 +\newtheorem{algorithm}{算法} +\newtheorem{theorem}{定理}[section] % 按 section 编号 +\newtheorem{definition}{定义} +\newtheorem{axiom}{公理} +\newtheorem{property}{性质} +\newtheorem{proposition}{命题} +\newtheorem{lemma}{引理} +\newtheorem{corollary}{推论} +\newtheorem{remark}{注解} +\newtheorem{condition}{条件} +\newtheorem{conclusion}{结论} +\newtheorem{assumption}{假设} + +%%%% 重定义 %%%% +\renewcommand{\contentsname}{目录} % 将Contents改为目录 +\renewcommand{\abstractname}{摘要} % 将Abstract改为摘要 +\renewcommand{\refname}{参考文献} % 将References改为参考文献 +\renewcommand{\indexname}{索引} +\renewcommand{\figurename}{图} +\renewcommand{\tablename}{表} +\renewcommand{\appendixname}{附录} + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +{ +\newpage +\hypersetup{linkcolor=black} +\setcounter{tocdepth}{$toc-depth$} +\tableofcontents +} +\newpage +$endif$ +$body$ + +$if(natbib)$ +$if(biblio-files)$ +$if(biblio-title)$ +$if(book-class)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\bibliography{$biblio-files$} + +$endif$ +$endif$ +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} \ No newline at end of file