pandoc --pdf-engine=xelatex -V CJKmainfont="STXihei" test.md -o test.pdf --template template.latex
Created
May 12, 2022 04:06
-
-
Save huxulm/eae186aade38f4cb5e366b14840401e6 to your computer and use it in GitHub Desktop.
pandoc 中文PDF转换
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$$if(papersize)$$papersize$,$endif$]{$documentclass$} | |
\def\tightlist{} | |
\usepackage{geometry} % 設定邊界 | |
\geometry{ | |
top=1in, | |
inner=1in, | |
outer=1in, | |
bottom=1in, | |
headheight=3ex, | |
headsep=2ex | |
} | |
\usepackage[T1]{fontenc} | |
\usepackage{lmodern} | |
\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{STXihei} % 設定中文字型 | |
\setmainfont{Georgia} % 設定英文字型 | |
\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$ | |
$if(graphics)$ | |
\usepackage{graphicx} | |
% 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}} | |
$endif$ | |
\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 | |
\title{\huge 在OSX平台上的XeLaTeX中文測試} % 設置標題,使用巨大字體 | |
\author{FoolEgg.com} % 設置作者 | |
\date{February 2013} % 設置日期 | |
\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$} | |
\begin{document} | |
$if(title)$ | |
\maketitle | |
$endif$ | |
$for(include-before)$ | |
$include-before$ | |
$endfor$ | |
$if(toc)$ | |
{ | |
\hypersetup{linkcolor=black} | |
\setcounter{tocdepth}{$toc-depth$} | |
\tableofcontents | |
} | |
$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} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment