Posted on 14-10-2009
Filed Under (技术) by waterlin

如果你是用 Emacs Muse 来写文档、记笔记的话,直接在 Emacs Muse 里贴代码,会生成很混乱的风格。这个时候,我们需要灵活地使用 Muse 提供的标签 ( tag ) 功能。

  1. Muse 标签的基本语法

    Muse 标签的语法,基本上和 XML 里的差不多,大体上有以下几种情形:

    • 标签有参数的情况,格式如下:

        <tagname arg1="string1" arg2="string2">
      
    • 最简单的使用情形,只有一行的情况下,类似于 XML 里面的标记:
        <tagname arg1="string1" arg2="string2" />
      
    • 标签里有内容,则可以用下面的形式:
        <tagname>Some text</tagname>
      

      或者分成几行:

        <tagname>
        Some text.
        Some more text.
        </tagname>
      
  2. Muse 对代码进行排版与着色

    如果你要对 Muse 里的代码进行排版,则可以在 Muse 里使用 example 标签,基本形式如下:

      <example>
      put code here
      </example>
    

    这样,我们就可以在 CSS 文件里对 .example 类单独定义显示风格,从而这段代码、例子就不会受其他风格属性的影响。

    如果我们需要对代码进行着色,则需要用 src 标签配合 htmlize.el 来对代码进行着色。所有包含在标签 src 里的内容,都会通过 htmlize.el 工具进行着色,我们可以对 CSS 文件里的 pre 进行定义,从而规定 src 生成后的相关属性。下面是一个例子:

      <src lang="perl">
          #!/usr/bin/perl
          use strict;
          use warnings;
    
          my %hash = (frogs => sub {print "Frogs\n"});
          $hash{$frogs}->();
      </src>
    

    我个人习惯用 src 标签来给代码着色,用 example 标签来发布代码运行的结果,并针对这两个区域设置不同的背景颜色,看起来会舒服多了,有兴趣可以看看这个例子

    我们也可以用 div 标签来给某一段内容单独设置 CSS 属性。因为中文的习惯是每段开头空两格,所以,我在 CSS 文件里默认就是每行开头空两格。但是,有一些内容,我不需要开头空两格,怎么办呢?我们可以在 CSS 文件里新建一个名叫 NoIndent 的 id 名称,然后通过 div 来使用这个 CSS 属性:

      <div id="NoIndent">
      put no indent content here
      </div>
    

    我们可以在 CSS 文件里定义这个 NoIndent 的属性、任意定义我们需要的风格。比如说,下面就定义了不同的背景颜色与缩进:

    #NoIndent {
            background-color: #F0F0F0;
            text-indent: 0em;
    }
    #NoIndent p {
            text-indent: 0em;
    }
    

    也可以直接在 div 标签里使用 CSS 属性,例如下面的 div 标签就是让该段文字以 20 磅的黑体居中:

      <div style="text-align:center;font-size:20pt;font-weight: bold;">
          居中的标题
      </div>
    

    在发布文档的时候,有时我们需要在文档里插入一些程序运行的结果,这时可以使用<lisp> <perl> <python> <ruby>等标签。

  3. Muse 里其它常用标签简介

    除了上面提供到有关代码着色等的标签外,我们还经常会使用下面这些标签:

    • <literal>:

      不进行解析,原文是什么内容,就是什么内容,这对于发布包含了大量特殊字符的段落特别有用。

    • <quote>:

      引用标记,可以缩进。

    • <verse>:

      在 Muse 里编辑文档,默认的情况下,如果只有一个换行符,则表明依然还是一段内容;有一个空行才表示是新的段落。用了 verse 后,就能完整保留编辑时的段落格式了。

    • <include>:

      发布时在当前位置插入指定的文件,习惯用法如下所示(当然,需要把”included_file”替换成实际的文件):

        <include file="included_file">
      

如果能灵活地掌握这些标签的用法,我们就可以在 Muse 里进行有效地排版。如果你对使用某个标签发布后的结果不是太有把握,可以在 Firefox 里用 Firebug 来查看发布后的 html 页面代码,从而修订你的 Muse 文件或是 CSS 文件。

原创文章,如转载请注明:转载自细节之锤 [ http://blog.WaterLin.org/ ]

Copyright © WaterLin.org. All rights reserved.

© 2009, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

(1) Comment    (1,856) Views    Read More   

Comments

[…] Emacs Muse […]


Post a Comment
Name:
Email:
Website:
Comments: