pandoc讲html转换为pdf,mac下利用Pandoc、LaTeX 转换markdown成html,pdf

环境所使用的插件有pandoc,tlmgr,fc-listcss

brew install pandoc

由于mac ox 系统生成pdf 须要找到对应的编码集 全部还须要去下载LaTeX,进行安装html5

使用tlmgr工具安装全部要的包先进行更新,若是提示所须要的字体没有找到安装git

sudo tlmgr update --self

tlmgr install collection-fontsrecommended

安装fontconfig使用fc-list查看mac中可用的中文集,由于os x 10.8之后已经不安装x11

github

brew install fontconfig

fc-list :lang=zh-cn

字符集放在/Library/Fonts 下面已宋体为例 web

/Library/Fonts/Songti.ttc: 宋体\-简,宋體\-簡,Songti SC:style=粗体,粗體,Boldshell

pandoc --latex-engine=xelatex -V mainfont='

Songti SC

' --template=./pandoc.template xxx.md -o xxx.pdf

下面是markdown转换的工具

ruby

安装makemarkdown

建立shell文件名为md2pdf,能够指定使用字体集app

#!/bin/sh

# Wrapper script around pandoc / markdown2pdf

# Provides templates to apply with pdf processing

# Copyright Claes Holmerson 2010, GPL licensed (see COPYING for details)

#Find this directory

# template_home=$(dirname $(readlink -f $0))

template_home=$(cd `dirname $0`; pwd)

paper=a4paper

hmargin=3cm

vmargin=3.5cm

fontsize=12pt

#fontsize=11pt

#fontsize=12pt

# mainfont=SimSun

# sansfont=Corbel

# monofont=Consolas

# mainfont="WenQuanYi Zen Hei Sharp"

# sansfont="WenQuanYi Zen Hei Sharp"

# monofont="WenQuanYi Zen Hei Mono"

language=english

#language=swedish

nohyphenation=false

columns=onecolumn

#columns=twocolumn

geometry=portrait

#geometry=landscape

alignment=flushleft

#alignment=flushright

#alignment=center

toc=3

pandoc --latex-engine=xelatex --template=$template_home/pandoc.template \

-V language=$language -V paper=$paper -V hmargin=$hmargin -V vmargin=$vmargin \

-V mainfont="$mainfont" -V sansfont="$sansfont" -V monofont="$monofont" \

-V geometry=$geometry -V alignment=$alignment -V columns=$columns \

-V fontsize=$fontsize -V nohyphenation=$nohyphenation \

-V toc=$toc \

$@

建立markdown.css

@font-face {

font-family: "AR PL New Sung";

src: url("/usr/share/fonts/TTF/odosung.ttc");

}

body {

background-color: #fcfcfc;

color: #3c3c3c;

}

a {

color: #308bd8;

text-decoration:none;

}

a:hover {

text-decoration: underline;

}

p {

margin:0 0 24px 0;

}

p:last-child {

margin:0;

}

hr {

width: 100%;

margin: 1em auto;

border: 0;

color: #eee;

background-color: #ccc;

height: 1px;

-webkit-box-shadow:0px 1px 0px rgba(255, 255, 255, 0.75);

}

blockquote {

margin-left: 0;

margin-right: auto;

width: 96%;

padding: 10px 10px;

border-left: 3px solid #ddd;

color: #777;

background-color: #f2f2f2;

}

table {

margin-left: 0;

margin-right: auto;

margin-bottom: 24px;

border-bottom: 1px solid #ddd;

border-right: 1px solid #ddd;

border-spacing: 0;

}

table th {

padding: 3px 10px;

background-color: #eee;

border-top: 1px solid #ddd;

border-left: 1px solid #ddd;

}

table tr {

}

table td {

padding: 3px 10px;

border-top: 1px solid #ddd;

border-left: 1px solid #ddd;

}

caption {

font-size: 1.2em;

font-weight: bold;

margin-bottom: 5px;

}

@page {

size: A4;

margin: 1cm auto;

}

@media print {

body {

font-family: "Arial Black", Arial, sans-serif;

-webkit-print-color-adjust: exact;

}

img, pre, blockquote, table, figure {

page-break-inside: avoid;

}

.footnotes {

page-break-before: always;

}

header.onlyprint, footer.onlyprint{

display: none;

}

}

/* fix pandoc default style */

code {

}

code > span.dt {

text-decoration: none;

}

建立Makefile文件内容以下,若是你markdown 是分文件模块进行编译的能够使用cat进行合并 分别生成html,pdf

main :

# cat 00*.md > xxx.md

pandoc -f markdown_github-autolink_bare_uris -s --highlight-style espresso -t html5 -c "./markdown.css" -o xxx.html xxx.md

# cat 00*.md > xxx.md

./md2pdf xxx.md -o xxx.pdf

生成pdf

./md2pdf xxx.md -o xxx.pdf

生成html 和pdf

make

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java程序连接kafka_Java的Kafka:构建安全,可扩展的消息传递应用程序

java程序连接kafka使用Okta的身份管理平台轻松部署您的应用程序 使用Okta的API在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护。 今天尝试Okta。 当今的用户希望可以通过其计算机,手机,平板电脑或任何其他设备访问您的应用…

信息系html5论文,基于HTML5的智力游戏设计电子信息工程本科学生毕业论文.doc

基于HTML5的智力游戏设计电子信息工程本科学生毕业论文本科学生毕业论文(设计)题目(中文):基于HTML5的智力游戏设计(英文):Design of Intelligent Game Based on HTML5姓 名 xxx学 号 xxx院 (系) 电子与信息工程学院专业、年级 电子信息工程指导教师 xxx…

优先队列——左式堆

【0】README 0.1) 本文文字描述部分转自 数据结构与算法分析, 旨在理解 优先队列——左式堆 的基础知识; 0.2) 本文核心思路均为原创, 源代码部分借鉴 数据结构与算法分析 ; 0.3) for origin…

Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别

一、getEnclosing* 当前类在……中闭合Class<?>getEnclosingClass() 返回底层类的立即封闭类。 Constructor<?>getEnclosingConstructor() 如果该 Class 对象表示构造方法中的一个本地或匿名类&#xff0c;则返回 Constructor 对象&#xf…

java联接pg库_Java14:使用Java 14的新记录联接数据库表

java联接pg库您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中&#xff1f; 阅读这篇简短的文章&#xff0c;并了解如何使用Speedment Stream ORM完成它。 我们将从如何设置您的项目开始。 建立 下载Java 14 。 转到Speedment Initializer并下载您的项目…

html5遍历集合数据,HTMLCollection集合能打印出来值,但是无法获取每一个值。

var imgs $("#pictureQueryTable img").prevObject[0].images;下图是上面这句打印出来的结果&#xff1a;console.log可以打印出来该集合的数据&#xff0c;但是无法获取该集合中的每一个值&#xff0c;打印该集合的length为0&#xff0c;所以也无法遍历该集合进行操…

优先队列——斜堆

【0】README 0.1&#xff09;本文部分内容转自  http://www.cnblogs.com/skywang12345/p/3638493.html&#xff0c; 旨在理解 优先队列——斜堆 的基础知识&#xff1b; 0.2&#xff09; for original source code , please visit https://github.com/pacosonTang/dataStruc…

Class的getResource与ClassLoader的getResource路径/问题

一、Class的getResource(String path)&#xff1a;URL 1、path 不以’/开头时&#xff0c;默认是从此类所在的包下取资源&#xff1b; 2、path 以’/开头时&#xff0c;则是从ClassPath根下获取&#xff1b; System.out.println(Test.class.getResource("")); Syste…

java 轻量级文件数据库_Java:如何创建轻量级数据库微服务

java 轻量级文件数据库基于云的Java数据库应用程序的数量每分钟都在增加。 许多组织部署了数百甚至数千个微服务实例。 但是&#xff0c;相对于运行时环境&#xff0c;大多数应用程序会带来惊人的不必要开销。 反过来&#xff0c;这会使应用程序运行更慢&#xff0c;运行成本更…

html中显示shell脚本的输出,网页从shell脚本中输入并显示结果

首先&#xff0c;不是在BASH脚本中使用$USERNAME。 $USERNAME是一个包含当前用户名的BASH变量。实际上&#xff0c;在BASH中使用UPPERCASE变量通常是一个糟糕的主意。大多数BASH环境变量都是大写字母&#xff0c;可能会导致混淆。让你的变量小写是个好习惯。此外&#xff0c;因…

优先队列——二项队列(binominal queue)

【0】README 0.1&#xff09; 本文文字描述部分转自 数据结构与算法分析&#xff0c; 旨在理解 优先队列——二项队列&#xff08;binominal queue&#xff09; 的基础知识&#xff1b; 0.2&#xff09; 本文核心的剖析思路均为原创&#xff08;insert&#xff0c;merge和del…

Class的getName、getSimpleName与getCanonicalName的区别

一、getName 除了数组外&#xff0c;其他的类都是输出类全名以 String 的形式返回此 Class 对象所表示的实体&#xff08;类、接口、数组类、基本类型或 void&#xff09;名称。 1、此类对象表示的是非数组类型的引用类型&#xff0c; 返回该类的二进制名称&#xff0c;Java…

apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化

apache.camel希望一切都很好&#xff0c;您可以安全进入2020年。 Camel团队已经在忙于开发下一个Camel 3.1版本。 目标之一是继续优化骆驼核心&#xff0c;这一次我们花了一些时间来寻找路由引擎中的一些热点。 我们所研究的方面之一也是在Camel路由的每个消息中发生的对象分…

xp系统的计算机管理中用户在哪里,WINDOWSXP的用户管理和系统安全设置

台计算机)⑤回到“添加独立管理单元”对话框&#xff0c;单击“关闭”&#xff0c;回到““控制台->添加/删除管理单元”对话框&#xff0c;再单击“确定”&#xff1b;⑥此时&#xff0c;在控制台窗口左窗格中看到新添加的控制单元“本地计算机策略”&#xff1b;⑦依次展开…

XML——StAX Streaming API for XML(read+write)

【0】README 0.1&#xff09; reshipping from http://www.journaldev.com/1191/how-to-read-xml-file-in-java-using-java-stax-api http://www.journaldev.com/892/how-to-write-xml-file-in-java-using-java-stax-api 0.2&#xff09; for all source code , please visi…

Class的getInterfaces与getGenericInterface区别

一、getInterfaces 返回直接实现的接口&#xff08; 由于编译擦除&#xff0c;没有显示泛型参数&#xff09; Class<?>[] getInterfaces() 确定此对象所表示的类或接口实现的接口。 确定此对象所表示的类或接口实现的接口。 如果此对象表示一个类&am…

maven配置junit5_JUnit 5和Selenium –改善项目配置

maven配置junit5Selenium是一组支持浏览器自动化的工具和库&#xff0c;主要用于Web应用程序测试。 Selenium的组件之一是Selenium WebDriver&#xff0c;它提供客户端库&#xff0c;JSON有线协议&#xff08;与浏览器驱动程序进行通信的协议&#xff09;和浏览器驱动程序。 Se…

形容计算机网络教室的成语,形容教育的成语

形容教育的成语形容教育的成语【不教而杀】 【弦歌之声】 【化及冥顽】 【蒙以养正】【不言之教】 【沂水春风】 【嘉言善状】 【神道设教】【不教之教】 【相夫教子】 【画荻教子】 【磨昏抉聩】【东风化雨】 【因材施教】 【教无常师】 【脱骨换胎】…

Class的 getSuperclass与getGenericSuperclass区别

Class的getInterfaces与getGenericInterface区别 http://www.cnblogs.com/maokun/p/6773076.html一、getSuperclass 返回直接继承的父类&#xff08;由于编译擦除&#xff0c;没有显示泛型参数&#xff09; Class<? super T>getSuperclass() 返回表示此 Cla…

XML——XSLT的一个简单荔枝

【0】intro to XSLT&#xff08;转自&#xff1a;http://www.w3school.com.cn/xsl/xsl_languages.asp&#xff09;0.1&#xff09;起始于 XSL XSL 指扩展样式表语言&#xff08;EXtensible Stylesheet Language&#xff09;。 万维网联盟 (W3C) 开始发展 XSL 的原因是&#xff…