markdown 到 word

背景

现在有三个场景:用latex,方便写报告,在内容比较长的时候排版效果很好;用markdown,方便写博客,特别是搭配typora,用起来很舒服;用word,这是我唯一一个被迫使用的工具,方便别人审阅,进行修改。

所以问题来了:在要给别人审阅的时候,怎么写的舒服,而且排版的效果好看?

调研

最简单的方法就是首先用markdown写个初稿,然后使用pandoc转成docx,

pandoc xxx.md --css xx.css -o mid.html
pandoc mid.html -o result.docx

当然,直接使用typora的导出也行。

为何不用latex?主要是配环境很麻烦,而且需要一些学习成本,比如得知道latex、pdflatex、xelatex等之前的区别,常用的命令,一般还得会一两个软件,像texstudio、lyx之类的,写起latex才方便。转格式也存在问题,比如我想把这个报告中的一部分给写成博客,直接转是存在问题的,一些格式不支持等等。

所以,当没有写博客的需求,而且对生成的结果的格式要求很高,一般是pdf,那么就用latex,如果不需要很复杂的格式,那么markdown是完全能满足需求的。word就不说了,如果不是要审阅批改,找不到使用的理由。

方便审阅

现在确实得用word了,那么latex和markdown哪个转成docx方便呢?我个人觉得差不多,因为直接使用pandoc转,都存在格式问题,一般给转成中间格式html,所以还是前面写的,格式要求很复杂的话,使用latex,比如图、表等等,其它的情况用markdown,方便,简单。

latex有专门的工具生成html,markdown的话主要是靠css样式,这里说下css样式要怎么搞。

首先推荐一个成品,知乎、github,里面的essay.css可以对标题、目录、侧边栏加上编号,表格和图片加上编号,然后就可以加以修改了,想要什么格式,就是什么格式,比如这里我将二级标题、三级标题、正文分别改为小三、四号、小四,为什么这么改?因为当时毕业论文是这么要求的-_-,这里给下字号对照表:

字号 小三 四号 小四 五号 小五
大小/pt 15 14 12 10.5 9

然后那个编号有点问题,提issue了,这里写下我的:

/* 编辑器内标题 */
/** initialize css counter */
#write {
    counter-reset: h2;
}
h1 {
    counter-reset: h2;
}
h2 {
    counter-increment: h2;
    counter-reset: h3;
}
h3 {
    counter-increment: h3;
    counter-reset: h4;
}
h4 {
    counter-increment: h4;
    counter-reset: h5;
}

/** put counter result into headings */

#write h2:before {
    content: counter(h2) ". "
}

#write h3:before {
    content: counter(h2) "." counter(h3) ". "
}

#write h4:before {
    content: counter(h2) "." counter(h3) "." counter(h4) ". "
}

可以在正文区基本属性里,加上一些实用定义,比如

text-align: justify; /* 两端对齐 */
text-indent: 2em; /* 首行缩进 */
line-height: 1.5em; /* 1.5倍行距 */

在定义首行缩进时,必须在h1,h2,h3,h4,h5,h6、表格等里面定义text-indent: 0em;,去掉section等的首行缩进,还没有找到只针对正文的方式。段落间隔通过margin好像实现不了,暂时就这样。

你可能感兴趣的:(markdown 到 word)