pandoc 用markdown写毕业论文 markdown转pdf,docx

因为写论文的关系,需要排版又苦于没有一个好的office,这里说的是正版,因为还要发给老师查看的缘故。

安装pandoc

这是一个痛苦而又复杂的过程,当然也可以直接下载Pandoc

安装ghc

port安装ghc

sudo port install ghc

homebrew安装ghc
brew install ghc

编译cabal

Common Architecture for Building Applications and Libraries2
Cabal是Haskell用于构建应用程序和库的公共架构。
简单的来说它是haskell的包管理,和上面的port、brew 命令类似。

下载地址http://haskell.org/cabal/

解压后
    ghc --make Setup.hs
    ./Setup configure
    ./Setup build 
    sudo ./Setup install

安装cabal

安装之前我们需要更新
cabal update

安装pandoc
 cabal install pandoc

添加到PATH
export PATH=/Users/fdhuang/.cabal/bin:$PATH

markdown 转doc

pandoc iot.md -o iot.docx

markdown 转pdf

这里只针对于安装了mactex

openSUSE安装pandoc

     zypper install pandoc

Ubuntu安装pandoc

sudo aptitude install pandoc
当然也可以用apt-get

安装mactex

下载地址:
http://mirror.ctan.org/systems/mac/mactex/mactex-basic.pkg

markdown转pdf

不含中文时   
pandoc doc.pandoc doc.pdf

含有中文时的简单作法
pandoc --latex-engine=xelatex iot.md -o iot.pdf -V mainfont="SimSun"

markdown转pdf 含中文

     pandoc --template=template.tex --latex-engine=xelatex iot.md -o iot.pdf

也就是我们需要一个template.tex的模板用于构建,下载地址

https://raw.githubusercontent.com/tzengyuxio/pages/gh-pages/pandoc/pm-template.latex

或者可以参考这个

https://github.com/gmszone/iot-doc


详细可见下文,主要是因为tex对中文支持的缘故

		\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$$if(papersize)$$papersize$,$endif$]{$documentclass$}
		\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{STSong} 	% 設定中文字型
		  \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\[email protected]@width>\linewidth\linewidth
		\else\[email protected]@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}

也可以在这里获取一个

pandoc template pandoc 毕业设计模板


更多相关文章
  • 学习DIP第72天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro 开篇废话 今天写的博客有点多,因为这里的理论只是在 ...
  • 为人父母之后与没做爸妈之前的心态是截然不同的,这是靠想象无法体会的感受,只有当了爸妈才会真正长大,这是许多过来人的经验之谈.一旦有了孩子,就会把大部分精力都放在孩子身上,孩子的吃穿,孩子的安全,孩子的教育,无时无刻不牵动着爸妈的心,所以现代商人都认为孩子的钱最好赚. 母婴电商:从B2C到O2O到特卖 ...
  • 1. 前提条件 1.1 确保已经创建并启用用户的邮箱,关于如何创建用户请参考黄锦辉专栏 Office 365系列之五:创建新用户 http://stephen1991.blog.51cto.com/8959108/1597912 Office 365 系列之六:通过管理中心批量导入用户 http:/ ...
  • 易网科技讯 12月15日消息,美股周五下跌.投资者对联邦政府预算协议的达成缺乏信心,忽视了来自中美积极的经济数据.截至收盘,道琼斯工业平均指数跌35.71点,或0.27%,收报13,135.01点.标准普尔500指数跌5.87点,或0.41%,收报1,413.58点.纳斯达克综合指数跌20.83点, ...
  • 呐,就拿它置顶好了. 今天还是2015年5月30日么? 怎么样的一天呢 盛夏,平淡,没有云彩,没有你. 马上要出去旅行了呢,是个怎样的城市呢? 会不会还是都市的感觉,还是没有你的地方. 这些,, 都是我新博客的客人呢. 让我以礼相待,招待好再送走它们. 让我藏下五月,且拥有不减的回忆. 让我.让我 ...
  • 本节主要内容 (一)函数字面量(值函数) (二)匿名函数 (三)函数的简化 (四)函数参数 (四)闭包 函数字面量(值函数) 函数字面量(function literal),也称值函数(function values),指的是函数可以赋值给变量. 一般函数具有如下形式: 而函数字面量具有如下形式: ...
一周排行
  • 文/王雨豪(名片碰碰.人人猎头的创始人,上海市外来务工人员) 题记 他从未读过计算机专科,他曾是广州城里最年少的黑客,他以岭南韩寒自居,他的创业公司被360资本慧眼赏识.他说:周鸿祎给他最大的帮助就是不管他.他正在实 ...
  • 据外媒1日报道,IE用户们越来越“伤不起”了.他们不仅要日复一日给IE打补丁,还要忍受莫名其妙的歧视——日前,加拿大一家心理咨询公司声称:使用IE浏览器的人智商几乎都低于80(正常智商是100),一些排名甚至表明他们 ...
  • 由於連續寫了兩章純技術文章,A神說沒看頭...所以補回一章心情記 先表白一下,來個高潮! 小吉雖然是披著一個女生的外表,但內里絕對是一個麻甩大叔! 所以 A神對我的評價是世界上不會有男人會喜歡上小吉的~ A神你知道嗎 ...
  • ①判断是否为Oralce数据库:And 0<>(select count(*) from dual) 返回正常页面表示为Oracle数据库②猜解字段数量:使用order by 或者group by逐个提交 ...
  • 4月21日消息,据国外媒体报道,Mozilla已经针对Firefox设置了一个恶意Java插件屏蔽黑名单. 据安全博客Brian Krebs介绍,上周甲骨文公司发布了一个修复Java插件漏洞的更新,但是Mozilla ...
  • Jocky是金蝶中间件技术领袖袁红岗先生的个人作品(旧有名称JOC).原本是方便Apusic 应用服务器的开发,现在开放出来,供大家自由使用 ... Jocky提供了对IDE Eclipse的支持,同时,也支持在An ...
  • :n,$s/value1/value2/g从第n行到最后一行,将value1替换成value2
  • 引自:http://blog.csdn.net/xiaoqforever/article/details/27695569 1,登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后 ...
  • 1.在 /etc/my.cnf 下面设置开启bin-log          编辑          vim /etc/my.cnf          [mysqld]          binlog_format  ...
  • 和一位IT前辈聊天,他说IT男最容易出现的几个问题,仔细观察周围发现确实没错: 1.容易成为大龄光棍(我周围的三十好几了连女朋友都没有的大有人在) 多和外界接触,多结交一些朋友.周末或者节假日别宅着.就算是宅着也要学 ...