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\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}

也可以在这里获取一个

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),指的是函数可以赋值给变量. 一般函数具有如下形式: 而函数字面量具有如下形式: ...
一周排行
  • 在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Rea ...
  • 这篇文章是dlstu的Windows XP下VPN连接配置的图文教程,写得非常好,主要是通俗易懂,而且图文并茂.可以让需要配置VPN的朋友很容易掌握操作方法. 1:首先需要有VPN帐号及VPN代理IP或VPN服务器指 ...
  • 链表,提供高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活的调整链表的长度:实现redis的各种功能,比如列表键,发布与订阅,慢查询,监视器等. 每个链表节点由一个listNode结构来表示, ...
  • 2011中国互联网产业年会(http://cynh2011.wangminjie.cn/)将于明天下午在北京钓鱼台国宾馆举行.距离开幕还有1天时间,产业年会出席嘉宾全名单曝光.三大观察报告权威发布开放式上风云人物碰撞 ...
  • 在UIViewController中,controller的view存在两个循环:加载和卸载循环,可参考下图:加载循环程序请求controller的view如果view在内存中,则直接加载.相反,如果不存在,则UIV ...
  • 易网科技讯 3月30日消息,IDC最新发布的<中国打印外设市场季度跟踪报告(2009年第四季度)>显示,虽然2009年前三个季度中国打印外设市场持续低迷,市场出货量一直低于同比的2008年前三个季度,但是 ...
  • 对MySQL的死连接Sleep的进程的来源研究   本文转自:詹兴斌  当前的连接数:mysql> show status like '%Threads_connected%';+-+-+ Variable_n ...
  • 今天是7,今天遇到一个lib问题,再次记录一下.这是一个案例,更是一种解决该问题的方法过程. 当我们在使用sqlplus 登陆unix数据库的时候,有可能出现类似:xxxxxx bad ELF in ...
  • 参考文献: http://yanwen.org/doc/chown.html http://www.cppblog.com/deercoder/articles/110129.html 可以通过ls -l来查看文件的 ...
  • 目前APP经济还没有出现放缓迹象,因此苹果商店当中APP应用程序数量也持续增长,而现在已经达到了142万款应用程序.根据最新统计数,消费者无法看到的"僵尸"APP在今年1月份达到83%,而去年同期 ...