/doc/Chinese/userguide-zh/userguide-zh.html
HTML | 2813 lines | 2732 code | 79 blank | 2 comment | 0 complexity | fc33aa706d608a5d3c0aff828ca50b83 MD5 | raw file
Possible License(s): GPL-2.0, GPL-3.0, WTFPL
Large files files are truncated, but you can click here to view the full file
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <META NAME="generator" CONTENT="http://txt2tags.org">
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
- <LINK REL="stylesheet" TYPE="text/css" HREF="userguide.css">
- <TITLE>Txt2tags用户指南</TITLE>
- </HEAD>
- <BODY>
- <DIV CLASS="header" ID="header">
- <H1>Txt2tags用户指南</H1>
- <H2><I>原著:Aurelio Jargas <verde (at) aurelio.net></I></H2>
- <H2>翻译:Chris Leng <rookie999.ly (at) gmail.com></H2>
- <H3>2009-03-24</H3>
- </DIV>
- <DIV CLASS="body" ID="body">
- <HR NOSHADE SIZE=5>
- <P></P>
- <DIV CLASS="toc" ID="toc">
- <UL>
- <LI><A HREF="#about">关于本文</A>
- <LI><A HREF="#chap1-intro">1. 第一部分 初识txt2tags</A>
- <UL>
- <LI><A HREF="#1st-question">1.1. 第一个可能的问题</A>
- <LI><A HREF="#formats">1.2. 支持的文档结构</A>
- <LI><A HREF="#targets">1.3. 支持的目标文件格式</A>
- <LI><A HREF="#struct-support">1.4. 目标文件结构支持一览</A>
- <LI><A HREF="#interfaces">1.5. 三种用户接口:GUI、网页和命令行</A>
- </UL>
- <LI><A HREF="#install">2. 第二部分 如何开始?</A>
- <UL>
- <LI><A HREF="#download-python">2.1. 下载、安装Python</A>
- <LI><A HREF="#download-txt2tags">2.2. 下载txt2tags</A>
- <LI><A HREF="#install-txt2tags">2.3. 安装txt2tags</A>
- <LI><A HREF="#toc12">2.4. 安装编辑器的语法高亮文件</A>
- </UL>
- <LI><A HREF="#your-1st-doc">3. 第三部分 第一个文档</A>
- <UL>
- <LI><A HREF="#toc14">3.1. 先利其器</A>
- <LI><A HREF="#toc15">3.2. 编写文档头部</A>
- <LI><A HREF="#toc16">3.3. 第一次转换——图形界面操作</A>
- <LI><A HREF="#toc17">3.4. 第一次转换——命令行方式</A>
- <LI><A HREF="#toc18">3.5. 查看结果</A>
- <LI><A HREF="#toc19">3.6. 编写文档体</A>
- </UL>
- <LI><A HREF="#concepts">4. 第四部分 掌握txt2tags的结构</A>
- <UL>
- <LI><A HREF="#areas">4.1. 文档的各个部分</A>
- <LI><A HREF="#headers-area">4.2. 头部域</A>
- <LI><A HREF="#config-area">4.3. 设置域</A>
- <LI><A HREF="#body-area">4.4. 主体域</A>
- <LI><A HREF="#settings-overview">4.5. 设定</A>
- <LI><A HREF="#cmd-options">4.6. 命令行选项</A>
- <LI><A HREF="#rc">4.7. 用户配置文件(RC文件)</A>
- <LI><A HREF="#config-loading">4.8. 配置的优先级和加载顺序</A>
- <LI><A HREF="#include">4.9. %!include 指令</A>
- <LI><A HREF="#includeconf">4.10. %!includeconf 指令</A>
- </UL>
- <LI><A HREF="#marks">5. 第五部分 掌握标记</A>
- <UL>
- <LI><A HREF="#mark-headers">5.1. 头部</A>
- <LI><A HREF="#mark-title">5.2. 标题与编号的标题</A>
- <LI><A HREF="#mark-par">5.3. 段落</A>
- <LI><A HREF="#mark-comment">5.4. 注释</A>
- <LI><A HREF="#mark-beautifiers">5.5. 粗体,斜体,下划线和删除线</A>
- <LI><A HREF="#mark-monospaced">5.6. 等宽字体</A>
- <LI><A HREF="#mark-verbatim">5.7. 完全引用行和完全引用域</A>
- <LI><A HREF="#mark-seperator">5.8. 隔离行和粗隔离行</A>
- <LI><A HREF="#mark-link">5.9. 链接和命名链接</A>
- <LI><A HREF="#mark-quote">5.10. 引用</A>
- <LI><A HREF="#mark-list">5.11. 列表,编号列表和定义列表</A>
- <LI><A HREF="#mark-image">5.12. 图片</A>
- <LI><A HREF="#mark-table">5.13. 表格</A>
- <LI><A HREF="#mark-raw">5.14. 原始文,原文行和原文域</A>
- </UL>
- <LI><A HREF="#macro">6. 第六部分 宏</A>
- <UL>
- <LI><A HREF="#macro-date">6.1. %%date</A>
- <LI><A HREF="#macro-mtime">6.2. %%mtime</A>
- <LI><A HREF="#macro-infile">6.3. %%infile</A>
- <LI><A HREF="#macro-outfile">6.4. %%outfile</A>
- <LI><A HREF="#macro-toc">6.5. %%toc</A>
- </UL>
- <LI><A HREF="#settings">7. 第七部分 设定</A>
- <UL>
- <LI><A HREF="#setting-target">7.1. %!Target</A>
- <LI><A HREF="#setting-options">7.2. %!Options</A>
- <LI><A HREF="#setting-encoding">7.3. %!Encoding</A>
- <LI><A HREF="#setting-preproc">7.4. %!PreProc</A>
- <LI><A HREF="#setting-postproc">7.5. %!PostProc</A>
- <LI><A HREF="#setting-style">7.6. %!Style</A>
- <LI><A HREF="#setting-specific">7.7. 针对特定的目标格式进行设定</A>
- <LI><A HREF="#setting-filter-details">7.8. 关于PreProc和PostProc过滤器的一些细节</A>
- </UL>
- <LI><A HREF="#black-magic">8. 第八部分 黑魔法</A>
- <UL>
- <LI><A HREF="#postproc-multiline">8.1. 使用%!PostProc插入多行文本(比如CSS规则)</A>
- <LI><A HREF="#preproc-specific">8.2. 使用%!PreProc创建“特定目标类型”的内容</A>
- <LI><A HREF="#creating-marks">8.3. 使用%!PreProc改变txt2tags标记</A>
- </UL>
- <LI><A HREF="#history">9. 第九部分 软件历史</A>
- <UL>
- <LI><A HREF="#toc66">9.1. 1999年1月:史前历史</A>
- <LI><A HREF="#toc67">9.2. 1999年6月:依然是史前历史</A>
- <LI><A HREF="#toc68">9.3. 2000年8月:不再是史前历史了</A>
- <LI><A HREF="#toc69">9.4. 2001年5月:Python化和多目标格式的想法</A>
- <LI><A HREF="#toc70">9.5. 2001年7月:0.x系列:txt2tags的处女秀(公开发布)</A>
- <LI><A HREF="#toc71">9.6. 2002年9月:1.x系列:成长</A>
- <LI><A HREF="#toc72">9.7. 2004月7月:2.x系列:成熟</A>
- </UL>
- </UL>
- </DIV>
- <P></P>
- <HR NOSHADE SIZE=5>
- <P></P>
- <A NAME="about"></A>
- <H1>关于本文</H1>
- <P>
- 本文根据<A HREF="http://txt2tags.org/">txt2tags</A>(当前版本为2.5)的<B>用户指南</B>英文版翻译而来,读者可通过以下途径获得用户指南的英文原版:
- </P>
- <UL>
- <LI>用户指南官方网址:<A HREF="http://txt2tags.org/userguide">http://txt2tags.org/userguide</A>
- <LI>用户指南的PDF版本:<A HREF="http://txt2tags.org/userguide/userguide.pdf">http://txt2tags.org/userguide/userguide.pdf</A>
- </UL>
- <P>
- 本译文依照<A HREF="http://creativecommons.org/licenses/by-nc-sa/3.0">创作共用约定(署名-非商业性使用-相同方式共享)3.0</A>发布。
- </P>
- <HR NOSHADE SIZE=5>
- <P></P>
- <A NAME="chap1-intro"></A>
- <H1>1. 第一部分 初识txt2tags</H1>
- <P>
- 本章为概述,介绍txt2tags程序的用途和特色。
- </P>
- <A NAME="1st-question"></A>
- <H2>1.1. 第一个可能的问题</H2>
- <H3>1.1.1. txt2tags是什么?</H3>
- <P>
- txt2tags是一个文本格式化和转换工具,能够将带有特定标记的纯文本文件转换为支持的任意一种目标格式,包括:
- </P>
- <UL>
- <LI>HTML文档
- <LI>XHTML文档
- <LI>SGML文档
- <LI>LaTeX源文件
- <LI>Unix手册页(man page)
- <LI>MagicPoint演示文稿
- <LI>Wikipedia维基百科页面
- <LI>Google Wiki 页面
- <LI>DokuWiki页面
- <LI>MoinMoin页面
- <LI>PageMaker 6.0 文档
- <LI>纯文本文件
- </UL>
- <H3>1.1.2. 为什么使用txt2tags?</H3>
- <P>
- 你会发现txt2tags十分有用,如果你:
- </P>
- <UL>
- <LI>需要将文档以不同格式发布
- <LI>需要以不同格式维护文档的更新
- <LI>撰写技术文档或者手册
- <LI>需要用你不熟悉的某种格式撰写文档
- <LI>对于某种文档格式缺少一个专门的编辑器
- <LI>想用一个简单的文本编辑器维护和更新你的文档
- </UL>
- <P>
- 而最大的诱人之处在于:
- </P>
- <UL>
- <LI>节省时间,专注于 <B>内容</B>,抛开 <B>格式</B>
- </UL>
- <H3>1.1.3. 相较于其他工具,txt2tags有哪些优点?</H3>
- <TABLE>
- <TR>
- <TD><B>源文件可读性好</B></TD>
- <TD>txt2tags的标记非常简单,使得源文件几乎是自然语言。</TD>
- </TR>
- <TR>
- <TD><B>目标文件可读性好</B></TD>
- <TD>与源文件一样,生成的目标文件带有缩进和较短的行长度,可读性好。</TD>
- </TR>
- <TR>
- <TD><B>一致的标记</B></TD>
- <TD>txt2tags的标记是独特的,足以适应各种文档而不至于与文档内容产生混淆。</TD>
- </TR>
- <TR>
- <TD><B>一致的规则</B></TD>
- <TD>每种标记与其对应的规则是一一对应的,不存在“例外”或“特殊情形”</TD>
- </TR>
- <TR>
- <TD><B>结构简单</B></TD>
- <TD>所有支持的格式都是<B>简单的</B>,不带有附加选项或者复杂的修饰。标记只是标记而已,没有任何选项。</TD>
- </TR>
- <TR>
- <TD><B>易于学习</B></TD>
- <TD>由于简单的标记和可读的源文件,txt2tags的学习曲线非常的“用户友好”。</TD>
- </TR>
- <TR>
- <TD><B>漂亮的示例</B></TD>
- <TD>无论用txt2tags编写简单还是复杂的文档,包含在软件包中的<B>示例文件</B>都给出了生动实用的例子。</TD>
- </TR>
- <TR>
- <TD><B>有用的工具</B></TD>
- <TD>包含于软件包中的<B>语法规则文件</B>帮助你写出没有语法错误的文档(适用于vim, emacs, nano和kate)。</TD>
- </TR>
- <TR>
- <TD><B>三种用户接口</B></TD>
- <TD>用<I>Tk</I>编写的<B>图形接口</B>,可供远程和内部网使用的<B>网页接口</B>,以及共高级用户和脚本使用的<B>命令行接口</B>。</TD>
- </TR>
- <TR>
- <TD><B>脚本</B></TD>
- <TD>有经验的用户能够通过完全的命令行模式进行<B>自动任务</B>,以及对转换后的文件进行<B>后编辑</B>。</TD>
- </TR>
- <TR>
- <TD><B>下载、运行和跨平台</B></TD>
- <TD>txt2tags只是一个简单的<B>Python 脚本</B>,毋需编译或下载额外的模块,因此在各种*NIX、Linux、Windows和Macintosh主机上均能完美运行。</TD>
- </TR>
- <TR>
- <TD><B>时常更新</B></TD>
- <TD>活跃的邮件列表有用户提供修正和改进。作者本人在工作和业余也在使用txt2tags,因此开发不会无故终止。</TD>
- </TR>
- </TABLE>
- <H3>1.1.4. 我需要为此付费吗?</H3>
- <TABLE ALIGN="center" BORDER="1">
- <TR>
- <TH>当然不需要!</TH>
- </TR>
- </TABLE>
- <P>
- txt2tags在GPL许可证下发布,并且完全免费。
- </P>
- <A NAME="formats"></A>
- <H2>1.2. 支持的文档结构</H2>
- <P>
- 以下列出了txt2tags支持的文档结构。
- </P>
- <UL>
- <LI>头部(文档标题、作者、日期)
- <LI>章节标题(带有/不带编号)
- <LI>段落
- <LI>字体美化
- <UL>
- <LI>粗体
- <LI>斜体
- <LI>下划线
- <LI>删除线
- </UL>
- <LI>等宽字体(完全引用)
- <UL>
- <LI>段落内的等宽字体
- <LI>等宽的行
- <LI>等宽的区域(多行)
- </UL>
- <LI>引用
- <LI>链接
- <UL>
- <LI>URL/Internet链接
- <LI>e-mail链接
- <LI>本地链接
- <LI>命名的链接
- </UL>
- <LI>列表
- <UL>
- <LI>以符号引导的列表
- <LI>编号的列表
- <LI>定义列表
- </UL>
- <LI>水平分隔线
- <LI>图片(智能对齐)
- <LI>表格(带/不带边框,智能对齐,列贯穿)
- <LI>针对原文域的特殊标记(不解析)
- <LI>对当前日期的特殊宏定义(能灵活的改变格式)
- <LI>注释(作者备注;TODO;FIXME)
- </UL>
- <A NAME="targets"></A>
- <H2>1.3. 支持的目标文件格式</H2>
- <DL>
- <DT><B>HTML</B></DT><DD>
- HTML是众所周知的格式(提示:Internet)。
- <P></P>
- Txt2tags能生成干净漂亮,源文件可读的HTML文档,不使用JavaScript、框架或是其他无效的、简洁的技术文档所不需要的格式化技术,但是可以使用独立的CSS文件。txt2tags生成的代码符合“<I>HTML 4.0 Transitional</I>”标准。
- <P></P>
- 自2.0版起,txt2tags生成的HTML代码100%通过<A HREF="validator.w3.org">w3c validator</A>的校验。
- <P></P>
- <DT><B>XHTML</B></DT><DD>
- 新一代的HTML,具有更严格的语法——所有的标记都必须闭合,这使得代码更易理解和解析。大体上来说,可以将其看做HTML。Txt2tags生成的代码符合“<I>XHTML 1.0 Transitional</I>”标准。
- <P></P>
- 自2.0版起,txt2tags生成的XHTML代码100%通过<A HREF="validator.w3.org">w3c validator</A>的校验。
- <P></P>
- <DT><B>SGML</B></DT><DD>
- 格式转换软件<A HREF="http://www.sgmltools.org">SGML工具</A>的通用格式。单一的SGML文件能转换为HTML、PDF、PS、info、LaTeX、Lyx、rtf以及XML格式的文档。SGML2* 工具还能自动生成目录表,以及按照章节将文件分割为子页(sgml2html)。
- <P></P>
- Txt2tags生成的SGML文件为Linux系统文档格式,通过SGML2*工具能够直接转换,而毋需任何额外的目录文件或是SGML那些恼人的要求。
- <P></P>
- <DT><B>LATEX</B></DT><DD>
- 超出你想象的强大格式,学术论文的通用格式。用它能生成整本的书、复杂的公式以及任何复杂的文字格式,然而,如果你打算手写那些标记,就准备掉头发吧……
- <P></P>
- Txt2tags将为你处理所有的细节和例外情形,完成能够直接使用的LaTeX文档,你只需考虑文字内容。
- <P></P>
- <DT><B>LOUT</B></DT><DD>
- 与LaTeX非常相似,但是以“@”代替“\”作为命令引导符,同时尽量避免使用括号。它“一切皆对象”的处理方式使得标记更加健壮。
- <P></P>
- Txt2tags能生成可以直接使用的文件,通过“lout”命令即可转换为PDF或PS文件。
- <P></P>
- <DT><B>MAN</B></DT><DD>
- UNIX手册页。
- <P></P>
- 文档格式产生消亡,来来去去,UNIX手册页却存活多年,始终坚挺。
- <P></P>
- 有各种工具可以生成手册页文档,但是txt2tags自有其优势:一个源文件,多种产出物。因此,手册页的内容还能转换为HTML、MagicPoint演示文稿,等等。
- <P></P>
- <DT><B>MGP</B></DT><DD>
- <A HREF="http://www.mew.org/mgp">MagicPoint</A>是一个非常方便的幻灯片工具(就如同Microsoft PowerPoint)。它使用标记语言来定义每一屏显示,因此你可以使用 vi/emacs/记事本 这样的文本编辑器来完成复杂的幻灯片。
- <P></P>
- Txt2tags为你完成所有被ISO-8859标准所支持的字体和外观的定义,生成的.mgp文件能够直接使用。
- <P></P>
- <B>HOTSPOT 1:</B> txt2tags在生成的.mgp文件中使用XFree86 Type1字体!因此你的幻灯片毋需额外配合TrueType字体。
- <P></P>
- <B>HOTSPOT 2:</B> 字体颜色的定义简洁,即使在只有简陋调色板的系统中(比如<CODE>startx -- -bpp 8</CODE>),幻灯片依然美观。
- <P></P>
- 你需要做的只是:转换,然后使用。毋需任何修复或是其他额外的工作。
- <P></P>
- <DT><B>WIKI</B></DT><DD>
- 想必你一定听说过<A HREF="wikipedia.org">维基百科(Wikipedia)</A>吧?现在你不必另外学习一种新的标记语法,txt2tags将为你把标记文本转换为维基百科的格式。
- <P></P>
- <DT><B>GWIKI</B></DT><DD>
- 使你能轻松的将项目文档粘贴到<A HREF="code.google.com">Google Code</A> Wiki。
- <P></P>
- <DT><B>DOKU</B></DT><DD>
- <A HREF="http://wiki.splitbrain.org/wiki:dokuwiki">DokuWiki</A>是一种遵从标准并且易于使用的Wiki,被设计来创建各种类型的文档,其目标群体包括开发团队、工作组以及小型公司。其语法简洁而强大,确保数据文件脱离Wiki仍然保有可读性,同时简化结构化文本的创建,所有的数据都以纯文本文件格式存储——毋需数据库。
- <P></P>
- <DT><B>MOIN</B></DT><DD>
- <A HREF="moinmo.in">MoinMoin</A>是什么?它是一种<A HREF="http://www.c2.com/cgi/wiki">WikiWiki</A>!
- <P></P>
- Moin的语法是有些乏味儿的,你必须不断的<CODE>{{{'''''adding braces and quotes'''''}}}</CODE>。Txt2tags为你带来简单的标记和统一的解决方案:一个源文件,多种产出物。
- <P></P>
- <DT><B>PM6</B></DT><DD>
- 我估猜你不会知道这是 Adobe PageMaker 6.0 独有的标记语言!它包含了样式、颜色表、美化、以及绝大部分PageMaker中的鼠标点击特性。你可以通过“Import Tagged text”菜单项来使用它。从记录上来看,它具有“类HTML”的标记格式。
- <P></P>
- Txt2tags能生成所有的标记,并且定义好丰富而有效的导言以设置段落样式和格式——这个部分通常是让人头疼的。<B>特别提醒:</B>不能有断行!每个段落必须是单独一行。
- <P></P>
- (作者按:<I>笔者的《<A HREF="http://guia-er.sf.net">regular expression's book</A>》这本书的葡萄牙语版就是用VI编辑,再用txt2tags转换为PageMaker格式然后付印的。</I>)
- <P></P>
- <DT><B>TXT</B></DT><DD>
- 纯文本,唯一的真实格式。
- <P></P>
- 尽管txt2tags的标记非常直观而且不显眼,你仍然可以选择移除它们——只需将文件转换为纯文本即可。
- <P></P>
- 在源文件中,标题添加下划线,而文本则是左对齐的。
- </DL>
- <A NAME="struct-support"></A>
- <H2>1.4. 目标文件结构支持一览</H2>
- <TABLE ALIGN="center" BORDER="1">
- <TR>
- <TH>结构</TH>
- <TH>html</TH>
- <TH>xhtml</TH>
- <TH>sgml</TH>
- <TH>tex</TH>
- <TH>lout</TH>
- <TH>man</TH>
- <TH>mgp</TH>
- <TH>wiki</TH>
- <TH>gwiki</TH>
- <TH>doku</TH>
- <TH>moin</TH>
- <TH>pm6</TH>
- <TH>txt</TH>
- </TR>
- <TR>
- <TD>头部</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>章节标题</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>段落</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>粗体字</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>斜体字</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>下划线字体</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>删除线字体</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>等宽字体</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>未格式化行</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>未格式化区域</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>引用区域</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>超链接</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>e-mail链接</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>本机链接</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>命名链接</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>列表</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>计数列表</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>定义列表</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>水平线</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- </TR>
- <TR>
- <TD>图片</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>表格</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- </TR>
- <TR>
- <TH>附加结构</TH>
- <TH>html</TH>
- <TH>xhtml</TH>
- <TH>sgml</TH>
- <TH>tex</TH>
- <TH>lout</TH>
- <TH>man</TH>
- <TH>mgp</TH>
- <TH>wiki</TH>
- <TH>gwiki</TH>
- <TH>doku</TH>
- <TH>moin</TH>
- <TH>pm6</TH>
- <TH>txt</TH>
- </TR>
- <TR>
- <TD>图片对齐</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- </TR>
- <TR>
- <TD>单元格对齐</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- </TR>
- <TR>
- <TD>跨列单元格</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">Y</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">-</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- <TD ALIGN="center">N</TD>
- </TR>
- </TABLE>
- <TABLE ALIGN="center">
- <TR>
- <TH></TH>
- <TH>图例</TH>
- </TR>
- <TR>
- <TD><B>Y</B></TD>
- <TD>支持</TD>
- </TR>
- <TR>
- <TD><B>N</B></TD>
- <TD>不支持(后续版本可能会支持)</TD>
- </TR>
- <TR>
- <TD><B>-</B></TD>
- <TD>不支持(在该目标格式中不存在)</TD>
- </TR>
- </TABLE>
- <A NAME="interfaces"></A>
- <H2>1.5. 三种用户接口:GUI、网页和命令行</H2>
- <P>
- 不同用户的需求和使用环境不同,txt2tags相应的也具有灵活的执行方式。
- </P>
- <P>
- 程序有三种用户接口,每一种各有其目标和特性:
- </P>
- <UL>
- <LI><B>图形用户接口(GUI)</B>:使用Tk写成,支持窗口环境和鼠标点击。
- <LI><B>网页</B>:使用PHP开发,支持通过浏览器运行txt2tags,而毋需安装任何客户端程序。
- <LI><B>命令行</B>:程序的核心,使用Python开发,所有的特性都包含于命令行选项之中。
- </UL>
- <A NAME="tk-interface"></A>
- <H3>1.5.1. 基于Tk的图形用户接口</H3>
- <P>
- 自1.0版本开始,txt2tags就有一个能工作于Linux、Windows、Mac以及其他操作系统之上的图形用户接口。
- </P>
- <P>
- 程序能自动检测你的系统能否显示图形,如果可以,则不带任何参数的命令调用时运行图形接口。你也可以通过命令行参数 <CODE>--gui</CODE> 强制运行图形接口。当某些资源缺失时,程序给出错误信息。
- </P>
- <BLOCKQUOTE>
- 提示:Tkinter是必须的。因为Python的标准发布总是包含它,实际上
- 你的系统中应该已经有了。
- </BLOCKQUOTE>
- <P></P>
- <P>
- 图形界面的使用相当的简洁和直观:
- </P>
- <center><IMG ALIGN="middle" SRC="./img/gui.png" BORDER="0" ALT=""></center>
- <OL>
- <LI>加载本机的.t2t文件,其内部定义的选项将自动识别。
- <LI>如果目标格式为空,必须在此处指定。
- <LI>此外还有一些选项可以附加选择,但并非必须。
- <LI>最后,点击“Convert!”按钮。
- <P></P>
- 一个有用的选项是“<I>Dump to screen</I>”,输出结果不会写到文件,而是显示于屏幕上,以便检查,确认无误之后再输出到文件存储。
- <P></P>
- 界面的默认颜色可以通过修改 <CODE>~/.txt2tagsrc</CODE> 文件的 <CODE>%!guicolors</CODE> 设定来更改。比如:
- <P></P>
- <PRE>
- % set my own colors for the graphical interface (bg1, fg1, bg2, fg2)
- %!guicolors: blue white brown yellow
- </PRE>
- </OL>
- <H3>1.5.2. 在线方式</H3>
- <P>
- 基于Web的界面可以通过互联网地址<A HREF="http://txt2tags.org/online.php">http://txt2tags.org/online.php</A>来访问,你可以在下载之前先试用txt2tags。
- </P>
- <center><IMG ALIGN="middle" SRC="./img/web.png" BORDER="0" ALT=""></center>
- <P>
- Web接口也可以部署于本地局域网(intranet)内,免去在每台机器上安装txt2tags的麻烦。
- </P>
- <H3>1.5.3. 命令行</H3>
- <P>
- 对于有经验的命令行用户来说,<CODE>--help</CODE> 选项提供的帮助信息应该足够了:
- </P>
- <PRE>
- Usage: txt2tags [OPTIONS] [infile.t2t ...]
- -t, --target=TYPE set target document type. currently supported:
- html, xhtml, sgml, tex, lout, man, mgp, wiki,
- gwiki, doku, moin, pm6, txt
- -i, --infile=FILE set FILE as the input file name ('-' for STDIN)
- -o, --outfile=FILE set FILE as the output file name ('-' for STDOUT)
- -n, --enum-title enumerate all title lines as 1, 1.1, 1.1.1, etc
- -H, --no-headers suppress header, title and footer contents
- --headers show header, title and footer contents (default ON)
- --encoding set target file encoding (utf-8, iso-8859-1, etc)
- --style=FILE use FILE as the document style (like HTML CSS)
- --css-sugar insert CSS-friendly tags for HTML and XHTML targets
- --css-inside insert CSS file contents inside HTML/XHTML headers
- --mask-email hide email from spam robots. x@y.z turns <x (a) y z>
- --toc add TOC (Table of Contents) to target document
- --toc-only print document TOC and exit
- --toc-level=N set maximum TOC level (depth) to N
- --rc read user config file ~/.txt2tagsrc (default ON)
- --gui invoke Graphical Tk Interface
- -q, --quiet quiet mode, suppress all output (except errors)
- -v, --verbose print informative messages during conversion
- -h, --help print this help information and exit
- -V, --version print program version and exit
- --dump-config print all the config found and exit
- Turn OFF options:
- --no-outfile, --no-infile, --no-style, --no-encoding, --no-headers
- --no-toc, --no-toc-only, --no-mask-email, --no-enum-title, --no-rc
- --no-css-sugar, --no-css-inside, --no-quiet
- Example:
- txt2tags -t html --toc myfile.t2t
- By default, converted output is saved to 'infile.<target>'.
- Use --outfile to force an output file name.
- If input file is '-', reads from STDIN.
- If output file is '-', dumps output to STDOUT.
- </PRE>
- <P></P>
- <H4>1.5.3.1. 示例</H4>
- <P>
- 假设你已经编写好一个正确标记的文件 <CODE>file.t2t</CODE>,现在我们来尝试一些转换。
- </P>
- <TABLE>
- <TR>
- <TD><B>转换为HTML</B></TD>
- <TD><CODE>$ txt2tags -t html file.t2t</CODE></TD>
- </TR>
- <TR>
- <TD><B>转换为HTML,使用输出重定向</B></TD>
- <TD><CODE>$ txt2tags -t html -o - file.t2t > file.html</CODE></TD>
- </TR>
- <TR>
- <TD></TD>
- <TD>.</TD>
- </TR>
- <TR>
- <TD><B>包含目录表</B></TD>
- <TD><CODE>$ txt2tags -t html --toc file.t2t</CODE></TD>
- </TR>
- <TR>
- <TD><B>带数字编号的目录表</B></TD>
- <TD><CODE>$ txt2tags -t html --toc --enum-title file.t2t</CODE></TD>
- </TR>
- <TR>
- <TD></TD>
- <TD>.</TD>
- </TR>
- <TR>
- <TD><B>内容概览</B></TD>
- <TD><CODE>$ txt2tags --toc-only file.t2t</CODE></TD>
- </TR>
- <TR>
- <TD><B>编号的概览</B></TD>
- <TD><CODE>$ txt2tags --toc-only --enum-title file.t2t</CODE></TD>
- </TR>
- <TR>
- <TD></TD>
- <TD>.</TD>
- </TR>
- <TR>
- <TD><B>从标准输入读取一行</B></TD>
- <TD><CODE>$ echo -e "\n**bold**" | txt2tags -t html --no-headers -</CODE></TD>
- </TR>
- <TR>
- <TD><B>Email地址识别测试</B></TD>
- <TD><CODE>$ echo -e "\njohn.wayne@farwest.com" | txt2tags -t txt --mask-email --no-headers -</CODE></TD>
- </TR>
- <TR>
- <TD><B>转换后编辑</B></TD>
- <TD><CODE>$ txt2tags -t html -o- file.t2t | sed "s/<BODY .*/<BODY BGCOLOR=green>/" > file.html</CODE></TD>
- </TR>
- </TABLE>
- <BLOCKQUOTE>
- 提示:从1.6版本起,前处理和后处理可以通过 <CODE>%!preproc</CODE> 和
- <CODE>%!postproc</CODE> 宏来完成。
- </BLOCKQUOTE>
- <P></P>
- <HR NOSHADE SIZE=1>
- <P></P>
- <A NAME="install"></A>
- <H1>2. 第二部分 如何开始?</H1>
- <P>
- 下载然后运行——一切就是这么简单。
- </P>
- <A NAME="download-python"></A>
- <H2>2.1. 下载、安装Python</H2>
- <P>
- 首先你必须下载安装Python解释器,如果你的系统已经安装过Python,请跳过本节。
- </P>
- <P>
- Python是一种极好的编程语言,能够跨平台的在Windows、Linux、UNIX、Macintosh以及其他的操作系统上运行。你可以从<A HREF="http://www.python.org/">Python主页</A>找到安装文件以及安装指南。Txt2tags运行要求Python 2.0以后的版本。
- </P>
- <P>
- 如果你不确定是否已经安装过Python,请打开一个控制台(tty、xterm、MSDOS),输入命令 <CODE>python</CODE>,如果Python并未安装,系统会给出错误信息。
- </P>
- <A NAME="download-txt2tags"></A>
- <H2>2.2. 下载txt2tags</H2>
- <P>
- Txt2tags的项目主页是<A HREF="http://txt2tags.org">http://txt2tags.org</A>。全部程序文件打包成一个tarball压缩文件(.tgz 文件),你可以使用大多数的压缩工具来提取(包括WinZip)。请下载<B>最新</B>的版本,早期版本仅仅作为历史存档之用。
- </P>
- <A NAME="install-txt2tags"></A>
- <H2>2.3. 安装txt2tags</H2>
- <P>
- 事实上,txt2tags只是一个单文件的Python脚本,毋需安装。
- </P>
- <P>
- 运行程序需要的唯一一个文件是脚本 <CODE>txt2tags</CODE>,压缩包内的其他文件是软件的文档、示例以及一些工具。
- </P>
- <P>
- 最低级的使用txt2tags的方法是直接通过Python来调用:
- </P>
- <PRE>
- prompt$ python txt2tags
- </PRE>
- <P></P>
- <P>
- 如果想将 txt2tags 作为一个能够直接运行的程序“安装”到系统,请将 txt2tags 脚本复制(或者创建一个链接)到系统 PATH 变量定义的目录,并且确认系统能够运行它。
- </P>
- <DL>
- <DT>UNIX/Linux/Mac</DT><DD>
- 将脚本文件赋予执行权限(<CODE>chmod +x txt2tags</CODE>),然后复制到 $PATH 变量定义的目录下(比如:<CODE>cp txt2tags /usr/local/bin</CODE>)。
- <P></P>
- <DT>Windows</DT><DD>
- 重命名脚本文件,添加 .py 作为扩展名(命令行下执行:<CODE>ren txt2tags txt2tags.py</CODE>),然后复制到系统 PATH 环境变量定义的路径下(比如:<CODE>copy txt2tags.py C:\WINNT</CODE>)
- </DL>
- <P>
- 如果想要使用图形用户接口,你可以创建一个桌面启动器(快捷方式)。
- </P>
- <H3>2.3.1. 为Windows用户专门打包的安装程序</H3>
- <P>
- 对于Windows用户,txt2tags还有两个打包好的安装程序,你只需点击鼠标即可完成安装:
- </P>
- <UL>
- <LI>单独的txt2tags脚本,针对已经安装过Python解释器的系统。
- <LI>独立运行的版本,毋需另外安装Python解释器(包含一个嵌入的版本)。
- </UL>
- <P>
- 你可以访问 <I>Txt2tags-Win</I> 主页下载安装包:<A HREF="http://txt2tags-win.sf.net/">http://txt2tags-win.sf.net/</A>
- </P>
- <A NAME="toc12"></A>
- <H2>2.4. 安装编辑器的语法高亮文件</H2>
- <P>
- Txt2tags提供适合以下编辑器使用的语法高亮文件:
- </P>
- <UL>
- <LI>Vim (<A HREF="http://www.vim.org">www.vim.org</A>)
- <LI>Emacs (<A HREF="http://www.emacs.org">www.emacs.org</A>)
- <LI>Nano (<A HREF="http://www.nano-editor.org">www.nano-editor.org</A>)
- <LI>Kate (<A HREF="http://kate.kde.org">http://kate.kde.org</A>)
- <LI>gedit ( <A HREF="http://www.gnome.org/projects/gedit/">http://www.gnome.org/projects/gedit/</A>)
- <LI>TextMate (<A HREF="http://macromates.com/">http://macromates.com/</A> )
- </UL>
- <P>
- 语法高亮文件包含全部txt2tags标记和规则,以帮助用户编写出无误的文档——正确书写的标记将以彩色显示。
- </P>
- <TABLE ALIGN="center">
- <TR>
- <TD ALIGN="center"><center><IMG ALIGN="middle" SRC="./img/vim.png" BORDER="0" ALT=""></center></TD>
- </TR>
- <TR>
- <TD ALIGN="center">用Vim打开示例文件</TD>
- </TR>
- </TABLE>
- <P>
- 语法文件对于不同的编辑器有不同的安装过程,请参考语法文件的头部说明和编辑器的文档。
- </P>
- <HR NOSHADE SIZE=1>
- <P></P>
- <A NAME="your-1st-doc"></A>
- <H1>3. 第三部分 第一个文档</H1>
- <A NAME="toc14"></A>
- <H2>3.1. 先利其器</H2>
- <P>
- 你需要三件工具来完成你的第一次转换尝试:txt2tags,一个文本编辑器和一个网络浏览器。
- </P>
- <OL>
- <LI>确认一下txt2tags是否已经安装并且能够正确运行。
- <UL>
- <LI><B>命令行方式</B>:执行“<CODE>txt2tags</CODE>”命令,程序会返回一个“缺少输入文件(Missing input file)”的信息。如果不能正确运行,尝试使用“<CODE>python /path/to/txt2tags</CODE>”,甚至“<CODE>/path/to/python /path/to/txt2tags</CODE>”以防止Python不在环境变量定义的路径中。
- <LI><B>图形化操作</B>:点击程序图标启动图形界面。
- </UL>
- <LI>开启你喜欢的文本编辑器——任何一个都行,无论是古老的 VI,还是 M$ Word,乃至 OpenOffice.org。用编辑器创建一个空文档作为你的第一个txt2tags源文件。
- <LI>启动你偏爱的浏览器,用来查看转换得到的HTML网页。
- </OL>
- <A NAME="toc15"></A>
- <H2>3.2. 编写文档头部</H2>
- <OL>
- <LI>在编辑器中,在第一行写上文档的主标题:<I>我的第一个文档</I>
- <LI>在第二行写上子标题:<I>txt2tags测试</I>
- <LI>然后在第三行写上时间,比如:<I>星期日,2009</I>
- </OL>
- <P>
- 如果一切正常,现在你可以看到一个包含三行内容的文档:
- </P>
- <PRE>
- 我的第一个文档
- txt2tags测试
- 星期日,2009
- </PRE>
- <P></P>
- <P>
- 这只是一般文档的一部分,但是我们已经可以用它来尝试一下转换工作了。
- </P>
- <P>
- 将文档以文件名 <CODE>test.txt</CODE> 保存,记得要记住保存的路径,因为一会儿你要用到它。
- </P>
- <A NAME="toc16"></A>
- <H2>3.3. 第一次转换——图形界面操作</H2>
- <P>
- 如果你使用命令行,请跳过本节,直接阅读下一节。
- </P>
- <P>
- 如果你使用图形界面,请跟着我做:
- </P>
- <center><IMG ALIGN="middle" SRC="./img/firstdoc.png" BORDER="0" ALT=""></center>
- <OL>
- <LI>点击“Browse”按钮,选择你刚才保存的 <CODE>test.txt</CODE> 文件。
- <LI>回到第一个窗口,在“Target document type”下拉菜单中选择“HTML page”。
- <LI>点击“Convert!”按钮。
- </OL>
- <center><IMG ALIGN="middle" SRC="./img/firstdoc-done.png" BORDER="0" ALT=""></center>
- <P>
- 这时会弹出一个对话框,告诉你文件已经成功的转换了。生成的HTML文件与源文件在同一个文件夹下,以“html”为扩展名。
- </P>
- <A NAME="toc17"></A>
- <H2>3.4. 第一次转换——命令行方式</H2>
- <P>
- 如果你使用图形界面,请跳过本节直接阅读下一节。
- </P>
- <P>
- 如果你使用命令行方式,请切换到源文件所在的目录,执行:
- </P>
- <PRE>
- txt2tags --target html test.txt
- </PRE>
- <P></P>
- <P>
- 请注意:在命令的各部分中间以空格分隔,但是在选项字符串“<CODE>--target</CODE>”内部不能有空格,这个选项后面紧跟着字符串“<CODE>html</CODE>”,告诉程序你想要的目标文件格式。最后一部分是源文件的文件名。
- </P>
- <P>
- 如果转换正常完成,结果会存储到文件 <CODE>test.html</CODE> 中,同时给出“<I>txt2tags wrote test.html</I>”的信息。如果不是这样,程序会报错,提示你可能出错了,请仔细检查一下。
- </P>
- <P>
- 一个示例:
- </P>
- <PRE>
- prompt$ txt2tags --target html test.txt
- txt2tags wrote test.html
- prompt$
- </PRE>
- <P></P>
- <A NAME="toc18"></A>
- <H2>3.5. 查看结果</H2>
- <P>
- 用浏览器打开文件 <CODE>test.html</CODE> 以检查是否正常。
- </P>
- <center><IMG ALIGN="middle" SRC="./img/firstdoc-html.png" BORDER="0" ALT=""></center>
- <P>
- 看见结果了吗!你只是简单的输入了三行文字,txt2tags则为你完成了所有设置HTML文件头部信息的工作:对齐方式、大小、间隔以及外观。文档的主标题同时也出现在了浏览器的标题栏中。
- </P>
- <TABLE ALIGN="center" BORDER="1">
- <TR>
- <TH>你只需输入文本,txt2tags帮你搞定一切 ;)</TH>
- </TR>
- </TABLE>
- <P>
- 提示:txt2tags生成的HTML页还能使用外部CSS,以实现对页面外观100%的定制。
- </P>
- <A NAME="toc19"></A>
- <H2>3.6. 编写文档体</H2>
- <P>
- 现在返回文本编辑器进行下一步:撰写文档的内容。你可以像平日里撰写电子邮件一样的输入文字,毋需特别的“标记”,txt2tags会自动识别出段落和列表。
- </P>
- <P>
- 然后,再一次:保存、转换再查看结果。这就是txt2tags文档的编写流程。你可以把精力放在内容上,更快的完成文件的编写——毋需点鼠标,毋需菜单,没有窗口,没有什么来分散你的注意力。
- </P>
- <P>
- 假设文件 <CODE>test.txt</CODE> 中写上了如下的内容,完全的纯文本,将它们跟生成的HTML文件做一个对比:
- </P>
- <PRE>
- 我的第一个文档
- txt2tags测试
- 星期日,2009
- 现在我们来试一试txt2tags好了。我也不晓得该写点啥……
- 唔……好吧,列一下我马上该去做的事情:
- - 洗个澡
- - 吃块批萨
- - 去睡觉
- </PRE>
- <P></P>
- <center><IMG ALIGN="middle" SRC="./img/firstdoc-fullhtml.png" BORDER="0" ALT=""></center>
- <P>
- 你毋需任何HTML语言的准备知识就能够编写出完整的主页,不必插入任何标记。进一步,同一个源文件还可以转换为其他任何txt2tags所支持的格式。
- </P>
- <P>
- 除了纯文本之外,txt2tags有一些非常简单的标记来实现其他的格式和文档结构,比如<B>粗体</B>、<I>斜体</I>、标题、图片、表格,等等。举个简单的例子,<CODE>**产生粗体**</CODE>,<CODE>== 得到标题 ==</CODE>。详情请参阅<A HREF="http://txt2tags.sourceforge.net/zh/markup-zh.html">标记示例(Txt2tags Markup Demo)</A>。
- </P>
- <HR NOSHADE SIZE=1>
- <P></P>
- <A NAME="concepts"></A>
- <H1>4. 第四部分 掌握txt2tags的结构</H1>
- <A NAME="areas"></A>
- <H2>4.1. 文档的各个部分</H2>
- <P>
- Txt2tags的标记文本可以分为三个部分,每个部分各自的规则,实现不同的功能,包括:
- </P>
- <DL>
- <DT><I>头部域(Header Area)</I></DT><DD>
- 放置文档标题、作者、版本号以及日期信息。可选区域。
- <DT><I>设置域(Config Area)</I></DT><DD>
- 定义全局设定,修改解析时行为(Place for general Document Settings and Parser behavior modifiers.)。可选区域。
- <DT><I>主体域(Body Area)</I></DT><DD>
- 文件内容。必须的区域。
- </DL>
- <P>
- 前两个区域是可选的,只有 <I>主体域</I> 是必须的。
- </P>
- <P>
- 各个区域之间的分隔方式比较特别,下一章会详细描述,现在我们给出一个直观的图形化的描述:
- </P>
- <PRE>
- ____________
- | |
- | HEADERS | 1. First, the Headers
- | |
- | CONFIG | 2. Then the Settings
- | |
- | BODY | 3. And finally the Document Body,
- | |
- | ... | which goes until the end
- | ... |
- |____________|
- </PRE>
- <P></P>
- <P>
- 简单的说,各个部分是这样定义的:
- </P>
- <TABLE ALIGN="center">
- <TR>
- <TD ALIGN="center"><B>头部域</B></TD>
- <TD>文件内容的前三行;或者第一行是空白行,表示“没有头部”。</TD>
- </TR>
- <TR>
- <TD ALIGN="center"><B>设置域</B></TD>
- <TD>紧接着头部(第四行或者第二行)开始,结束于<I>主体域</I>的开始。</TD>
- </TR>
- <TR>
- <TD><B>主体域</B></TD>
- <TD>从<I>头部</I>区域之后的第一个有效的行(非注释或设置)开始。</TD>
- </TR>
- </TABLE>
- <H3>4.1.1. 完整的示例</H3>
- <PRE>
- My nice doc Title
- Mr. John Doe
- Last Updated: %%mtime(%c)
- %! Target : html
- %! Style : fancy.css
- %! Encoding: iso-8859-1
- %! Options : --toc --enum-title
- Hi! This is my test document.
- Its content will end here.
- </PRE>
- <P></P>
- <A NAME="headers-area"></A>
- <H2>4.2. 头部域</H2>
- <P>
- 位置:
- </P>
- <UL>
- <LI>固定位置:文件的<B>头三行</B>。
- <LI>固定位置:文件的<B>第一行</B>,并且为空白行。这意味着“没有头部”。
- </UL>
- <P>
- 头部是唯一固定位置和行数的区域,总是出现在源文件的头三行。各行的内容可以随意,并没有特别的要求。不过,对于大多数的文档,推荐以下的内容作为头部:
- </P>
- <UL>
- <LI><I>第一行</I>:文档标题
- <LI><I>第二行</I>:作者姓名和(或)邮件地址
- <LI><I>第三行</I>:文档的编写日期和(或)版本号(推荐使用宏 <CODE>%%date</CODE>)
- </UL>
- <P>
- 请记住:源文件的头三行将会是目标文件的头三行,在目标文件中会以高的对比与文档内容相区分(比如:大号字体,粗体)。如果允许分页,头部将会单独的在第一页居中显示。
- </P>
- <H4>较少(或无)头部</H4>
- <P>
- 有些时候作者会希望少于三行的头部,仅仅给出文档标题和(或)日期信息,这时只需将第二行和(或)第三行留为空行,这部份就不会在目标文件中显示。但是,请切记:即使是留为空白,这些行仍然是头部的一部分,主体域总是在这三行之后开始。
- </P>
- <P>
- 只有标题(第一行)是必须的,但是你也可以把它留白,这意味着文档<B>没有头部</B>,而主体域就紧接着从第二行开始。如果你打算在完成转换之后再来定制头部信息,那么没有头部的选择是很有用的。命令行选项 <CODE>--no-headers</CODE> 通常用来完成这一操作。
- </P>
- <H4>总结</H4>
- <P>
- 简而言之:“<B>头部只是<U>位置</U>,而非内容</B>”
- </P>
- <P>
- 源文件的第一行会出现在目标文件的第一行,二三行同样。
- </P>
- <A NAME="config-area"></A>
- <H2>4.3. 设置域</H2>
- <P>
- 位置:
- </P>
- <UL>
- <LI>紧接着头部区域之后开始
- <UL>
- <LI>如果定义了<B>头部</B>则从<B>第四行</B>开始
- <LI>如果<B>无头部</B>,则从<B>第二行</B>开始
- </UL>
- <LI>结束于主体域开始
- <UL>
- <LI>结束于一个非属性设定,空白或者注释行
- </UL>
- </UL>
- <P>
- 设置域是可选的。普通用户甚至可以编写出许多txt2tags文档,却不知道这个区域的存在,但是有经验的用户往往受益于它提供的有效的控制功能。设置域用来记录具体文档的设置,这样就省略了转换时繁杂的命令行选项。比如说,你可以设定好缺省的目标文件类型和字符编码。在“<A HREF="#settings">设定</A>”一节中对此有详细的叙述。
- </P>
- <A NAME="body-area"></A>
- <H2>4.4. 主体域</H2>
- <P>
- 位置:
- </P>
- <UL>
- <LI>开始于第一个有效行
- <UL>
- <LI>头部、设置域以及注释都<B>不是</B>有效的行。
- </UL>
- <LI>结束于文件的末尾(EOF)
- </UL>
- <P>
- 除了头部和设置域以外的所有内容都是主体域。主体域包含来了文件的内容以及txt2tags支持的所有格式和文档结构的信息。在主体域内你也可以放置注释,作为 <I>TODOs</I> 和自提示。
- </P>
- <P>
- 命令行选项 <CODE>--no-headers</CODE> 会忽略头部,只转换主体域的内容。这是很有用的:你可以用单独的文件来定义头部,然后与转换后的主体域连接起来。
- </P>
- <A NAME="settings-overview"></A>
- <H2>4.5. 设定</H2>
- <P>
- 设定(Settings)是特殊的配置选项,位于文档的设置域内,用以控制转换的过程。设定的语法如:
- </P>
- <PRE>
- $! 关键词 : 设定值
- </PRE>
- <P></P>
- <P>
- 以下是有效的关键词列表:
- </P>
- <TABLE ALIGN="center" BORDER="1">
- <TR>
- <TH>关键词</TH>
- <TH>描述</TH>
- </TR>
- <TR>
- <TD ALIGN="center">target</TD>
- <TD>设定缺省的目标文件格式。</TD>
- </TR>
- <TR>
- <TD ALIGN="center">options</TD>
- <TD>设定缺省的转换选项,格式与命令行选项相同。</TD>
- </TR>
- <TR>
- <TD ALIGN="center">style</TD>
- <TD>设定文档样式。主要用作为HTML/XHTML文档定义外联的CSS样式表,以及为LaTeX文档加载宏包。</TD>
- </TR>
- <TR>
- <TD ALIGN="center">encoding</TD>
- <TD>设定字符编码。当文档包含国际化字符和非ASCII字符时需要指定编码。</TD>
- </TR>
- <TR>
- <TD ALIGN="center">preproc</TD>
- <TD>输入文件处理。设定应用于源文件的主体域中的“查找/替换”规则。</TD>
- </TR>
- <TR>
- <TD ALIGN="center">postproc</TD>
- <TD>输出文件处理。设定应用与输出文件中的“查找/替换”规则。</TD>
- </TR>
- </TABLE>
- <P>
- 示例:
- </P>
- <PRE>
- %! Target : html
- %! Options : --toc --toc-level 3
- %! Style : fancy.css
- %! Encoding: iso-8859-1
- %! PreProc : "AMJ" "Aurelio Marinho Jargas"
- %! PostProc: '<BODY.*?>' '<BODY bgcolor="yellow">'
- </PRE>
- <P></P>
- <A NAME="cmd-options"></A>
- <H2>4.6. 命令行选项</H2>
- <P>
- 改变txt2tags默认行为最快捷的方式是使用命令行选项。顾名思义,这些选项只能应用于命令行方式,不适用于GUI和Web界面。
- </P>
- <P>
- 与其他工具一样,程序接受一串预定义的选项,每个选项都是由一个单连字符引导的字母,或者两个连续的连字符引导的一个或多个单词,比如 <CODE>-t</CODE> 和 <CODE>--target</CODE>。“target”选项是唯一的一个必须的选项,其他的都是可省略的选项。
- </P>
- <P>
- 常用的选项包括:<CODE>--outfile</CODE>,指定输出文件名;<CODE>--toc</CODE>,自动生成目录表;<CODE>--encoding</CODE>,设定文档的字符编码。大多数的选项可以通过前缀一个“<CODE>no-</CODE>”来关闭,比如:<CODE>--no-encoding</CODE> 和 <CODE>--no-toc</CODE>。
- </P>
- <P>
- 使用 <CODE>%!options</CODE> 的格式,你可以在源文件的设置域设定需要的选项,这样在命令行中就可以省略掉这些选项了。比如:<CODE>%!options: --toc -o mydoc.html</CODE>。目标文件格式的指定是个例外,它有自己的格式:<CODE>%!target: html</CODE>。
- </…
Large files files are truncated, but you can click here to view the full file