MUSE 使用快速指南
说明
MUSE有什么用?
info的说法
Emacs Muse (also known as "Muse" or "Emacs-Muse") is an authoring and publishing environment for Emacs. It simplifies the process of writing documents and publishing them to various output formats.
仅仅是翻译
Muse是一个非常简单好用的撰写笔记和wiki的工具,能够生成可读性很强的各种文档(html/latex/ DocBook/pdf etc.)。经过我查看,它生成的HTML结构相当良好的,写XHTML/CSS的老大们可以考虑用这个东东生成一个草稿 ,在其基础上进行一些改动,就可以产生很好内容和表现分离的结构优雅的代码。而平时写东西,muse就足够生成具有可读性,能 准确反应文章结构的版式了,真是令人爱不释手。
关于本文
本文基本是从muse的手册页(info page)翻译过来的,版权当然遵循copyleft原则。其实英文都很简单的啦,这也算现学 现用。顺带练练手。 其实我都是用Muse来写博客用的。gnus里面加入下面的代码可以发送HTML邮件(可能需要插件):
<#multipart type=alternative> <#part type=text/html charset="utf-8" nofile=yes> Insert your HTML code here. <#/multipart>
把光标移动到Insert...处,C-x i选择由muse编译出的HTML文档,然后发送到***@blogger.com或者类似的就可以了。
Getting started
install
我假设您在使用ubuntu发行版,并且设置了正确的源,您可以用 sudo apt-cache search emacs muse 命令看看 源里面有没有什么好东西,情况视人品而定,一般情况下您应该可以看到一个类似muse-el的东东,您可以直接install它。 然后在您的.emacs文件中_插入_如下语句。别的发行版的情况可能复杂一些,但我认为google可以解决所有install的问题, 并且我根本是个Emacs新手,不适合在这种问题上提出过多愚蠢的建议。
(add-to-list 'load-path "<path to Muse>")
(require 'muse-mode) ; load authoring mode
(require 'muse-html) ; load publishing styles I use (require 'muse-latex) (require 'muse-texinfo) (require 'muse-docbook)
(require 'muse-project) ; publish files in projects
hello world
用Emacs编辑一个*.muse文件(这时候您会进入muse-mode).加入如下语句:
time-stamp: "2007-01-26" MUSE 使用快速指南 hello world!
然后C-x C-s C-c C-t看看发生什么,它会要求您指定输出文档的类型,我们为了照顾对CSS解析有些乱套的IE浏览器, 指定其输出类型为HTML,然后它会要求您提供发布目录(有点麻烦丫@#¥%),让我们满足它的兽欲吧!然后您就可以到 您指定的目录去看看输出结果了。
开始编辑
段落
在muse中,段落应该用空行隔开。
居中段落和引文。
一个以6个或者6个以上空白字符开始的段落会被居中(空白字符可以是 空格 或者 制表符)。您也可以用<center> tag来做同样的 事情,<center> </center>之间内容将会被显示为居中段落。
如果一个段落以少于 6 大于 1 个 空白字符 开始,那么muse会认为它是一段引文。引文通常会按照 here 的样子排版。你也可以用 <quote>标签来干这件事。
<
example>显然是用来举例的,这个标签之间的内容将会用等宽字体排版,其间的
空白字符 也会原样列出,类似Latex中的
verb 环境。 <literal>用来把它所包围的块单独的列在最左边,这通常用于在muse中引入您的手写的HTML代码。同时,这个标签拥有可选属性
style,它可以起到编译开关的作用。如果您指定它的值为"latex"那么这之间的内容就只会在输出类型为latex(或者其他基于latex的类型比方pdf)的时候被编译。
标题
这个比较简单。以1~4个""+ *空格**开始的就是标题,层次由""的个数给出:
first level ** 2nd level *** 3rd level **** 4th level
好了,就这么多了,没有第五层了。(本教数百年来没人练得过第五层)
文档头指令(类似于邮件的header吧)
以#[^\n\t]开始的一行是一个头指令。这个我们不必了解太多先。
`#author' The author of this document. If this is not specified, Muse will attempt to figure it out from the `user-full-name' variable. `#date' The date that the document was last modified. This is used by publishing styles that are able to embed the date information. `#desc' A short description of this document. This is used by the `journal' publishing style to embed information inside of an RSS/RDF feed. `#title' The title of this document. If this is not specified, the name of the file is used.
加粗、斜体和下划线
用来强调文本的,基本是下面这些:
*强调* **更强调** ***强暴*** ... _underline_ =verbatim and monospace=
效果依次如下:
- em
- em
- em
- uderline
verbatim and monospace
<code> tag用来给包含"="的块营造等宽环境。
显示诗歌及诗歌类似物
显示诗歌的时候您通常需要保持空白字符,但同时您又不大可能乐意它像那些可怜吧吧的靠缩进认识环境的计算机语言一样 以等宽字体显示,这时候您需要类似<pre></pre>的东西。这个东西叫做
<verse></verse>
,用这个东东把诗歌包围起来, 它就继续保存空白字符和特别的字体,浪费计算机的存储空间。
您还可以在每行开始使用">"表达同样的意思。
列表项
以 空白字符+列表项标识符+空白字符 开始的行被看做列表项。列表项的级别像python一样由缩进决定。
列表项标识符包括下列东东:
- "-"
- "[0-9]+\." #like 1. 要吃肉 2. 要mm
- "Term[0-9]+ ::"
最后一项是用来进行定义的,它的作用范围到下一个根据缩进决定。
列表项的嵌套没有什么特别的地方。
超链接和邮件地址
用法:
[[link target][link description]] [link target]
你需要把它们包括 在"`'"中,我的意思是:
在语句前加上"`",这通常需要按下键盘左上角ESC下面的那个键,在结尾要加上"'",这是英文中的单引号。
发布和显示照片
如同您可能猜想到的那样,我们只要在超链接中把link description指向一个可以获得的图片链接(通常在 本地目录中),就可以显示照片了。
插入水平线和"锚"
有时候需要插入一根棒子,就像这样:
上下行都是空行,且本行仅仅以连续的四个或四个以上顶格破折线的行将显示为水平线。
分隔线一下内容纯属胡扯—
锚
锚是用来在页面内进行定位的工具,我可能很难预测它的行为。但是如果一个锚的超链接被点击的话,你至少应该 能看到这个锚定位的地方。以#开头且#后第一个字符不是空白字符的行将被从#到第一个空白字符之间的字符串锚定, 比方你的一行是这样"#cat hahhahha","#cat"讲锚定这个地方。你可以早超链接中通过"page#cat"引用这个 地方,当然这个地方到底在哪真的难说,和您的输出格式,使用的显示终端设备都有关系。我们可以预料的是它的 上下文应该出现在显示终端上(比方浏览器)。
输入公式
使用
<latex></latex>
即可,这之前可能需要进行少许配置,您如果不知道,可以通过google完成。
一个例子: