PageRenderTime 51ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/doc/Chinese/userguide-zh/userguide-zh.html

http://txt2tags.googlecode.com/
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

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <META NAME="generator" CONTENT="http://txt2tags.org">
  5. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
  6. <LINK REL="stylesheet" TYPE="text/css" HREF="userguide.css">
  7. <TITLE>Txt2tags用户指南</TITLE>
  8. </HEAD>
  9. <BODY>
  10. <DIV CLASS="header" ID="header">
  11. <H1>Txt2tags用户指南</H1>
  12. <H2><I>原著Aurelio Jargas &lt;verde (at) aurelio.net&gt;</I></H2>
  13. <H2>翻译Chris Leng &lt;rookie999.ly (at) gmail.com&gt;</H2>
  14. <H3>2009-03-24</H3>
  15. </DIV>
  16. <DIV CLASS="body" ID="body">
  17. <HR NOSHADE SIZE=5>
  18. <P></P>
  19. <DIV CLASS="toc" ID="toc">
  20. <UL>
  21. <LI><A HREF="#about">关于本文</A>
  22. <LI><A HREF="#chap1-intro">1. 第一部分 初识txt2tags</A>
  23. <UL>
  24. <LI><A HREF="#1st-question">1.1. 第一个可能的问题</A>
  25. <LI><A HREF="#formats">1.2. 支持的文档结构</A>
  26. <LI><A HREF="#targets">1.3. 支持的目标文件格式</A>
  27. <LI><A HREF="#struct-support">1.4. 目标文件结构支持一览</A>
  28. <LI><A HREF="#interfaces">1.5. 三种用户接口GUI网页和命令行</A>
  29. </UL>
  30. <LI><A HREF="#install">2. 第二部分 如何开始</A>
  31. <UL>
  32. <LI><A HREF="#download-python">2.1. 下载安装Python</A>
  33. <LI><A HREF="#download-txt2tags">2.2. 下载txt2tags</A>
  34. <LI><A HREF="#install-txt2tags">2.3. 安装txt2tags</A>
  35. <LI><A HREF="#toc12">2.4. 安装编辑器的语法高亮文件</A>
  36. </UL>
  37. <LI><A HREF="#your-1st-doc">3. 第三部分 第一个文档</A>
  38. <UL>
  39. <LI><A HREF="#toc14">3.1. 先利其器</A>
  40. <LI><A HREF="#toc15">3.2. 编写文档头部</A>
  41. <LI><A HREF="#toc16">3.3. 第一次转换图形界面操作</A>
  42. <LI><A HREF="#toc17">3.4. 第一次转换命令行方式</A>
  43. <LI><A HREF="#toc18">3.5. 查看结果</A>
  44. <LI><A HREF="#toc19">3.6. 编写文档体</A>
  45. </UL>
  46. <LI><A HREF="#concepts">4. 第四部分 掌握txt2tags的结构</A>
  47. <UL>
  48. <LI><A HREF="#areas">4.1. 文档的各个部分</A>
  49. <LI><A HREF="#headers-area">4.2. 头部域</A>
  50. <LI><A HREF="#config-area">4.3. 设置域</A>
  51. <LI><A HREF="#body-area">4.4. 主体域</A>
  52. <LI><A HREF="#settings-overview">4.5. 设定</A>
  53. <LI><A HREF="#cmd-options">4.6. 命令行选项</A>
  54. <LI><A HREF="#rc">4.7. 用户配置文件RC文件</A>
  55. <LI><A HREF="#config-loading">4.8. 配置的优先级和加载顺序</A>
  56. <LI><A HREF="#include">4.9. %!include 指令</A>
  57. <LI><A HREF="#includeconf">4.10. %!includeconf 指令</A>
  58. </UL>
  59. <LI><A HREF="#marks">5. 第五部分 掌握标记</A>
  60. <UL>
  61. <LI><A HREF="#mark-headers">5.1. 头部</A>
  62. <LI><A HREF="#mark-title">5.2. 标题与编号的标题</A>
  63. <LI><A HREF="#mark-par">5.3. 段落</A>
  64. <LI><A HREF="#mark-comment">5.4. 注释</A>
  65. <LI><A HREF="#mark-beautifiers">5.5. 粗体斜体下划线和删除线</A>
  66. <LI><A HREF="#mark-monospaced">5.6. 等宽字体</A>
  67. <LI><A HREF="#mark-verbatim">5.7. 完全引用行和完全引用域</A>
  68. <LI><A HREF="#mark-seperator">5.8. 隔离行和粗隔离行</A>
  69. <LI><A HREF="#mark-link">5.9. 链接和命名链接</A>
  70. <LI><A HREF="#mark-quote">5.10. 引用</A>
  71. <LI><A HREF="#mark-list">5.11. 列表编号列表和定义列表</A>
  72. <LI><A HREF="#mark-image">5.12. 图片</A>
  73. <LI><A HREF="#mark-table">5.13. 表格</A>
  74. <LI><A HREF="#mark-raw">5.14. 原始文原文行和原文域</A>
  75. </UL>
  76. <LI><A HREF="#macro">6. 第六部分 </A>
  77. <UL>
  78. <LI><A HREF="#macro-date">6.1. %%date</A>
  79. <LI><A HREF="#macro-mtime">6.2. %%mtime</A>
  80. <LI><A HREF="#macro-infile">6.3. %%infile</A>
  81. <LI><A HREF="#macro-outfile">6.4. %%outfile</A>
  82. <LI><A HREF="#macro-toc">6.5. %%toc</A>
  83. </UL>
  84. <LI><A HREF="#settings">7. 第七部分 设定</A>
  85. <UL>
  86. <LI><A HREF="#setting-target">7.1. %!Target</A>
  87. <LI><A HREF="#setting-options">7.2. %!Options</A>
  88. <LI><A HREF="#setting-encoding">7.3. %!Encoding</A>
  89. <LI><A HREF="#setting-preproc">7.4. %!PreProc</A>
  90. <LI><A HREF="#setting-postproc">7.5. %!PostProc</A>
  91. <LI><A HREF="#setting-style">7.6. %!Style</A>
  92. <LI><A HREF="#setting-specific">7.7. 针对特定的目标格式进行设定</A>
  93. <LI><A HREF="#setting-filter-details">7.8. 关于PreProc和PostProc过滤器的一些细节</A>
  94. </UL>
  95. <LI><A HREF="#black-magic">8. 第八部分 黑魔法</A>
  96. <UL>
  97. <LI><A HREF="#postproc-multiline">8.1. 使用%!PostProc插入多行文本比如CSS规则</A>
  98. <LI><A HREF="#preproc-specific">8.2. 使用%!PreProc创建特定目标类型的内容</A>
  99. <LI><A HREF="#creating-marks">8.3. 使用%!PreProc改变txt2tags标记</A>
  100. </UL>
  101. <LI><A HREF="#history">9. 第九部分 软件历史</A>
  102. <UL>
  103. <LI><A HREF="#toc66">9.1. 1999年1月史前历史</A>
  104. <LI><A HREF="#toc67">9.2. 1999年6月依然是史前历史</A>
  105. <LI><A HREF="#toc68">9.3. 2000年8月不再是史前历史了</A>
  106. <LI><A HREF="#toc69">9.4. 2001年5月Python化和多目标格式的想法</A>
  107. <LI><A HREF="#toc70">9.5. 2001年7月0.x系列txt2tags的处女秀公开发布</A>
  108. <LI><A HREF="#toc71">9.6. 2002年9月1.x系列成长</A>
  109. <LI><A HREF="#toc72">9.7. 2004月7月2.x系列成熟</A>
  110. </UL>
  111. </UL>
  112. </DIV>
  113. <P></P>
  114. <HR NOSHADE SIZE=5>
  115. <P></P>
  116. <A NAME="about"></A>
  117. <H1>关于本文</H1>
  118. <P>
  119. 本文根据<A HREF="http://txt2tags.org/">txt2tags</A>当前版本为2.5<B>用户指南</B>英文版翻译而来读者可通过以下途径获得用户指南的英文原版
  120. </P>
  121. <UL>
  122. <LI>用户指南官方网址<A HREF="http://txt2tags.org/userguide">http://txt2tags.org/userguide</A>
  123. <LI>用户指南的PDF版本<A HREF="http://txt2tags.org/userguide/userguide.pdf">http://txt2tags.org/userguide/userguide.pdf</A>
  124. </UL>
  125. <P>
  126. 本译文依照<A HREF="http://creativecommons.org/licenses/by-nc-sa/3.0">创作共用约定署名-非商业性使用-相同方式共享3.0</A>发布
  127. </P>
  128. <HR NOSHADE SIZE=5>
  129. <P></P>
  130. <A NAME="chap1-intro"></A>
  131. <H1>1. 第一部分 初识txt2tags</H1>
  132. <P>
  133. 本章为概述介绍txt2tags程序的用途和特色
  134. </P>
  135. <A NAME="1st-question"></A>
  136. <H2>1.1. 第一个可能的问题</H2>
  137. <H3>1.1.1. txt2tags是什么</H3>
  138. <P>
  139. txt2tags是一个文本格式化和转换工具能够将带有特定标记的纯文本文件转换为支持的任意一种目标格式包括
  140. </P>
  141. <UL>
  142. <LI>HTML文档
  143. <LI>XHTML文档
  144. <LI>SGML文档
  145. <LI>LaTeX源文件
  146. <LI>Unix手册页man page
  147. <LI>MagicPoint演示文稿
  148. <LI>Wikipedia维基百科页面
  149. <LI>Google Wiki 页面
  150. <LI>DokuWiki页面
  151. <LI>MoinMoin页面
  152. <LI>PageMaker 6.0 文档
  153. <LI>纯文本文件
  154. </UL>
  155. <H3>1.1.2. 为什么使用txt2tags</H3>
  156. <P>
  157. 你会发现txt2tags十分有用如果你
  158. </P>
  159. <UL>
  160. <LI>需要将文档以不同格式发布
  161. <LI>需要以不同格式维护文档的更新
  162. <LI>撰写技术文档或者手册
  163. <LI>需要用你不熟悉的某种格式撰写文档
  164. <LI>对于某种文档格式缺少一个专门的编辑器
  165. <LI>想用一个简单的文本编辑器维护和更新你的文档
  166. </UL>
  167. <P>
  168. 而最大的诱人之处在于
  169. </P>
  170. <UL>
  171. <LI>节省时间专注于 <B>内容</B>抛开 <B>格式</B>
  172. </UL>
  173. <H3>1.1.3. 相较于其他工具txt2tags有哪些优点</H3>
  174. <TABLE>
  175. <TR>
  176. <TD><B>源文件可读性好</B></TD>
  177. <TD>txt2tags的标记非常简单使得源文件几乎是自然语言</TD>
  178. </TR>
  179. <TR>
  180. <TD><B>目标文件可读性好</B></TD>
  181. <TD>与源文件一样生成的目标文件带有缩进和较短的行长度可读性好</TD>
  182. </TR>
  183. <TR>
  184. <TD><B>一致的标记</B></TD>
  185. <TD>txt2tags的标记是独特的足以适应各种文档而不至于与文档内容产生混淆</TD>
  186. </TR>
  187. <TR>
  188. <TD><B>一致的规则</B></TD>
  189. <TD>每种标记与其对应的规则是一一对应的不存在例外特殊情形</TD>
  190. </TR>
  191. <TR>
  192. <TD><B>结构简单</B></TD>
  193. <TD>所有支持的格式都是<B>简单的</B>不带有附加选项或者复杂的修饰标记只是标记而已没有任何选项</TD>
  194. </TR>
  195. <TR>
  196. <TD><B>易于学习</B></TD>
  197. <TD>由于简单的标记和可读的源文件txt2tags的学习曲线非常的用户友好</TD>
  198. </TR>
  199. <TR>
  200. <TD><B>漂亮的示例</B></TD>
  201. <TD>无论用txt2tags编写简单还是复杂的文档包含在软件包中的<B>示例文件</B>都给出了生动实用的例子</TD>
  202. </TR>
  203. <TR>
  204. <TD><B>有用的工具</B></TD>
  205. <TD>包含于软件包中的<B>语法规则文件</B>帮助你写出没有语法错误的文档适用于vim, emacs, nano和kate</TD>
  206. </TR>
  207. <TR>
  208. <TD><B>三种用户接口</B></TD>
  209. <TD><I>Tk</I>编写的<B>图形接口</B>可供远程和内部网使用的<B>网页接口</B>以及共高级用户和脚本使用的<B>命令行接口</B></TD>
  210. </TR>
  211. <TR>
  212. <TD><B>脚本</B></TD>
  213. <TD>有经验的用户能够通过完全的命令行模式进行<B>自动任务</B>以及对转换后的文件进行<B>后编辑</B></TD>
  214. </TR>
  215. <TR>
  216. <TD><B>下载运行和跨平台</B></TD>
  217. <TD>txt2tags只是一个简单的<B>Python 脚本</B>毋需编译或下载额外的模块因此在各种*NIXLinuxWindows和Macintosh主机上均能完美运行</TD>
  218. </TR>
  219. <TR>
  220. <TD><B>时常更新</B></TD>
  221. <TD>活跃的邮件列表有用户提供修正和改进作者本人在工作和业余也在使用txt2tags因此开发不会无故终止</TD>
  222. </TR>
  223. </TABLE>
  224. <H3>1.1.4. 我需要为此付费吗</H3>
  225. <TABLE ALIGN="center" BORDER="1">
  226. <TR>
  227. <TH>当然不需要</TH>
  228. </TR>
  229. </TABLE>
  230. <P>
  231. txt2tags在GPL许可证下发布并且完全免费
  232. </P>
  233. <A NAME="formats"></A>
  234. <H2>1.2. 支持的文档结构</H2>
  235. <P>
  236. 以下列出了txt2tags支持的文档结构
  237. </P>
  238. <UL>
  239. <LI>头部文档标题作者日期
  240. <LI>章节标题带有/不带编号
  241. <LI>段落
  242. <LI>字体美化
  243. <UL>
  244. <LI>粗体
  245. <LI>斜体
  246. <LI>下划线
  247. <LI>删除线
  248. </UL>
  249. <LI>等宽字体完全引用
  250. <UL>
  251. <LI>段落内的等宽字体
  252. <LI>等宽的行
  253. <LI>等宽的区域多行
  254. </UL>
  255. <LI>引用
  256. <LI>链接
  257. <UL>
  258. <LI>URL/Internet链接
  259. <LI>e-mail链接
  260. <LI>本地链接
  261. <LI>命名的链接
  262. </UL>
  263. <LI>列表
  264. <UL>
  265. <LI>以符号引导的列表
  266. <LI>编号的列表
  267. <LI>定义列表
  268. </UL>
  269. <LI>水平分隔线
  270. <LI>图片智能对齐
  271. <LI>表格/不带边框智能对齐列贯穿
  272. <LI>针对原文域的特殊标记不解析
  273. <LI>对当前日期的特殊宏定义能灵活的改变格式
  274. <LI>注释作者备注TODOFIXME
  275. </UL>
  276. <A NAME="targets"></A>
  277. <H2>1.3. 支持的目标文件格式</H2>
  278. <DL>
  279. <DT><B>HTML</B></DT><DD>
  280. HTML是众所周知的格式提示Internet
  281. <P></P>
  282. Txt2tags能生成干净漂亮源文件可读的HTML文档不使用JavaScript框架或是其他无效的简洁的技术文档所不需要的格式化技术但是可以使用独立的CSS文件txt2tags生成的代码符合<I>HTML 4.0 Transitional</I>标准
  283. <P></P>
  284. 自2.0版起txt2tags生成的HTML代码100%通过<A HREF="validator.w3.org">w3c validator</A>的校验
  285. <P></P>
  286. <DT><B>XHTML</B></DT><DD>
  287. 新一代的HTML具有更严格的语法所有的标记都必须闭合这使得代码更易理解和解析大体上来说可以将其看做HTMLTxt2tags生成的代码符合<I>XHTML 1.0 Transitional</I>标准
  288. <P></P>
  289. 自2.0版起txt2tags生成的XHTML代码100%通过<A HREF="validator.w3.org">w3c validator</A>的校验
  290. <P></P>
  291. <DT><B>SGML</B></DT><DD>
  292. 格式转换软件<A HREF="http://www.sgmltools.org">SGML工具</A>的通用格式单一的SGML文件能转换为HTMLPDFPSinfoLaTeXLyxrtf以及XML格式的文档SGML2* 工具还能自动生成目录表以及按照章节将文件分割为子页sgml2html
  293. <P></P>
  294. Txt2tags生成的SGML文件为Linux系统文档格式通过SGML2*工具能够直接转换而毋需任何额外的目录文件或是SGML那些恼人的要求
  295. <P></P>
  296. <DT><B>LATEX</B></DT><DD>
  297. 超出你想象的强大格式学术论文的通用格式用它能生成整本的书复杂的公式以及任何复杂的文字格式然而如果你打算手写那些标记就准备掉头发吧
  298. <P></P>
  299. Txt2tags将为你处理所有的细节和例外情形完成能够直接使用的LaTeX文档你只需考虑文字内容
  300. <P></P>
  301. <DT><B>LOUT</B></DT><DD>
  302. 与LaTeX非常相似但是以@代替\作为命令引导符同时尽量避免使用括号一切皆对象的处理方式使得标记更加健壮
  303. <P></P>
  304. Txt2tags能生成可以直接使用的文件通过lout命令即可转换为PDF或PS文件
  305. <P></P>
  306. <DT><B>MAN</B></DT><DD>
  307. UNIX手册页
  308. <P></P>
  309. 文档格式产生消亡来来去去UNIX手册页却存活多年始终坚挺
  310. <P></P>
  311. 有各种工具可以生成手册页文档但是txt2tags自有其优势一个源文件多种产出物因此手册页的内容还能转换为HTMLMagicPoint演示文稿等等
  312. <P></P>
  313. <DT><B>MGP</B></DT><DD>
  314. <A HREF="http://www.mew.org/mgp">MagicPoint</A>是一个非常方便的幻灯片工具就如同Microsoft PowerPoint它使用标记语言来定义每一屏显示因此你可以使用 vi/emacs/记事本 这样的文本编辑器来完成复杂的幻灯片
  315. <P></P>
  316. Txt2tags为你完成所有被ISO-8859标准所支持的字体和外观的定义生成的.mgp文件能够直接使用
  317. <P></P>
  318. <B>HOTSPOT 1:</B> txt2tags在生成的.mgp文件中使用XFree86 Type1字体因此你的幻灯片毋需额外配合TrueType字体
  319. <P></P>
  320. <B>HOTSPOT 2:</B> 字体颜色的定义简洁即使在只有简陋调色板的系统中比如<CODE>startx -- -bpp 8</CODE>幻灯片依然美观
  321. <P></P>
  322. 你需要做的只是转换然后使用毋需任何修复或是其他额外的工作
  323. <P></P>
  324. <DT><B>WIKI</B></DT><DD>
  325. 想必你一定听说过<A HREF="wikipedia.org">维基百科(Wikipedia)</A>现在你不必另外学习一种新的标记语法txt2tags将为你把标记文本转换为维基百科的格式
  326. <P></P>
  327. <DT><B>GWIKI</B></DT><DD>
  328. 使你能轻松的将项目文档粘贴到<A HREF="code.google.com">Google Code</A> Wiki
  329. <P></P>
  330. <DT><B>DOKU</B></DT><DD>
  331. <A HREF="http://wiki.splitbrain.org/wiki:dokuwiki">DokuWiki</A>是一种遵从标准并且易于使用的Wiki被设计来创建各种类型的文档其目标群体包括开发团队工作组以及小型公司其语法简洁而强大确保数据文件脱离Wiki仍然保有可读性同时简化结构化文本的创建所有的数据都以纯文本文件格式存储毋需数据库
  332. <P></P>
  333. <DT><B>MOIN</B></DT><DD>
  334. <A HREF="moinmo.in">MoinMoin</A>是什么它是一种<A HREF="http://www.c2.com/cgi/wiki">WikiWiki</A>
  335. <P></P>
  336. Moin的语法是有些乏味儿的你必须不断的<CODE>{{{'''''adding braces and quotes'''''}}}</CODE>Txt2tags为你带来简单的标记和统一的解决方案一个源文件多种产出物
  337. <P></P>
  338. <DT><B>PM6</B></DT><DD>
  339. 我估猜你不会知道这是 Adobe PageMaker 6.0 独有的标记语言它包含了样式颜色表美化以及绝大部分PageMaker中的鼠标点击特性你可以通过Import Tagged text菜单项来使用它从记录上来看它具有类HTML的标记格式
  340. <P></P>
  341. Txt2tags能生成所有的标记并且定义好丰富而有效的导言以设置段落样式和格式这个部分通常是让人头疼的<B>特别提醒</B>不能有断行每个段落必须是单独一行
  342. <P></P>
  343. 作者按<I>笔者的<A HREF="http://guia-er.sf.net">regular expression's book</A>》这本书的葡萄牙语版就是用VI编辑,再用txt2tags转换为PageMaker格式然后付印的。</I>)
  344. <P></P>
  345. <DT><B>TXT</B></DT><DD>
  346. 纯文本唯一的真实格式
  347. <P></P>
  348. 尽管txt2tags的标记非常直观而且不显眼你仍然可以选择移除它们只需将文件转换为纯文本即可
  349. <P></P>
  350. 在源文件中标题添加下划线而文本则是左对齐的
  351. </DL>
  352. <A NAME="struct-support"></A>
  353. <H2>1.4. 目标文件结构支持一览</H2>
  354. <TABLE ALIGN="center" BORDER="1">
  355. <TR>
  356. <TH>结构</TH>
  357. <TH>html</TH>
  358. <TH>xhtml</TH>
  359. <TH>sgml</TH>
  360. <TH>tex</TH>
  361. <TH>lout</TH>
  362. <TH>man</TH>
  363. <TH>mgp</TH>
  364. <TH>wiki</TH>
  365. <TH>gwiki</TH>
  366. <TH>doku</TH>
  367. <TH>moin</TH>
  368. <TH>pm6</TH>
  369. <TH>txt</TH>
  370. </TR>
  371. <TR>
  372. <TD>头部</TD>
  373. <TD ALIGN="center">Y</TD>
  374. <TD ALIGN="center">Y</TD>
  375. <TD ALIGN="center">Y</TD>
  376. <TD ALIGN="center">Y</TD>
  377. <TD ALIGN="center">Y</TD>
  378. <TD ALIGN="center">Y</TD>
  379. <TD ALIGN="center">Y</TD>
  380. <TD ALIGN="center">-</TD>
  381. <TD ALIGN="center">-</TD>
  382. <TD ALIGN="center">-</TD>
  383. <TD ALIGN="center">-</TD>
  384. <TD ALIGN="center">N</TD>
  385. <TD ALIGN="center">Y</TD>
  386. </TR>
  387. <TR>
  388. <TD>章节标题</TD>
  389. <TD ALIGN="center">Y</TD>
  390. <TD ALIGN="center">Y</TD>
  391. <TD ALIGN="center">Y</TD>
  392. <TD ALIGN="center">Y</TD>
  393. <TD ALIGN="center">Y</TD>
  394. <TD ALIGN="center">Y</TD>
  395. <TD ALIGN="center">Y</TD>
  396. <TD ALIGN="center">Y</TD>
  397. <TD ALIGN="center">Y</TD>
  398. <TD ALIGN="center">Y</TD>
  399. <TD ALIGN="center">Y</TD>
  400. <TD ALIGN="center">Y</TD>
  401. <TD ALIGN="center">Y</TD>
  402. </TR>
  403. <TR>
  404. <TD>段落</TD>
  405. <TD ALIGN="center">Y</TD>
  406. <TD ALIGN="center">Y</TD>
  407. <TD ALIGN="center">Y</TD>
  408. <TD ALIGN="center">Y</TD>
  409. <TD ALIGN="center">Y</TD>
  410. <TD ALIGN="center">Y</TD>
  411. <TD ALIGN="center">Y</TD>
  412. <TD ALIGN="center">Y</TD>
  413. <TD ALIGN="center">Y</TD>
  414. <TD ALIGN="center">Y</TD>
  415. <TD ALIGN="center">Y</TD>
  416. <TD ALIGN="center">Y</TD>
  417. <TD ALIGN="center">Y</TD>
  418. </TR>
  419. <TR>
  420. <TD>粗体字</TD>
  421. <TD ALIGN="center">Y</TD>
  422. <TD ALIGN="center">Y</TD>
  423. <TD ALIGN="center">Y</TD>
  424. <TD ALIGN="center">Y</TD>
  425. <TD ALIGN="center">Y</TD>
  426. <TD ALIGN="center">Y</TD>
  427. <TD ALIGN="center">Y</TD>
  428. <TD ALIGN="center">Y</TD>
  429. <TD ALIGN="center">Y</TD>
  430. <TD ALIGN="center">Y</TD>
  431. <TD ALIGN="center">Y</TD>
  432. <TD ALIGN="center">Y</TD>
  433. <TD ALIGN="center">-</TD>
  434. </TR>
  435. <TR>
  436. <TD>斜体字</TD>
  437. <TD ALIGN="center">Y</TD>
  438. <TD ALIGN="center">Y</TD>
  439. <TD ALIGN="center">Y</TD>
  440. <TD ALIGN="center">Y</TD>
  441. <TD ALIGN="center">Y</TD>
  442. <TD ALIGN="center">Y</TD>
  443. <TD ALIGN="center">Y</TD>
  444. <TD ALIGN="center">Y</TD>
  445. <TD ALIGN="center">Y</TD>
  446. <TD ALIGN="center">Y</TD>
  447. <TD ALIGN="center">Y</TD>
  448. <TD ALIGN="center">Y</TD>
  449. <TD ALIGN="center">-</TD>
  450. </TR>
  451. <TR>
  452. <TD>下划线字体</TD>
  453. <TD ALIGN="center">Y</TD>
  454. <TD ALIGN="center">Y</TD>
  455. <TD ALIGN="center">-</TD>
  456. <TD ALIGN="center">Y</TD>
  457. <TD ALIGN="center">Y</TD>
  458. <TD ALIGN="center">-</TD>
  459. <TD ALIGN="center">Y</TD>
  460. <TD ALIGN="center">Y</TD>
  461. <TD ALIGN="center">-</TD>
  462. <TD ALIGN="center">Y</TD>
  463. <TD ALIGN="center">Y</TD>
  464. <TD ALIGN="center">Y</TD>
  465. <TD ALIGN="center">-</TD>
  466. </TR>
  467. <TR>
  468. <TD>删除线字体</TD>
  469. <TD ALIGN="center">Y</TD>
  470. <TD ALIGN="center">Y</TD>
  471. <TD ALIGN="center">N</TD>
  472. <TD ALIGN="center">Y</TD>
  473. <TD ALIGN="center">-</TD>
  474. <TD ALIGN="center">-</TD>
  475. <TD ALIGN="center">-</TD>
  476. <TD ALIGN="center">Y</TD>
  477. <TD ALIGN="center">Y</TD>
  478. <TD ALIGN="center">Y</TD>
  479. <TD ALIGN="center">Y</TD>
  480. <TD ALIGN="center">N</TD>
  481. <TD ALIGN="center">-</TD>
  482. </TR>
  483. <TR>
  484. <TD>等宽字体</TD>
  485. <TD ALIGN="center">Y</TD>
  486. <TD ALIGN="center">Y</TD>
  487. <TD ALIGN="center">Y</TD>
  488. <TD ALIGN="center">Y</TD>
  489. <TD ALIGN="center">Y</TD>
  490. <TD ALIGN="center">-</TD>
  491. <TD ALIGN="center">Y</TD>
  492. <TD ALIGN="center">Y</TD>
  493. <TD ALIGN="center">Y</TD>
  494. <TD ALIGN="center">Y</TD>
  495. <TD ALIGN="center">Y</TD>
  496. <TD ALIGN="center">Y</TD>
  497. <TD ALIGN="center">-</TD>
  498. </TR>
  499. <TR>
  500. <TD>未格式化行</TD>
  501. <TD ALIGN="center">Y</TD>
  502. <TD ALIGN="center">Y</TD>
  503. <TD ALIGN="center">Y</TD>
  504. <TD ALIGN="center">Y</TD>
  505. <TD ALIGN="center">Y</TD>
  506. <TD ALIGN="center">Y</TD>
  507. <TD ALIGN="center">Y</TD>
  508. <TD ALIGN="center">Y</TD>
  509. <TD ALIGN="center">Y</TD>
  510. <TD ALIGN="center">Y</TD>
  511. <TD ALIGN="center">Y</TD>
  512. <TD ALIGN="center">Y</TD>
  513. <TD ALIGN="center">-</TD>
  514. </TR>
  515. <TR>
  516. <TD>未格式化区域</TD>
  517. <TD ALIGN="center">Y</TD>
  518. <TD ALIGN="center">Y</TD>
  519. <TD ALIGN="center">Y</TD>
  520. <TD ALIGN="center">Y</TD>
  521. <TD ALIGN="center">Y</TD>
  522. <TD ALIGN="center">Y</TD>
  523. <TD ALIGN="center">Y</TD>
  524. <TD ALIGN="center">Y</TD>
  525. <TD ALIGN="center">Y</TD>
  526. <TD ALIGN="center">Y</TD>
  527. <TD ALIGN="center">Y</TD>
  528. <TD ALIGN="center">Y</TD>
  529. <TD ALIGN="center">-</TD>
  530. </TR>
  531. <TR>
  532. <TD>引用区域</TD>
  533. <TD ALIGN="center">Y</TD>
  534. <TD ALIGN="center">Y</TD>
  535. <TD ALIGN="center">Y</TD>
  536. <TD ALIGN="center">Y</TD>
  537. <TD ALIGN="center">Y</TD>
  538. <TD ALIGN="center">Y</TD>
  539. <TD ALIGN="center">Y</TD>
  540. <TD ALIGN="center">Y</TD>
  541. <TD ALIGN="center">Y</TD>
  542. <TD ALIGN="center">Y</TD>
  543. <TD ALIGN="center">Y</TD>
  544. <TD ALIGN="center">Y</TD>
  545. <TD ALIGN="center">Y</TD>
  546. </TR>
  547. <TR>
  548. <TD>超链接</TD>
  549. <TD ALIGN="center">Y</TD>
  550. <TD ALIGN="center">Y</TD>
  551. <TD ALIGN="center">Y</TD>
  552. <TD ALIGN="center">-</TD>
  553. <TD ALIGN="center">-</TD>
  554. <TD ALIGN="center">-</TD>
  555. <TD ALIGN="center">-</TD>
  556. <TD ALIGN="center">Y</TD>
  557. <TD ALIGN="center">Y</TD>
  558. <TD ALIGN="center">Y</TD>
  559. <TD ALIGN="center">Y</TD>
  560. <TD ALIGN="center">-</TD>
  561. <TD ALIGN="center">-</TD>
  562. </TR>
  563. <TR>
  564. <TD>e-mail链接</TD>
  565. <TD ALIGN="center">Y</TD>
  566. <TD ALIGN="center">Y</TD>
  567. <TD ALIGN="center">Y</TD>
  568. <TD ALIGN="center">-</TD>
  569. <TD ALIGN="center">-</TD>
  570. <TD ALIGN="center">-</TD>
  571. <TD ALIGN="center">-</TD>
  572. <TD ALIGN="center">Y</TD>
  573. <TD ALIGN="center">Y</TD>
  574. <TD ALIGN="center">Y</TD>
  575. <TD ALIGN="center">Y</TD>
  576. <TD ALIGN="center">-</TD>
  577. <TD ALIGN="center">-</TD>
  578. </TR>
  579. <TR>
  580. <TD>本机链接</TD>
  581. <TD ALIGN="center">Y</TD>
  582. <TD ALIGN="center">Y</TD>
  583. <TD ALIGN="center">Y</TD>
  584. <TD ALIGN="center">N</TD>
  585. <TD ALIGN="center">N</TD>
  586. <TD ALIGN="center">-</TD>
  587. <TD ALIGN="center">-</TD>
  588. <TD ALIGN="center">N</TD>
  589. <TD ALIGN="center">N</TD>
  590. <TD ALIGN="center">Y</TD>
  591. <TD ALIGN="center">Y</TD>
  592. <TD ALIGN="center">-</TD>
  593. <TD ALIGN="center">-</TD>
  594. </TR>
  595. <TR>
  596. <TD>命名链接</TD>
  597. <TD ALIGN="center">Y</TD>
  598. <TD ALIGN="center">Y</TD>
  599. <TD ALIGN="center">Y</TD>
  600. <TD ALIGN="center">-</TD>
  601. <TD ALIGN="center">-</TD>
  602. <TD ALIGN="center">-</TD>
  603. <TD ALIGN="center">-</TD>
  604. <TD ALIGN="center">Y</TD>
  605. <TD ALIGN="center">Y</TD>
  606. <TD ALIGN="center">Y</TD>
  607. <TD ALIGN="center">Y</TD>
  608. <TD ALIGN="center">-</TD>
  609. <TD ALIGN="center">-</TD>
  610. </TR>
  611. <TR>
  612. <TD>列表</TD>
  613. <TD ALIGN="center">Y</TD>
  614. <TD ALIGN="center">Y</TD>
  615. <TD ALIGN="center">Y</TD>
  616. <TD ALIGN="center">Y</TD>
  617. <TD ALIGN="center">Y</TD>
  618. <TD ALIGN="center">Y</TD>
  619. <TD ALIGN="center">Y</TD>
  620. <TD ALIGN="center">Y</TD>
  621. <TD ALIGN="center">Y</TD>
  622. <TD ALIGN="center">Y</TD>
  623. <TD ALIGN="center">Y</TD>
  624. <TD ALIGN="center">Y</TD>
  625. <TD ALIGN="center">Y</TD>
  626. </TR>
  627. <TR>
  628. <TD>计数列表</TD>
  629. <TD ALIGN="center">Y</TD>
  630. <TD ALIGN="center">Y</TD>
  631. <TD ALIGN="center">Y</TD>
  632. <TD ALIGN="center">Y</TD>
  633. <TD ALIGN="center">Y</TD>
  634. <TD ALIGN="center">Y</TD>
  635. <TD ALIGN="center">Y</TD>
  636. <TD ALIGN="center">Y</TD>
  637. <TD ALIGN="center">Y</TD>
  638. <TD ALIGN="center">Y</TD>
  639. <TD ALIGN="center">Y</TD>
  640. <TD ALIGN="center">Y</TD>
  641. <TD ALIGN="center">Y</TD>
  642. </TR>
  643. <TR>
  644. <TD>定义列表</TD>
  645. <TD ALIGN="center">Y</TD>
  646. <TD ALIGN="center">Y</TD>
  647. <TD ALIGN="center">Y</TD>
  648. <TD ALIGN="center">Y</TD>
  649. <TD ALIGN="center">Y</TD>
  650. <TD ALIGN="center">Y</TD>
  651. <TD ALIGN="center">N</TD>
  652. <TD ALIGN="center">Y</TD>
  653. <TD ALIGN="center">-</TD>
  654. <TD ALIGN="center">-</TD>
  655. <TD ALIGN="center">Y</TD>
  656. <TD ALIGN="center">N</TD>
  657. <TD ALIGN="center">Y</TD>
  658. </TR>
  659. <TR>
  660. <TD>水平线</TD>
  661. <TD ALIGN="center">Y</TD>
  662. <TD ALIGN="center">Y</TD>
  663. <TD ALIGN="center">-</TD>
  664. <TD ALIGN="center">Y</TD>
  665. <TD ALIGN="center">Y</TD>
  666. <TD ALIGN="center">-</TD>
  667. <TD ALIGN="center">Y</TD>
  668. <TD ALIGN="center">Y</TD>
  669. <TD ALIGN="center">-</TD>
  670. <TD ALIGN="center">Y</TD>
  671. <TD ALIGN="center">Y</TD>
  672. <TD ALIGN="center">N</TD>
  673. <TD ALIGN="center">Y</TD>
  674. </TR>
  675. <TR>
  676. <TD>图片</TD>
  677. <TD ALIGN="center">Y</TD>
  678. <TD ALIGN="center">Y</TD>
  679. <TD ALIGN="center">Y</TD>
  680. <TD ALIGN="center">Y</TD>
  681. <TD ALIGN="center">Y</TD>
  682. <TD ALIGN="center">-</TD>
  683. <TD ALIGN="center">Y</TD>
  684. <TD ALIGN="center">Y</TD>
  685. <TD ALIGN="center">Y</TD>
  686. <TD ALIGN="center">Y</TD>
  687. <TD ALIGN="center">Y</TD>
  688. <TD ALIGN="center">N</TD>
  689. <TD ALIGN="center">-</TD>
  690. </TR>
  691. <TR>
  692. <TD>表格</TD>
  693. <TD ALIGN="center">Y</TD>
  694. <TD ALIGN="center">Y</TD>
  695. <TD ALIGN="center">Y</TD>
  696. <TD ALIGN="center">Y</TD>
  697. <TD ALIGN="center">N</TD>
  698. <TD ALIGN="center">Y</TD>
  699. <TD ALIGN="center">N</TD>
  700. <TD ALIGN="center">Y</TD>
  701. <TD ALIGN="center">Y</TD>
  702. <TD ALIGN="center">Y</TD>
  703. <TD ALIGN="center">Y</TD>
  704. <TD ALIGN="center">N</TD>
  705. <TD ALIGN="center">N</TD>
  706. </TR>
  707. <TR>
  708. <TH>附加结构</TH>
  709. <TH>html</TH>
  710. <TH>xhtml</TH>
  711. <TH>sgml</TH>
  712. <TH>tex</TH>
  713. <TH>lout</TH>
  714. <TH>man</TH>
  715. <TH>mgp</TH>
  716. <TH>wiki</TH>
  717. <TH>gwiki</TH>
  718. <TH>doku</TH>
  719. <TH>moin</TH>
  720. <TH>pm6</TH>
  721. <TH>txt</TH>
  722. </TR>
  723. <TR>
  724. <TD>图片对齐</TD>
  725. <TD ALIGN="center">Y</TD>
  726. <TD ALIGN="center">Y</TD>
  727. <TD ALIGN="center">N</TD>
  728. <TD ALIGN="center">N</TD>
  729. <TD ALIGN="center">Y</TD>
  730. <TD ALIGN="center">-</TD>
  731. <TD ALIGN="center">Y</TD>
  732. <TD ALIGN="center">Y</TD>
  733. <TD ALIGN="center">-</TD>
  734. <TD ALIGN="center">Y</TD>
  735. <TD ALIGN="center">N</TD>
  736. <TD ALIGN="center">N</TD>
  737. <TD ALIGN="center">-</TD>
  738. </TR>
  739. <TR>
  740. <TD>单元格对齐</TD>
  741. <TD ALIGN="center">Y</TD>
  742. <TD ALIGN="center">Y</TD>
  743. <TD ALIGN="center">Y</TD>
  744. <TD ALIGN="center">Y</TD>
  745. <TD ALIGN="center">N</TD>
  746. <TD ALIGN="center">Y</TD>
  747. <TD ALIGN="center">N</TD>
  748. <TD ALIGN="center">N</TD>
  749. <TD ALIGN="center">-</TD>
  750. <TD ALIGN="center">-</TD>
  751. <TD ALIGN="center">Y</TD>
  752. <TD ALIGN="center">N</TD>
  753. <TD ALIGN="center">N</TD>
  754. </TR>
  755. <TR>
  756. <TD>跨列单元格</TD>
  757. <TD ALIGN="center">Y</TD>
  758. <TD ALIGN="center">Y</TD>
  759. <TD ALIGN="center">N</TD>
  760. <TD ALIGN="center">N</TD>
  761. <TD ALIGN="center">N</TD>
  762. <TD ALIGN="center">N</TD>
  763. <TD ALIGN="center">N</TD>
  764. <TD ALIGN="center">N</TD>
  765. <TD ALIGN="center">-</TD>
  766. <TD ALIGN="center">-</TD>
  767. <TD ALIGN="center">N</TD>
  768. <TD ALIGN="center">N</TD>
  769. <TD ALIGN="center">N</TD>
  770. </TR>
  771. </TABLE>
  772. <TABLE ALIGN="center">
  773. <TR>
  774. <TH></TH>
  775. <TH>图例</TH>
  776. </TR>
  777. <TR>
  778. <TD><B>Y</B></TD>
  779. <TD>支持</TD>
  780. </TR>
  781. <TR>
  782. <TD><B>N</B></TD>
  783. <TD>不支持后续版本可能会支持</TD>
  784. </TR>
  785. <TR>
  786. <TD><B>-</B></TD>
  787. <TD>不支持在该目标格式中不存在</TD>
  788. </TR>
  789. </TABLE>
  790. <A NAME="interfaces"></A>
  791. <H2>1.5. 三种用户接口GUI网页和命令行</H2>
  792. <P>
  793. 不同用户的需求和使用环境不同txt2tags相应的也具有灵活的执行方式
  794. </P>
  795. <P>
  796. 程序有三种用户接口每一种各有其目标和特性
  797. </P>
  798. <UL>
  799. <LI><B>图形用户接口GUI</B>使用Tk写成支持窗口环境和鼠标点击
  800. <LI><B>网页</B>使用PHP开发支持通过浏览器运行txt2tags而毋需安装任何客户端程序
  801. <LI><B>命令行</B>程序的核心使用Python开发所有的特性都包含于命令行选项之中
  802. </UL>
  803. <A NAME="tk-interface"></A>
  804. <H3>1.5.1. 基于Tk的图形用户接口</H3>
  805. <P>
  806. 自1.0版本开始txt2tags就有一个能工作于LinuxWindowsMac以及其他操作系统之上的图形用户接口
  807. </P>
  808. <P>
  809. 程序能自动检测你的系统能否显示图形如果可以则不带任何参数的命令调用时运行图形接口你也可以通过命令行参数 <CODE>--gui</CODE> 强制运行图形接口当某些资源缺失时程序给出错误信息
  810. </P>
  811. <BLOCKQUOTE>
  812. 提示Tkinter是必须的因为Python的标准发布总是包含它实际上
  813. 你的系统中应该已经有了
  814. </BLOCKQUOTE>
  815. <P></P>
  816. <P>
  817. 图形界面的使用相当的简洁和直观
  818. </P>
  819. <center><IMG ALIGN="middle" SRC="./img/gui.png" BORDER="0" ALT=""></center>
  820. <OL>
  821. <LI>加载本机的.t2t文件其内部定义的选项将自动识别
  822. <LI>如果目标格式为空必须在此处指定
  823. <LI>此外还有一些选项可以附加选择但并非必须
  824. <LI>最后点击Convert!按钮
  825. <P></P>
  826. 一个有用的选项是<I>Dump to screen</I>输出结果不会写到文件而是显示于屏幕上以便检查确认无误之后再输出到文件存储
  827. <P></P>
  828. 界面的默认颜色可以通过修改 <CODE>~/.txt2tagsrc</CODE> 文件的 <CODE>%!guicolors</CODE> 设定来更改比如
  829. <P></P>
  830. <PRE>
  831. % set my own colors for the graphical interface (bg1, fg1, bg2, fg2)
  832. %!guicolors: blue white brown yellow
  833. </PRE>
  834. </OL>
  835. <H3>1.5.2. 在线方式</H3>
  836. <P>
  837. 基于Web的界面可以通过互联网地址<A HREF="http://txt2tags.org/online.php">http://txt2tags.org/online.php</A>来访问,你可以在下载之前先试用txt2tags。
  838. </P>
  839. <center><IMG ALIGN="middle" SRC="./img/web.png" BORDER="0" ALT=""></center>
  840. <P>
  841. Web接口也可以部署于本地局域网intranet免去在每台机器上安装txt2tags的麻烦
  842. </P>
  843. <H3>1.5.3. 命令行</H3>
  844. <P>
  845. 对于有经验的命令行用户来说<CODE>--help</CODE> 选项提供的帮助信息应该足够了
  846. </P>
  847. <PRE>
  848. Usage: txt2tags [OPTIONS] [infile.t2t ...]
  849. -t, --target=TYPE set target document type. currently supported:
  850. html, xhtml, sgml, tex, lout, man, mgp, wiki,
  851. gwiki, doku, moin, pm6, txt
  852. -i, --infile=FILE set FILE as the input file name ('-' for STDIN)
  853. -o, --outfile=FILE set FILE as the output file name ('-' for STDOUT)
  854. -n, --enum-title enumerate all title lines as 1, 1.1, 1.1.1, etc
  855. -H, --no-headers suppress header, title and footer contents
  856. --headers show header, title and footer contents (default ON)
  857. --encoding set target file encoding (utf-8, iso-8859-1, etc)
  858. --style=FILE use FILE as the document style (like HTML CSS)
  859. --css-sugar insert CSS-friendly tags for HTML and XHTML targets
  860. --css-inside insert CSS file contents inside HTML/XHTML headers
  861. --mask-email hide email from spam robots. x@y.z turns &lt;x (a) y z&gt;
  862. --toc add TOC (Table of Contents) to target document
  863. --toc-only print document TOC and exit
  864. --toc-level=N set maximum TOC level (depth) to N
  865. --rc read user config file ~/.txt2tagsrc (default ON)
  866. --gui invoke Graphical Tk Interface
  867. -q, --quiet quiet mode, suppress all output (except errors)
  868. -v, --verbose print informative messages during conversion
  869. -h, --help print this help information and exit
  870. -V, --version print program version and exit
  871. --dump-config print all the config found and exit
  872. Turn OFF options:
  873. --no-outfile, --no-infile, --no-style, --no-encoding, --no-headers
  874. --no-toc, --no-toc-only, --no-mask-email, --no-enum-title, --no-rc
  875. --no-css-sugar, --no-css-inside, --no-quiet
  876. Example:
  877. txt2tags -t html --toc myfile.t2t
  878. By default, converted output is saved to 'infile.&lt;target&gt;'.
  879. Use --outfile to force an output file name.
  880. If input file is '-', reads from STDIN.
  881. If output file is '-', dumps output to STDOUT.
  882. </PRE>
  883. <P></P>
  884. <H4>1.5.3.1. 示例</H4>
  885. <P>
  886. 假设你已经编写好一个正确标记的文件 <CODE>file.t2t</CODE>现在我们来尝试一些转换
  887. </P>
  888. <TABLE>
  889. <TR>
  890. <TD><B>转换为HTML</B></TD>
  891. <TD><CODE>$ txt2tags -t html file.t2t</CODE></TD>
  892. </TR>
  893. <TR>
  894. <TD><B>转换为HTML使用输出重定向</B></TD>
  895. <TD><CODE>$ txt2tags -t html -o - file.t2t &gt; file.html</CODE></TD>
  896. </TR>
  897. <TR>
  898. <TD></TD>
  899. <TD>.</TD>
  900. </TR>
  901. <TR>
  902. <TD><B>包含目录表</B></TD>
  903. <TD><CODE>$ txt2tags -t html --toc file.t2t</CODE></TD>
  904. </TR>
  905. <TR>
  906. <TD><B>带数字编号的目录表</B></TD>
  907. <TD><CODE>$ txt2tags -t html --toc --enum-title file.t2t</CODE></TD>
  908. </TR>
  909. <TR>
  910. <TD></TD>
  911. <TD>.</TD>
  912. </TR>
  913. <TR>
  914. <TD><B>内容概览</B></TD>
  915. <TD><CODE>$ txt2tags --toc-only file.t2t</CODE></TD>
  916. </TR>
  917. <TR>
  918. <TD><B>编号的概览</B></TD>
  919. <TD><CODE>$ txt2tags --toc-only --enum-title file.t2t</CODE></TD>
  920. </TR>
  921. <TR>
  922. <TD></TD>
  923. <TD>.</TD>
  924. </TR>
  925. <TR>
  926. <TD><B>从标准输入读取一行</B></TD>
  927. <TD><CODE>$ echo -e "\n**bold**" | txt2tags -t html --no-headers -</CODE></TD>
  928. </TR>
  929. <TR>
  930. <TD><B>Email地址识别测试</B></TD>
  931. <TD><CODE>$ echo -e "\njohn.wayne@farwest.com" | txt2tags -t txt --mask-email --no-headers -</CODE></TD>
  932. </TR>
  933. <TR>
  934. <TD><B>转换后编辑</B></TD>
  935. <TD><CODE>$ txt2tags -t html -o- file.t2t | sed "s/&lt;BODY .*/&lt;BODY BGCOLOR=green&gt;/" &gt; file.html</CODE></TD>
  936. </TR>
  937. </TABLE>
  938. <BLOCKQUOTE>
  939. 提示从1.6版本起前处理和后处理可以通过 <CODE>%!preproc</CODE>
  940. <CODE>%!postproc</CODE> 宏来完成
  941. </BLOCKQUOTE>
  942. <P></P>
  943. <HR NOSHADE SIZE=1>
  944. <P></P>
  945. <A NAME="install"></A>
  946. <H1>2. 第二部分 如何开始</H1>
  947. <P>
  948. 下载然后运行一切就是这么简单
  949. </P>
  950. <A NAME="download-python"></A>
  951. <H2>2.1. 下载安装Python</H2>
  952. <P>
  953. 首先你必须下载安装Python解释器如果你的系统已经安装过Python请跳过本节
  954. </P>
  955. <P>
  956. Python是一种极好的编程语言能够跨平台的在WindowsLinuxUNIXMacintosh以及其他的操作系统上运行你可以从<A HREF="http://www.python.org/">Python主页</A>找到安装文件以及安装指南Txt2tags运行要求Python 2.0以后的版本
  957. </P>
  958. <P>
  959. 如果你不确定是否已经安装过Python请打开一个控制台ttyxtermMSDOS输入命令 <CODE>python</CODE>如果Python并未安装系统会给出错误信息
  960. </P>
  961. <A NAME="download-txt2tags"></A>
  962. <H2>2.2. 下载txt2tags</H2>
  963. <P>
  964. Txt2tags的项目主页是<A HREF="http://txt2tags.org">http://txt2tags.org</A>。全部程序文件打包成一个tarball压缩文件(.tgz 文件),你可以使用大多数的压缩工具来提取(包括WinZip)。请下载<B>最新</B>的版本,早期版本仅仅作为历史存档之用。
  965. </P>
  966. <A NAME="install-txt2tags"></A>
  967. <H2>2.3. 安装txt2tags</H2>
  968. <P>
  969. 事实上txt2tags只是一个单文件的Python脚本毋需安装
  970. </P>
  971. <P>
  972. 运行程序需要的唯一一个文件是脚本 <CODE>txt2tags</CODE>压缩包内的其他文件是软件的文档示例以及一些工具
  973. </P>
  974. <P>
  975. 最低级的使用txt2tags的方法是直接通过Python来调用
  976. </P>
  977. <PRE>
  978. prompt$ python txt2tags
  979. </PRE>
  980. <P></P>
  981. <P>
  982. 如果想将 txt2tags 作为一个能够直接运行的程序安装到系统请将 txt2tags 脚本复制或者创建一个链接到系统 PATH 变量定义的目录并且确认系统能够运行它
  983. </P>
  984. <DL>
  985. <DT>UNIX/Linux/Mac</DT><DD>
  986. 将脚本文件赋予执行权限<CODE>chmod +x txt2tags</CODE>然后复制到 $PATH 变量定义的目录下比如<CODE>cp txt2tags /usr/local/bin</CODE>
  987. <P></P>
  988. <DT>Windows</DT><DD>
  989. 重命名脚本文件添加 .py 作为扩展名命令行下执行<CODE>ren txt2tags txt2tags.py</CODE>然后复制到系统 PATH 环境变量定义的路径下比如<CODE>copy txt2tags.py C:\WINNT</CODE>
  990. </DL>
  991. <P>
  992. 如果想要使用图形用户接口你可以创建一个桌面启动器快捷方式
  993. </P>
  994. <H3>2.3.1. 为Windows用户专门打包的安装程序</H3>
  995. <P>
  996. 对于Windows用户txt2tags还有两个打包好的安装程序你只需点击鼠标即可完成安装
  997. </P>
  998. <UL>
  999. <LI>单独的txt2tags脚本针对已经安装过Python解释器的系统
  1000. <LI>独立运行的版本毋需另外安装Python解释器包含一个嵌入的版本
  1001. </UL>
  1002. <P>
  1003. 你可以访问 <I>Txt2tags-Win</I> 主页下载安装包<A HREF="http://txt2tags-win.sf.net/">http://txt2tags-win.sf.net/</A>
  1004. </P>
  1005. <A NAME="toc12"></A>
  1006. <H2>2.4. 安装编辑器的语法高亮文件</H2>
  1007. <P>
  1008. Txt2tags提供适合以下编辑器使用的语法高亮文件
  1009. </P>
  1010. <UL>
  1011. <LI>Vim (<A HREF="http://www.vim.org">www.vim.org</A>)
  1012. <LI>Emacs (<A HREF="http://www.emacs.org">www.emacs.org</A>)
  1013. <LI>Nano (<A HREF="http://www.nano-editor.org">www.nano-editor.org</A>)
  1014. <LI>Kate (<A HREF="http://kate.kde.org">http://kate.kde.org</A>)
  1015. <LI>gedit ( <A HREF="http://www.gnome.org/projects/gedit/">http://www.gnome.org/projects/gedit/</A>)
  1016. <LI>TextMate (<A HREF="http://macromates.com/">http://macromates.com/</A> )
  1017. </UL>
  1018. <P>
  1019. 语法高亮文件包含全部txt2tags标记和规则以帮助用户编写出无误的文档正确书写的标记将以彩色显示
  1020. </P>
  1021. <TABLE ALIGN="center">
  1022. <TR>
  1023. <TD ALIGN="center"><center><IMG ALIGN="middle" SRC="./img/vim.png" BORDER="0" ALT=""></center></TD>
  1024. </TR>
  1025. <TR>
  1026. <TD ALIGN="center">用Vim打开示例文件</TD>
  1027. </TR>
  1028. </TABLE>
  1029. <P>
  1030. 语法文件对于不同的编辑器有不同的安装过程请参考语法文件的头部说明和编辑器的文档
  1031. </P>
  1032. <HR NOSHADE SIZE=1>
  1033. <P></P>
  1034. <A NAME="your-1st-doc"></A>
  1035. <H1>3. 第三部分 第一个文档</H1>
  1036. <A NAME="toc14"></A>
  1037. <H2>3.1. 先利其器</H2>
  1038. <P>
  1039. 你需要三件工具来完成你的第一次转换尝试txt2tags一个文本编辑器和一个网络浏览器
  1040. </P>
  1041. <OL>
  1042. <LI>确认一下txt2tags是否已经安装并且能够正确运行
  1043. <UL>
  1044. <LI><B>命令行方式</B>执行<CODE>txt2tags</CODE>命令程序会返回一个缺少输入文件Missing input file的信息如果不能正确运行尝试使用<CODE>python /path/to/txt2tags</CODE>甚至<CODE>/path/to/python /path/to/txt2tags</CODE>以防止Python不在环境变量定义的路径中
  1045. <LI><B>图形化操作</B>点击程序图标启动图形界面
  1046. </UL>
  1047. <LI>开启你喜欢的文本编辑器任何一个都行无论是古老的 VI还是 M$ Word乃至 OpenOffice.org用编辑器创建一个空文档作为你的第一个txt2tags源文件
  1048. <LI>启动你偏爱的浏览器用来查看转换得到的HTML网页
  1049. </OL>
  1050. <A NAME="toc15"></A>
  1051. <H2>3.2. 编写文档头部</H2>
  1052. <OL>
  1053. <LI>在编辑器中在第一行写上文档的主标题<I>我的第一个文档</I>
  1054. <LI>在第二行写上子标题<I>txt2tags测试</I>
  1055. <LI>然后在第三行写上时间比如<I>星期日2009</I>
  1056. </OL>
  1057. <P>
  1058. 如果一切正常现在你可以看到一个包含三行内容的文档
  1059. </P>
  1060. <PRE>
  1061. 我的第一个文档
  1062. txt2tags测试
  1063. 星期日2009
  1064. </PRE>
  1065. <P></P>
  1066. <P>
  1067. 这只是一般文档的一部分但是我们已经可以用它来尝试一下转换工作了
  1068. </P>
  1069. <P>
  1070. 将文档以文件名 <CODE>test.txt</CODE> 保存记得要记住保存的路径因为一会儿你要用到它
  1071. </P>
  1072. <A NAME="toc16"></A>
  1073. <H2>3.3. 第一次转换图形界面操作</H2>
  1074. <P>
  1075. 如果你使用命令行请跳过本节直接阅读下一节
  1076. </P>
  1077. <P>
  1078. 如果你使用图形界面请跟着我做
  1079. </P>
  1080. <center><IMG ALIGN="middle" SRC="./img/firstdoc.png" BORDER="0" ALT=""></center>
  1081. <OL>
  1082. <LI>点击Browse按钮选择你刚才保存的 <CODE>test.txt</CODE> 文件
  1083. <LI>回到第一个窗口Target document type下拉菜单中选择HTML page
  1084. <LI>点击Convert!按钮
  1085. </OL>
  1086. <center><IMG ALIGN="middle" SRC="./img/firstdoc-done.png" BORDER="0" ALT=""></center>
  1087. <P>
  1088. 这时会弹出一个对话框告诉你文件已经成功的转换了生成的HTML文件与源文件在同一个文件夹下html为扩展名
  1089. </P>
  1090. <A NAME="toc17"></A>
  1091. <H2>3.4. 第一次转换命令行方式</H2>
  1092. <P>
  1093. 如果你使用图形界面请跳过本节直接阅读下一节
  1094. </P>
  1095. <P>
  1096. 如果你使用命令行方式请切换到源文件所在的目录执行
  1097. </P>
  1098. <PRE>
  1099. txt2tags --target html test.txt
  1100. </PRE>
  1101. <P></P>
  1102. <P>
  1103. 请注意在命令的各部分中间以空格分隔但是在选项字符串<CODE>--target</CODE>内部不能有空格这个选项后面紧跟着字符串<CODE>html</CODE>告诉程序你想要的目标文件格式最后一部分是源文件的文件名
  1104. </P>
  1105. <P>
  1106. 如果转换正常完成结果会存储到文件 <CODE>test.html</CODE> 同时给出<I>txt2tags wrote test.html</I>的信息如果不是这样程序会报错提示你可能出错了请仔细检查一下
  1107. </P>
  1108. <P>
  1109. 一个示例
  1110. </P>
  1111. <PRE>
  1112. prompt$ txt2tags --target html test.txt
  1113. txt2tags wrote test.html
  1114. prompt$
  1115. </PRE>
  1116. <P></P>
  1117. <A NAME="toc18"></A>
  1118. <H2>3.5. 查看结果</H2>
  1119. <P>
  1120. 用浏览器打开文件 <CODE>test.html</CODE> 以检查是否正常
  1121. </P>
  1122. <center><IMG ALIGN="middle" SRC="./img/firstdoc-html.png" BORDER="0" ALT=""></center>
  1123. <P>
  1124. 看见结果了吗你只是简单的输入了三行文字txt2tags则为你完成了所有设置HTML文件头部信息的工作对齐方式大小间隔以及外观文档的主标题同时也出现在了浏览器的标题栏中
  1125. </P>
  1126. <TABLE ALIGN="center" BORDER="1">
  1127. <TR>
  1128. <TH>你只需输入文本txt2tags帮你搞定一切 ;)</TH>
  1129. </TR>
  1130. </TABLE>
  1131. <P>
  1132. 提示txt2tags生成的HTML页还能使用外部CSS以实现对页面外观100%的定制
  1133. </P>
  1134. <A NAME="toc19"></A>
  1135. <H2>3.6. 编写文档体</H2>
  1136. <P>
  1137. 现在返回文本编辑器进行下一步撰写文档的内容你可以像平日里撰写电子邮件一样的输入文字毋需特别的标记txt2tags会自动识别出段落和列表
  1138. </P>
  1139. <P>
  1140. 然后再一次保存转换再查看结果这就是txt2tags文档的编写流程你可以把精力放在内容上更快的完成文件的编写毋需点鼠标毋需菜单没有窗口没有什么来分散你的注意力
  1141. </P>
  1142. <P>
  1143. 假设文件 <CODE>test.txt</CODE> 中写上了如下的内容完全的纯文本将它们跟生成的HTML文件做一个对比
  1144. </P>
  1145. <PRE>
  1146. 我的第一个文档
  1147. txt2tags测试
  1148. 星期日2009
  1149. 现在我们来试一试txt2tags好了我也不晓得该写点啥
  1150. 好吧列一下我马上该去做的事情
  1151. - 洗个澡
  1152. - 吃块批萨
  1153. - 去睡觉
  1154. </PRE>
  1155. <P></P>
  1156. <center><IMG ALIGN="middle" SRC="./img/firstdoc-fullhtml.png" BORDER="0" ALT=""></center>
  1157. <P>
  1158. 你毋需任何HTML语言的准备知识就能够编写出完整的主页不必插入任何标记进一步同一个源文件还可以转换为其他任何txt2tags所支持的格式
  1159. </P>
  1160. <P>
  1161. 除了纯文本之外txt2tags有一些非常简单的标记来实现其他的格式和文档结构比如<B>粗体</B><I>斜体</I>标题图片表格等等举个简单的例子<CODE>**产生粗体**</CODE><CODE>== 得到标题 ==</CODE>详情请参阅<A HREF="http://txt2tags.sourceforge.net/zh/markup-zh.html">标记示例Txt2tags Markup Demo</A>
  1162. </P>
  1163. <HR NOSHADE SIZE=1>
  1164. <P></P>
  1165. <A NAME="concepts"></A>
  1166. <H1>4. 第四部分 掌握txt2tags的结构</H1>
  1167. <A NAME="areas"></A>
  1168. <H2>4.1. 文档的各个部分</H2>
  1169. <P>
  1170. Txt2tags的标记文本可以分为三个部分每个部分各自的规则实现不同的功能包括
  1171. </P>
  1172. <DL>
  1173. <DT><I>头部域Header Area</I></DT><DD>
  1174. 放置文档标题作者版本号以及日期信息可选区域
  1175. <DT><I>设置域Config Area</I></DT><DD>
  1176. 定义全局设定修改解析时行为Place for general Document Settings and Parser behavior modifiers.可选区域
  1177. <DT><I>主体域Body Area</I></DT><DD>
  1178. 文件内容必须的区域
  1179. </DL>
  1180. <P>
  1181. 前两个区域是可选的只有 <I>主体域</I> 是必须的
  1182. </P>
  1183. <P>
  1184. 各个区域之间的分隔方式比较特别下一章会详细描述现在我们给出一个直观的图形化的描述
  1185. </P>
  1186. <PRE>
  1187. ____________
  1188. | |
  1189. | HEADERS | 1. First, the Headers
  1190. | |
  1191. | CONFIG | 2. Then the Settings
  1192. | |
  1193. | BODY | 3. And finally the Document Body,
  1194. | |
  1195. | ... | which goes until the end
  1196. | ... |
  1197. |____________|
  1198. </PRE>
  1199. <P></P>
  1200. <P>
  1201. 简单的说各个部分是这样定义的
  1202. </P>
  1203. <TABLE ALIGN="center">
  1204. <TR>
  1205. <TD ALIGN="center"><B>头部域</B></TD>
  1206. <TD>文件内容的前三行或者第一行是空白行表示没有头部</TD>
  1207. </TR>
  1208. <TR>
  1209. <TD ALIGN="center"><B>设置域</B></TD>
  1210. <TD>紧接着头部第四行或者第二行开始结束于<I>主体域</I>的开始</TD>
  1211. </TR>
  1212. <TR>
  1213. <TD><B>主体域</B></TD>
  1214. <TD><I>头部</I>区域之后的第一个有效的行非注释或设置开始</TD>
  1215. </TR>
  1216. </TABLE>
  1217. <H3>4.1.1. 完整的示例</H3>
  1218. <PRE>
  1219. My nice doc Title
  1220. Mr. John Doe
  1221. Last Updated: %%mtime(%c)
  1222. %! Target : html
  1223. %! Style : fancy.css
  1224. %! Encoding: iso-8859-1
  1225. %! Options : --toc --enum-title
  1226. Hi! This is my test document.
  1227. Its content will end here.
  1228. </PRE>
  1229. <P></P>
  1230. <A NAME="headers-area"></A>
  1231. <H2>4.2. 头部域</H2>
  1232. <P>
  1233. 位置
  1234. </P>
  1235. <UL>
  1236. <LI>固定位置文件的<B>头三行</B>
  1237. <LI>固定位置文件的<B>第一行</B>并且为空白行这意味着没有头部
  1238. </UL>
  1239. <P>
  1240. 头部是唯一固定位置和行数的区域总是出现在源文件的头三行各行的内容可以随意并没有特别的要求不过对于大多数的文档推荐以下的内容作为头部
  1241. </P>
  1242. <UL>
  1243. <LI><I>第一行</I>文档标题
  1244. <LI><I>第二行</I>作者姓名和邮件地址
  1245. <LI><I>第三行</I>文档的编写日期和版本号推荐使用宏 <CODE>%%date</CODE>
  1246. </UL>
  1247. <P>
  1248. 请记住源文件的头三行将会是目标文件的头三行在目标文件中会以高的对比与文档内容相区分比如大号字体粗体如果允许分页头部将会单独的在第一页居中显示
  1249. </P>
  1250. <H4>较少或无头部</H4>
  1251. <P>
  1252. 有些时候作者会希望少于三行的头部仅仅给出文档标题和日期信息这时只需将第二行和第三行留为空行这部份就不会在目标文件中显示但是请切记即使是留为空白这些行仍然是头部的一部分主体域总是在这三行之后开始
  1253. </P>
  1254. <P>
  1255. 只有标题第一行是必须的但是你也可以把它留白这意味着文档<B>没有头部</B>而主体域就紧接着从第二行开始如果你打算在完成转换之后再来定制头部信息那么没有头部的选择是很有用的命令行选项 <CODE>--no-headers</CODE> 通常用来完成这一操作
  1256. </P>
  1257. <H4>总结</H4>
  1258. <P>
  1259. 简而言之<B>头部只是<U>位置</U>而非内容</B>
  1260. </P>
  1261. <P>
  1262. 源文件的第一行会出现在目标文件的第一行二三行同样
  1263. </P>
  1264. <A NAME="config-area"></A>
  1265. <H2>4.3. 设置域</H2>
  1266. <P>
  1267. 位置
  1268. </P>
  1269. <UL>
  1270. <LI>紧接着头部区域之后开始
  1271. <UL>
  1272. <LI>如果定义了<B>头部</B>则从<B>第四行</B>开始
  1273. <LI>如果<B>无头部</B>则从<B>第二行</B>开始
  1274. </UL>
  1275. <LI>结束于主体域开始
  1276. <UL>
  1277. <LI>结束于一个非属性设定空白或者注释行
  1278. </UL>
  1279. </UL>
  1280. <P>
  1281. 设置域是可选的普通用户甚至可以编写出许多txt2tags文档却不知道这个区域的存在但是有经验的用户往往受益于它提供的有效的控制功能设置域用来记录具体文档的设置这样就省略了转换时繁杂的命令行选项比如说你可以设定好缺省的目标文件类型和字符编码<A HREF="#settings">设定</A>一节中对此有详细的叙述
  1282. </P>
  1283. <A NAME="body-area"></A>
  1284. <H2>4.4. 主体域</H2>
  1285. <P>
  1286. 位置
  1287. </P>
  1288. <UL>
  1289. <LI>开始于第一个有效行
  1290. <UL>
  1291. <LI>头部设置域以及注释都<B>不是</B>有效的行
  1292. </UL>
  1293. <LI>结束于文件的末尾EOF
  1294. </UL>
  1295. <P>
  1296. 除了头部和设置域以外的所有内容都是主体域主体域包含来了文件的内容以及txt2tags支持的所有格式和文档结构的信息在主体域内你也可以放置注释作为 <I>TODOs</I> 和自提示
  1297. </P>
  1298. <P>
  1299. 命令行选项 <CODE>--no-headers</CODE> 会忽略头部只转换主体域的内容这是很有用的你可以用单独的文件来定义头部然后与转换后的主体域连接起来
  1300. </P>
  1301. <A NAME="settings-overview"></A>
  1302. <H2>4.5. 设定</H2>
  1303. <P>
  1304. 设定Settings是特殊的配置选项位于文档的设置域内用以控制转换的过程设定的语法如
  1305. </P>
  1306. <PRE>
  1307. $! 关键词 : 设定值
  1308. </PRE>
  1309. <P></P>
  1310. <P>
  1311. 以下是有效的关键词列表
  1312. </P>
  1313. <TABLE ALIGN="center" BORDER="1">
  1314. <TR>
  1315. <TH>关键词</TH>
  1316. <TH>描述</TH>
  1317. </TR>
  1318. <TR>
  1319. <TD ALIGN="center">target</TD>
  1320. <TD>设定缺省的目标文件格式</TD>
  1321. </TR>
  1322. <TR>
  1323. <TD ALIGN="center">options</TD>
  1324. <TD>设定缺省的转换选项格式与命令行选项相同</TD>
  1325. </TR>
  1326. <TR>
  1327. <TD ALIGN="center">style</TD>
  1328. <TD>设定文档样式主要用作为HTML/XHTML文档定义外联的CSS样式表以及为LaTeX文档加载宏包</TD>
  1329. </TR>
  1330. <TR>
  1331. <TD ALIGN="center">encoding</TD>
  1332. <TD>设定字符编码当文档包含国际化字符和非ASCII字符时需要指定编码</TD>
  1333. </TR>
  1334. <TR>
  1335. <TD ALIGN="center">preproc</TD>
  1336. <TD>输入文件处理设定应用于源文件的主体域中的查找/替换规则</TD>
  1337. </TR>
  1338. <TR>
  1339. <TD ALIGN="center">postproc</TD>
  1340. <TD>输出文件处理设定应用与输出文件中的查找/替换规则</TD>
  1341. </TR>
  1342. </TABLE>
  1343. <P>
  1344. 示例
  1345. </P>
  1346. <PRE>
  1347. %! Target : html
  1348. %! Options : --toc --toc-level 3
  1349. %! Style : fancy.css
  1350. %! Encoding: iso-8859-1
  1351. %! PreProc : "AMJ" "Aurelio Marinho Jargas"
  1352. %! PostProc: '&lt;BODY.*?&gt;' '&lt;BODY bgcolor="yellow"&gt;'
  1353. </PRE>
  1354. <P></P>
  1355. <A NAME="cmd-options"></A>
  1356. <H2>4.6. 命令行选项</H2>
  1357. <P>
  1358. 改变txt2tags默认行为最快捷的方式是使用命令行选项顾名思义这些选项只能应用于命令行方式不适用于GUI和Web界面
  1359. </P>
  1360. <P>
  1361. 与其他工具一样程序接受一串预定义的选项每个选项都是由一个单连字符引导的字母或者两个连续的连字符引导的一个或多个单词比如 <CODE>-t</CODE> <CODE>--target</CODE>target选项是唯一的一个必须的选项其他的都是可省略的选项
  1362. </P>
  1363. <P>
  1364. 常用的选项包括<CODE>--outfile</CODE>指定输出文件名<CODE>--toc</CODE>自动生成目录表<CODE>--encoding</CODE>设定文档的字符编码大多数的选项可以通过前缀一个<CODE>no-</CODE>来关闭比如<CODE>--no-encoding</CODE> <CODE>--no-toc</CODE>
  1365. </P>
  1366. <P>
  1367. 使用 <CODE>%!options</CODE> 的格式你可以在源文件的设置域设定需要的选项这样在命令行中就可以省略掉这些选项了比如<CODE>%!options: --toc -o mydoc.html</CODE>目标文件格式的指定是个例外它有自己的格式<CODE>%!target: html</CODE>
  1368. </

Large files files are truncated, but you can click here to view the full file