/doc/Portuguese/userguide-pt.html

http://txt2tags.googlecode.com/ · HTML · 2503 lines · 2348 code · 155 blank · 0 comment · 0 complexity · 10c3d69f49fe24423985d57058a5a0ea MD5 · raw file

Large files are truncated click here to view the full file

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <STYLE TYPE="text/css">
  5. body {background-color:#ddeeff; color:black;
  6. margin:2em; text-align:justify;}
  7. a {text-decoration:none;}
  8. a:hover {color:red;}
  9. a:visited {color:purple;}
  10. dl {margin:1em;}
  11. h1 {text-align:center; background-color:blue;
  12. color:white; padding:8px;}
  13. h2 {padding-top:20px;}
  14. hr {border-style:none;}
  15. code {background-color:lightblue;}
  16. table {border-style:solid; border-color:black;}
  17. th {background-color:lightblue; padding:1em;}
  18. td {border-style:none; background-color:white;}
  19. pre {border-style:solid; border-width:1px 1px;
  20. background-color:lightblue; padding:8px;
  21. border-color:black;}
  22. </STYLE>
  23. <META NAME="generator" CONTENT="http://txt2tags.org">
  24. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
  25. <TITLE>Guia do Usuário Txt2tags</TITLE>
  26. </HEAD><BODY BGCOLOR="white" TEXT="black">
  27. <CENTER>
  28. <H1>Guia do Usuário Txt2tags</H1>
  29. <FONT SIZE="4"><I>Aurelio, Wed Jan 11 20:53:37 2012</I></FONT><BR>
  30. <FONT SIZE="4">Tradução para o português: César A. K. Grossman</FONT>
  31. </CENTER>
  32. <P></P>
  33. <HR NOSHADE SIZE=1>
  34. <P></P>
  35. <UL>
  36. <LI><A HREF="#toc1">Sobre este documento</A>
  37. <LI><A HREF="#toc2">Parte I - Introdução ao Txt2tags</A>
  38. <UL>
  39. <LI><A HREF="#toc3">Suas Primeiras Questões</A>
  40. <LI><A HREF="#toc4">Estruturas de Formatação Suportadas</A>
  41. <LI><A HREF="#toc5">Formatos Suportados</A>
  42. <LI><A HREF="#estruturas">Situação dos Formatos-Destino para as Estruturas Suportadas</A>
  43. <LI><A HREF="#toc7">As Três Interfaces ao Usuário: GUI, Web e Linha de Comando</A>
  44. </UL>
  45. <LI><A HREF="#instalacao">Parte II - OK, eu quero um. E agora?</A>
  46. <UL>
  47. <LI><A HREF="#toc9">Download e Instalação do Python</A>
  48. <LI><A HREF="#toc10">Copiando o txt2tags</A>
  49. <LI><A HREF="#toc11">Instalação do txt2tags</A>
  50. <LI><A HREF="#sintaxe">Instalar os Arquivos de Sintaxe dos Editores de Texto</A> <b>[NOVO!]</b>
  51. </UL>
  52. <LI><A HREF="#toc13">Parte III - Escrevendo e Convertendo Seu Primeiro Documento</A>
  53. <UL>
  54. <LI><A HREF="#toc14">As Áreas do documento .t2t</A>
  55. </UL>
  56. <LI><A HREF="#toc15">Parte IV - Dominando o Txt2tags</A>
  57. <UL>
  58. <LI><A HREF="#toc16">A Área de Cabeçalho</A>
  59. <LI><A HREF="#toc17">A Área de Configuração</A>
  60. <LI><A HREF="#toc18">O Corpo do Texto</A>
  61. <LI><A HREF="#regras">Marcações (REGRAS)</A>
  62. <LI><A HREF="#data">A macro %%date</A>
  63. <LI><A HREF="#include">O comando %!include</A>
  64. </UL>
  65. <LI><A HREF="#settings">Parte V - Dominando as Diretivas de Configuração</A>
  66. <UL>
  67. <LI><A HREF="#toc23">%!Target</A> <b>[NOVO!]</b>
  68. <LI><A HREF="#toc24">%!Options</A> <b>[NOVO!]</b>
  69. <LI><A HREF="#toc25">%!Encoding</A>
  70. <LI><A HREF="#toc26">%!PreProc</A>
  71. <LI><A HREF="#toc27">%!PostProc</A>
  72. <LI><A HREF="#toc28">%!Style</A>
  73. <LI><A HREF="#toc29">Detalhes dos Filtros PreProc e PostProc</A>
  74. <LI><A HREF="#toc30">Definindo uma Configuração para um Tipo-Destino Específico</A>
  75. <LI><A HREF="#toc31">RC, CONF e a precedência de linha de comando</A> <b>[NOVO!]</b>
  76. </UL>
  77. <LI><A HREF="#toc32">Parte VI - Magia Negra</A>
  78. <UL>
  79. <LI><A HREF="#toc33">Inserindo Múltiplas Linhas com %!PostProc (como regras CSS)</A>
  80. <LI><A HREF="#toc34">Criando Conteúdo "Específico ao Tipo Destino", com %!PreProc</A>
  81. <LI><A HREF="#toc35">Mudando Marcas txt2tags com %!PreProc</A>
  82. </UL>
  83. <LI><A HREF="#historia">Parte VII - História do txt2tags</A>
  84. <UL>
  85. <LI><A HREF="#toc37">Janeiro de 1999: Pré História</A>
  86. <LI><A HREF="#toc38">Junho 1999: Ainda Pré-História</A>
  87. <LI><A HREF="#toc39">Agosto de 2000: Não Mais Pré-História</A>
  88. <LI><A HREF="#toc40">Julho de 2001: Debute das séries 0.x (Lançamento Mundial)</A>
  89. <LI><A HREF="#toc41">Setembro de 2002: Debute das séries 1.x</A>
  90. <LI><A HREF="#toc42">2002, 2003... e as História não pára</A>
  91. </UL>
  92. </UL>
  93. <P></P>
  94. <HR NOSHADE SIZE=1>
  95. <P></P>
  96. <H1 ID="toc1">Sobre este documento</H1>
  97. <BLOCKQUOTE>
  98. Olá, eu sou o guia do usuário do txt2tags!
  99. </BLOCKQUOTE>
  100. <BLOCKQUOTE>
  101. Aqui você encontra toda a informação disponível sobre a
  102. ferramenta de conversão de textos txt2tags.
  103. </BLOCKQUOTE>
  104. <BLOCKQUOTE>
  105. Minha versão atualizada pode ser encontrada em
  106. <A HREF="http://txt2tags.org/userguide/">http://txt2tags.org/userguide/</A>
  107. </BLOCKQUOTE>
  108. <BLOCKQUOTE>
  109. Para mais informações e versões recentes, visite
  110. <A HREF="http://txt2tags.org/">o website do txt2tags</A>.
  111. </BLOCKQUOTE>
  112. <BLOCKQUOTE>
  113. Bom proveito!
  114. </BLOCKQUOTE>
  115. <HR NOSHADE SIZE=5>
  116. <H1 ID="toc2">Parte I - Introdução ao Txt2tags</H1>
  117. <H2 ID="toc3">Suas Primeiras Questões</H2>
  118. <P>
  119. Este capítulo apresenta o txt2tags, introduzindo as funcionalidades e
  120. objetivo do programa.
  121. </P>
  122. <HR NOSHADE SIZE=1>
  123. <H3>O Que É?</H3>
  124. <P>
  125. O txt2tags é uma ferramenta de formatação e conversão de texto.
  126. </P>
  127. <P>
  128. O txt2tags converte um arquivo texto com algumas marcas para qualquer um
  129. dos tipos de arquivos suportados:
  130. </P>
  131. <UL>
  132. <LI>Documento HTML
  133. <LI>Documento XHTML
  134. <LI>Documento SGML
  135. <LI>Documento LaTeX
  136. <LI>Página man UNIX
  137. <LI>Apresentação Magic Point
  138. <LI>Página MoinMoin
  139. <LI>Documento PageMaker 6.0
  140. <LI>Texto Plano (sem marcações)
  141. </UL>
  142. <HR NOSHADE SIZE=1>
  143. <H3>Por Quê Eu Devo Usá-lo?</H3>
  144. <P>
  145. Você achará o txt2tags bastante útil se você:
  146. </P>
  147. <UL>
  148. <LI>precisa publicar documentos em diferentes formatos
  149. <LI>precisa manter documentos atualizados em diferentes formatos
  150. <LI>escreve manuais ou documentos técnicos
  151. <LI>não sabe como escrever um documento em um formato específico
  152. <LI>não tem um editor específico para um certo formato.
  153. <LI>quer usar um editor de texto simples para atualizar seus documentos
  154. </UL>
  155. <P>
  156. E a motivação principal é:
  157. </P>
  158. <UL>
  159. <LI>economizar tempo, escrevendo <B>conteúdo</B>, sem se preocupar com
  160. <B>formatação</B>
  161. </UL>
  162. <HR NOSHADE SIZE=1>
  163. <H3>Quais vantagens oferece em relação a outras ferramentas?</H3>
  164. <P>
  165. O txt2tags possui uma forma bem direta de crescimento, seguindo alguns
  166. conceitos básicos. Os conceitos a seguir se destacam:
  167. </P>
  168. <TABLE CELLPADDING="4">
  169. <TR>
  170. <TD><I>Arquivo fonte legível</I></TD>
  171. <TD>As marcações do txt2tags são bastante simples, quase naturais.</TD>
  172. </TR>
  173. <TR>
  174. <TD><I>Documento destino legível</I></TD>
  175. <TD>Da mesma forma que o arquivo fonte, o código do documento gerado também é legível, alinhado e possui linhas curtas.</TD>
  176. </TR>
  177. <TR>
  178. <TD><I>Consistência na Marcação</I></TD>
  179. <TD>As marcações txt2tags são únicas, atendendo todos os tipos de documentos e não sendo confundidas com o conteúdo.</TD>
  180. </TR>
  181. <TR>
  182. <TD><I>Regras Consistentes</I></TD>
  183. <TD>Da mesma forma que as marcas, as regras aplicadas a elas são uniformes, não "exceções" ou "casos especiais".</TD>
  184. </TR>
  185. <TR>
  186. <TD><I>Estruturas Simples</I></TD>
  187. <TD>Toda a formatação suportada é <B>simples</B>, sem opções extras ou modificadores complexos de comportamento. Uma marcação é uma marcação, sem opções adicionais.</TD>
  188. </TR>
  189. <TR>
  190. <TD><I>Fácil de aprender</I></TD>
  191. <TD>Com marcações simples e o código fonte legível, a curva de aprendizado é bem amigável.</TD>
  192. </TR>
  193. <TR>
  194. <TD><I>Bons Exemplos</I></TD>
  195. <TD>Os <B>arquivos de exemplo</B> incluídos com o pacote dão mostras reais de documentos simples e super-estruturados, escritos no formato txt2tags.</TD>
  196. </TR>
  197. <TR>
  198. <TD><I>Ferramentas Valiosas</I></TD>
  199. <TD>Os <B>arquivos de sintaxe</B> incluídos com o pacote (para os editores vim, emacs, nano e kate) ajudam a escrever documentos sem erros sintáticos.</TD>
  200. </TR>
  201. <TR>
  202. <TD><I>Três interfaces ao usuários</I></TD>
  203. <TD> uma <B>interface Gráfica Tk</B> que é bastante amigável, uma <B>inteface Web</B> para usar remotamente ou na intranet, e uma <B>interface de Linha de Comando</B>, para usuários avançados e scripts.</TD>
  204. </TR>
  205. <TR>
  206. <TD><I>Suporte a Scripts</I></TD>
  207. <TD>Com o modo completo de linha de comando, um usuário experiente pode <B>automatizar</B> tarefas e efetuar <B>pós-edições</B> nos arquivos convertidos.</TD>
  208. </TR>
  209. <TR>
  210. <TD><I>Baixe e Execute / Multiplataforma</I></TD>
  211. <TD>O txt2tags é apenas um <B>script Python</B>. Não necessidade de compilá-lo ou carregar módulos extras. Assim, ele pode ser executado sem problemas em máquinas *NIX, Linux, Windows e Macintosh.</TD>
  212. </TR>
  213. <TR>
  214. <TD><I>Atualizações Freqüentes</I></TD>
  215. <TD>O programa possui uma lista de discussões com usuários ativos que sugerem correções e melhorias. O próprio autor é um usuário intenso em casa e no trabalho, por isto o desenvolvimento não irá parar tão cedo.</TD>
  216. </TR>
  217. </TABLE>
  218. <HR NOSHADE SIZE=1>
  219. <H3>Tenho que pagar por ele?</H3>
  220. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  221. <TR>
  222. <TH>Absolutamente NÃO!</TH>
  223. </TR>
  224. </TABLE>
  225. <P>
  226. O txt2tags é um programa gratuito, GPL, open source, domínio público,
  227. etc...
  228. </P>
  229. <P>
  230. Você pode copiar, usar, modificar, vender, liberar como seu. As
  231. políticas de software e copyright não são uma das maiores preocupações
  232. do autor.
  233. </P>
  234. <HR NOSHADE SIZE=1>
  235. <H2 ID="toc4">Estruturas de Formatação Suportadas</H2>
  236. <P>
  237. Segue uma lista de todas as estruturas suportadas pelo txt2tags.
  238. </P>
  239. <UL>
  240. <LI>cabeçalho (título, nome do autor, data)
  241. <LI>títulos de seções (numeradas ou não)
  242. <LI>parágrafos
  243. <LI>modificadores de fontes
  244. <UL>
  245. <LI>negrito
  246. <LI>itálico
  247. <LI>sublinhado
  248. </UL>
  249. <LI>fonte monoespaço (verbatim)
  250. <UL>
  251. <LI>monoespaço no meio de um parágrafo
  252. <LI>linha monoespaçada
  253. <LI>trecho em monoespaçado
  254. </UL>
  255. <LI>citações
  256. <LI>links
  257. <UL>
  258. <LI>Links de Internet (URL)
  259. <LI>links de email
  260. <LI>links locais
  261. <LI>links nomeados
  262. </UL>
  263. <LI>listas
  264. <UL>
  265. <LI>listas com marcadores
  266. <LI>listas numeradas
  267. <LI>listas de definição
  268. </UL>
  269. <LI>linha horizontal de separação
  270. <LI>imagems (com alinhamento inteligente)
  271. <LI>tabela (com ou sem borda, com alinhamento inteligente)
  272. <LI>marcação especial para texto que não deve ser formatado
  273. <LI>macro especial para a data atual (com formatação flexível)
  274. <LI>comentários (para notas, A FAZER, CORREÇÕES, etc.)
  275. </UL>
  276. <HR NOSHADE SIZE=1>
  277. <H2 ID="toc5">Formatos Suportados</H2>
  278. <DL>
  279. <DT><B>HTML</B> </DT><DD>
  280. Todo mundo sabe o que o HTML é (dica: Internet).
  281. <P></P>
  282. O txt2tags gera documentos HTML limpos, que tem boa apresentação e cujo
  283. código fonte é legível. Ele NÃO USA javascript, frames ou outras
  284. técnicas de formatação fúteis, que não são necessárias para documentos
  285. técnicos simples. Mas um arquivo CSS separado pode ser utilizado, se for
  286. desejado. O Txt2tags gera código "<I>HTML 4.0 Transitional</I>".
  287. <P></P>
  288. Desde a versão 2.0, o código HTML gerado pelo txt2tags é 100% aprovado
  289. pelo <A HREF="vhttp://validator.w3.org/">validador w3c</A>.
  290. </DL>
  291. <DL>
  292. <DT><B>XHTML</B></DT><DD>
  293. Esta é a nova generação do HTML, com regras mais restritas, como fechar
  294. todas as marcas que forem abertas. Isto torna o código mas fácil de ser
  295. avaliado e entendido. Para propósitos gerais, considere como HTML. O
  296. txt2tags gera código "<I>HTML 4.0 Transitional</I>".
  297. <P></P>
  298. Desde a versão 2.0, o código XHTML gerado pelo txt2tags é 100% aprovado
  299. pelo <A HREF="vhttp://validator.w3.org/">validador w3c</A>.
  300. <P></P>
  301. <DT><B>SGML</B></DT><DD>
  302. O SGML é um formato de documento comum que possui aplicações de
  303. conversão, como <A HREF="http://www.sgmltools.org/">sgmltools</A>. De um arquivo
  304. sgml pode-se gerar documentos html, pdf, ps, info, latex, lyx, rtf e
  305. xml. As ferramentas sgml2* também criam índices (TOC) e quebra de seções
  306. em subpáginas (sgml2html).
  307. <P></P>
  308. O txt2tags gera arquivos SGML válidos para a DTD linuxdoc, prontos para
  309. serem convertidos com uma ferramenta sgml2* sem qualquer arquivo de
  310. catálogo extra ou outras exigências incômodas do SGML.
  311. <P></P>
  312. <DT><B>LATEX</B></DT><DD>
  313. O formato de documentação preferido nos meios acadêmicos, é mais potente
  314. do que normalmente se considera. Livros completos, fórmulas complicadas
  315. e qualquer texto complexo pode ser escrito em LaTeX. Mas se prepare para
  316. perder os cabelos se tentar escever as marcações à mão...
  317. <P></P>
  318. O txt2tags gera arquivos LaTeX prontos para usar, realizando todos os
  319. complexos truques de escape e exceções. O escritor deve se preocupar
  320. exclusivamente com o texto.
  321. <P></P>
  322. <DT><B>MAN</B></DT><DD>
  323. As páginas man do UNIX resistiram pelos anos. Formatos de documento vem
  324. e vão, e elas estão , imbatíveis.
  325. <P></P>
  326. Existem outras ferramentas para gerar documentos man, mas o txt2tags tem
  327. uma vantagem: uma fonte, múltiplos formatos destino. Assim, o conteúdo
  328. da mesma página man pode ser convertido para uma página HTML, uma
  329. apresentação Magic Point, etc.
  330. <P></P>
  331. <DT><B>MGP</B></DT><DD>
  332. O <A HREF="http://www.mew.org/mgp/">Magic Point</A> é uma ferramenta de apresentação
  333. bastante útil (dica: Microsoft PowerPoint), que usa uma linguagem de
  334. marcação para definir todas as telas. Desta forma, você pode criar
  335. apresentações complexas no vi/emacs/notepad.
  336. <P></P>
  337. O txt2tags gera um arquivo .mgp pronto para ser usado, definindo todos
  338. os cabeçalhos necessários para as definições de fontes e aparência, bem
  339. como o suporte aos caracteres acentuados da página de código ISO-8859.
  340. <P></P>
  341. <B>Observação 1:</B> os arquivos .mgp criados pelo txt2tags usam as fontes
  342. Type1 do XFree86! Desta forma, não é necessário incluir fontes TrueType
  343. com sua apresentação.
  344. <P></P>
  345. <B>Observação 2:</B> as definições de cor para as fontes são limpas, de
  346. forma que mesmo com uma paleta de cores de sistema pobre (como em
  347. <CODE>startx -- -bpp 8</CODE>) a apresentação vai ter boa aparência.
  348. <P></P>
  349. A chave é: converta e use. Não necessidade de remendos ou de outros
  350. requisitos.
  351. <P></P>
  352. <DT><B>MOIN</B></DT><DD>
  353. Você não sabe o que é o <A HREF="http://moin.sourceforge.net">MoinMoin</A>? Ele é
  354. um <A HREF="http://www.c2.com/cgi/wiki">WikiWiki</A>!
  355. <P></P>
  356. A sintaxe do Moin é um pouco chata, quando você tem que ficar
  357. <CODE>{{{'''''acrescentando chaves e plicas'''''}}}</CODE>, mas o txt2tags vem
  358. com as marcações simplificadas e uma solução unificada: uma fonte,
  359. múltiplos formatos destino.
  360. <P></P>
  361. <DT><B>PM6</B></DT><DD>
  362. Aposto que você não sabia, mas o Adobe PageMaker 6.0 tem sua própria
  363. linguagem de marcação! Estilos, tabelas de cores, embelezadores, e a
  364. maior parte das funcionalidades acessíveis via cliques de mouse também
  365. estão disponíveis em sua linguagem de marcação. Você precisa acessar
  366. o item de menu "Import tagged text". Apenas para registro, é um formato
  367. de marcação semelhante ao HTML.
  368. <P></P>
  369. O txt2tags gera todas as tags e define um cabeçalho extenso e
  370. funcional, configurando os estilos de parágrafo e formatações. Esta é a
  371. parte difícil. <B>EPA:</B> Sem quebras de linha! Um parágrafo deve ser uma
  372. única linha.
  373. <P></P>
  374. Nota do Autor:
  375. <I>Todo meu livro em português sobre <A HREF="http://guia-er.sf.net/">expressões regulares</A></I>
  376. <I>foi escrito no vi, convertido para o formato do PageMaker com o</I>
  377. <I>txt2tags e então mandado para o prelo.</I>
  378. <P></P>
  379. <DT><B>TXT</B></DT><DD>
  380. TXT é texto. O único tipo de formatação verdadeiro.
  381. <P></P>
  382. Apesar das marcações do txt2tags serem bem intuitivas e discretas,
  383. pode-se removê-las ao converter o arquivo para TXT puro.
  384. <P></P>
  385. Os títulos são sublinhados, e o texto é basicamente deixado como está no
  386. código fonte.
  387. </DL>
  388. <HR NOSHADE SIZE=1>
  389. <H2 ID="estruturas">Situação dos Formatos-Destino para as Estruturas Suportadas</H2>
  390. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  391. <TR>
  392. <TH>Estrutura</TH>
  393. <TH>html</TH>
  394. <TH>xhtml</TH>
  395. <TH>sgml</TH>
  396. <TH>tex</TH>
  397. <TH>man</TH>
  398. <TH>mgp</TH>
  399. <TH>moin</TH>
  400. <TH>pm6</TH>
  401. <TH>txt</TH>
  402. </TR>
  403. <TR>
  404. <TD>cabeçalhos</TD>
  405. <TD ALIGN="center">S</TD>
  406. <TD ALIGN="center">S</TD>
  407. <TD ALIGN="center">S</TD>
  408. <TD ALIGN="center">S</TD>
  409. <TD ALIGN="center">S</TD>
  410. <TD ALIGN="center">S</TD>
  411. <TD ALIGN="center">N</TD>
  412. <TD ALIGN="center">N</TD>
  413. <TD ALIGN="center">S</TD>
  414. </TR>
  415. <TR>
  416. <TD>título de seções</TD>
  417. <TD ALIGN="center">S</TD>
  418. <TD ALIGN="center">S</TD>
  419. <TD ALIGN="center">S</TD>
  420. <TD ALIGN="center">S</TD>
  421. <TD ALIGN="center">S</TD>
  422. <TD ALIGN="center">S</TD>
  423. <TD ALIGN="center">S</TD>
  424. <TD ALIGN="center">S</TD>
  425. <TD ALIGN="center">S</TD>
  426. </TR>
  427. <TR>
  428. <TD>parágrafos</TD>
  429. <TD ALIGN="center">S</TD>
  430. <TD ALIGN="center">S</TD>
  431. <TD ALIGN="center">S</TD>
  432. <TD ALIGN="center">S</TD>
  433. <TD ALIGN="center">S</TD>
  434. <TD ALIGN="center">S</TD>
  435. <TD ALIGN="center">S</TD>
  436. <TD ALIGN="center">S</TD>
  437. <TD ALIGN="center">S</TD>
  438. </TR>
  439. <TR>
  440. <TD>negrito</TD>
  441. <TD ALIGN="center">S</TD>
  442. <TD ALIGN="center">S</TD>
  443. <TD ALIGN="center">S</TD>
  444. <TD ALIGN="center">S</TD>
  445. <TD ALIGN="center">S</TD>
  446. <TD ALIGN="center">S</TD>
  447. <TD ALIGN="center">S</TD>
  448. <TD ALIGN="center">S</TD>
  449. <TD ALIGN="center">-</TD>
  450. </TR>
  451. <TR>
  452. <TD>itálico</TD>
  453. <TD ALIGN="center">S</TD>
  454. <TD ALIGN="center">S</TD>
  455. <TD ALIGN="center">S</TD>
  456. <TD ALIGN="center">S</TD>
  457. <TD ALIGN="center">S</TD>
  458. <TD ALIGN="center">S</TD>
  459. <TD ALIGN="center">S</TD>
  460. <TD ALIGN="center">S</TD>
  461. <TD ALIGN="center">-</TD>
  462. </TR>
  463. <TR>
  464. <TD>sublinhado</TD>
  465. <TD ALIGN="center">S</TD>
  466. <TD ALIGN="center">S</TD>
  467. <TD ALIGN="center">-</TD>
  468. <TD ALIGN="center">S</TD>
  469. <TD ALIGN="center">-</TD>
  470. <TD ALIGN="center">S</TD>
  471. <TD ALIGN="center">S</TD>
  472. <TD ALIGN="center">S</TD>
  473. <TD ALIGN="center">-</TD>
  474. </TR>
  475. <TR>
  476. <TD>pré-formatado</TD>
  477. <TD ALIGN="center">S</TD>
  478. <TD ALIGN="center">S</TD>
  479. <TD ALIGN="center">S</TD>
  480. <TD ALIGN="center">S</TD>
  481. <TD ALIGN="center">-</TD>
  482. <TD ALIGN="center">S</TD>
  483. <TD ALIGN="center">S</TD>
  484. <TD ALIGN="center">S</TD>
  485. <TD ALIGN="center">-</TD>
  486. </TR>
  487. <TR>
  488. <TD>linha pré-formatada</TD>
  489. <TD ALIGN="center">S</TD>
  490. <TD ALIGN="center">S</TD>
  491. <TD ALIGN="center">S</TD>
  492. <TD ALIGN="center">S</TD>
  493. <TD ALIGN="center">S</TD>
  494. <TD ALIGN="center">S</TD>
  495. <TD ALIGN="center">S</TD>
  496. <TD ALIGN="center">S</TD>
  497. <TD ALIGN="center">-</TD>
  498. </TR>
  499. <TR>
  500. <TD>área pré-formatada</TD>
  501. <TD ALIGN="center">S</TD>
  502. <TD ALIGN="center">S</TD>
  503. <TD ALIGN="center">S</TD>
  504. <TD ALIGN="center">S</TD>
  505. <TD ALIGN="center">S</TD>
  506. <TD ALIGN="center">S</TD>
  507. <TD ALIGN="center">S</TD>
  508. <TD ALIGN="center">S</TD>
  509. <TD ALIGN="center">-</TD>
  510. </TR>
  511. <TR>
  512. <TD>área cotada</TD>
  513. <TD ALIGN="center">S</TD>
  514. <TD ALIGN="center">S</TD>
  515. <TD ALIGN="center">S</TD>
  516. <TD ALIGN="center">S</TD>
  517. <TD ALIGN="center">S</TD>
  518. <TD ALIGN="center">S</TD>
  519. <TD ALIGN="center">S</TD>
  520. <TD ALIGN="center">S</TD>
  521. <TD ALIGN="center">S</TD>
  522. </TR>
  523. <TR>
  524. <TD>links internet</TD>
  525. <TD ALIGN="center">S</TD>
  526. <TD ALIGN="center">S</TD>
  527. <TD ALIGN="center">S</TD>
  528. <TD ALIGN="center">-</TD>
  529. <TD ALIGN="center">-</TD>
  530. <TD ALIGN="center">-</TD>
  531. <TD ALIGN="center">S</TD>
  532. <TD ALIGN="center">-</TD>
  533. <TD ALIGN="center">-</TD>
  534. </TR>
  535. <TR>
  536. <TD>links e-mail</TD>
  537. <TD ALIGN="center">S</TD>
  538. <TD ALIGN="center">S</TD>
  539. <TD ALIGN="center">S</TD>
  540. <TD ALIGN="center">-</TD>
  541. <TD ALIGN="center">-</TD>
  542. <TD ALIGN="center">-</TD>
  543. <TD ALIGN="center">S</TD>
  544. <TD ALIGN="center">-</TD>
  545. <TD ALIGN="center">-</TD>
  546. </TR>
  547. <TR>
  548. <TD>links locais</TD>
  549. <TD ALIGN="center">S</TD>
  550. <TD ALIGN="center">S</TD>
  551. <TD ALIGN="center">S</TD>
  552. <TD ALIGN="center">N</TD>
  553. <TD ALIGN="center">-</TD>
  554. <TD ALIGN="center">-</TD>
  555. <TD ALIGN="center">S</TD>
  556. <TD ALIGN="center">-</TD>
  557. <TD ALIGN="center">-</TD>
  558. </TR>
  559. <TR>
  560. <TD>links nomeados</TD>
  561. <TD ALIGN="center">S</TD>
  562. <TD ALIGN="center">S</TD>
  563. <TD ALIGN="center">S</TD>
  564. <TD ALIGN="center">-</TD>
  565. <TD ALIGN="center">-</TD>
  566. <TD ALIGN="center">-</TD>
  567. <TD ALIGN="center">S</TD>
  568. <TD ALIGN="center">-</TD>
  569. <TD ALIGN="center">-</TD>
  570. </TR>
  571. <TR>
  572. <TD>lista não-numerada</TD>
  573. <TD ALIGN="center">S</TD>
  574. <TD ALIGN="center">S</TD>
  575. <TD ALIGN="center">S</TD>
  576. <TD ALIGN="center">S</TD>
  577. <TD ALIGN="center">S</TD>
  578. <TD ALIGN="center">S</TD>
  579. <TD ALIGN="center">S</TD>
  580. <TD ALIGN="center">S</TD>
  581. <TD ALIGN="center">S</TD>
  582. </TR>
  583. <TR>
  584. <TD>lista numerada</TD>
  585. <TD ALIGN="center">S</TD>
  586. <TD ALIGN="center">S</TD>
  587. <TD ALIGN="center">S</TD>
  588. <TD ALIGN="center">S</TD>
  589. <TD ALIGN="center">S</TD>
  590. <TD ALIGN="center">S</TD>
  591. <TD ALIGN="center">S</TD>
  592. <TD ALIGN="center">S</TD>
  593. <TD ALIGN="center">S</TD>
  594. </TR>
  595. <TR>
  596. <TD>lista de definições</TD>
  597. <TD ALIGN="center">S</TD>
  598. <TD ALIGN="center">S</TD>
  599. <TD ALIGN="center">S</TD>
  600. <TD ALIGN="center">S</TD>
  601. <TD ALIGN="center">S</TD>
  602. <TD ALIGN="center">N</TD>
  603. <TD ALIGN="center">N</TD>
  604. <TD ALIGN="center">N</TD>
  605. <TD ALIGN="center">S</TD>
  606. </TR>
  607. <TR>
  608. <TD>linha horizontal</TD>
  609. <TD ALIGN="center">S</TD>
  610. <TD ALIGN="center">S</TD>
  611. <TD ALIGN="center">-</TD>
  612. <TD ALIGN="center">S</TD>
  613. <TD ALIGN="center">-</TD>
  614. <TD ALIGN="center">S</TD>
  615. <TD ALIGN="center">S</TD>
  616. <TD ALIGN="center">N</TD>
  617. <TD ALIGN="center">S</TD>
  618. </TR>
  619. <TR>
  620. <TD>imagem</TD>
  621. <TD ALIGN="center">S</TD>
  622. <TD ALIGN="center">S</TD>
  623. <TD ALIGN="center">S</TD>
  624. <TD ALIGN="center">S</TD>
  625. <TD ALIGN="center">-</TD>
  626. <TD ALIGN="center">S</TD>
  627. <TD ALIGN="center">S</TD>
  628. <TD ALIGN="center">N</TD>
  629. <TD ALIGN="center">-</TD>
  630. </TR>
  631. <TR>
  632. <TD>tabela</TD>
  633. <TD ALIGN="center">S</TD>
  634. <TD ALIGN="center">S</TD>
  635. <TD ALIGN="center">S</TD>
  636. <TD ALIGN="center">S</TD>
  637. <TD ALIGN="center">S</TD>
  638. <TD ALIGN="center">N</TD>
  639. <TD ALIGN="center">S</TD>
  640. <TD ALIGN="center">N</TD>
  641. <TD ALIGN="center">N</TD>
  642. </TR>
  643. <TR>
  644. <TH>Extras</TH>
  645. <TH>html</TH>
  646. <TH>xhtml</TH>
  647. <TH>sgml</TH>
  648. <TH>tex</TH>
  649. <TH>man</TH>
  650. <TH>mgp</TH>
  651. <TH>moin</TH>
  652. <TH>pm6</TH>
  653. <TH>txt</TH>
  654. </TR>
  655. <TR>
  656. <TD>image align</TD>
  657. <TD ALIGN="center">S</TD>
  658. <TD ALIGN="center">S</TD>
  659. <TD ALIGN="center">N</TD>
  660. <TD ALIGN="center">N</TD>
  661. <TD ALIGN="center">-</TD>
  662. <TD ALIGN="center">S</TD>
  663. <TD ALIGN="center">N</TD>
  664. <TD ALIGN="center">N</TD>
  665. <TD ALIGN="center">-</TD>
  666. </TR>
  667. <TR>
  668. <TD>table cell align</TD>
  669. <TD ALIGN="center">S</TD>
  670. <TD ALIGN="center">S</TD>
  671. <TD ALIGN="center">S</TD>
  672. <TD ALIGN="center">S</TD>
  673. <TD ALIGN="center">S</TD>
  674. <TD ALIGN="center">N</TD>
  675. <TD ALIGN="center">S</TD>
  676. <TD ALIGN="center">N</TD>
  677. <TD ALIGN="center">N</TD>
  678. </TR>
  679. </TABLE>
  680. <TABLE ALIGN="center" CELLPADDING="4">
  681. <TR>
  682. <TH></TH>
  683. <TH>Legenda</TH>
  684. </TR>
  685. <TR>
  686. <TD><B>S</B></TD>
  687. <TD><I>suportada</I></TD>
  688. </TR>
  689. <TR>
  690. <TD><B>N</B></TD>
  691. <TD><I>não suportada (talvez em uma versão futura)</I></TD>
  692. </TR>
  693. <TR>
  694. <TD><B>-</B></TD>
  695. <TD><I>não suportada (não pode ser feita neste formato)</I></TD>
  696. </TR>
  697. </TABLE>
  698. <HR NOSHADE SIZE=1>
  699. <H2 ID="toc7">As Três Interfaces ao Usuário: GUI, Web e Linha de Comando</H2>
  700. <P>
  701. Assim como diferentes usuários possuem diferentes necessidades e
  702. ambientes, o txt2tags é bastante flexivel na forma de ser usado.
  703. </P>
  704. <P>
  705. Existem três Interfaces de Usuário para o programa, cada uma atendendo a
  706. um objetivo definido e com funcionalidades próprias.
  707. </P>
  708. <UL>
  709. <LI><B>GUI</B>: Escrita em Tk, traz as janelas e os cliques para o txt2tags.
  710. <LI><B>Web</B>: Escrita em PHP, permite que o usuário execute o txt2tags no
  711. navegador, não exigindo instalação do lado do cliente.
  712. <LI><B>Linha de Comando</B>: Escrita em Python, é o núcleo do programa.
  713. Todas as funcionalidades estão disponíveis como opções de
  714. linha de comando.
  715. </UL>
  716. <HR NOSHADE SIZE=1>
  717. <H3 ID="gui">Interface Gráfica Tk</H3>
  718. <P>
  719. Desde a versão 1.0, uma bela Interface Gráfica, que funciona do
  720. Linux, Windows, Mac e outros.
  721. </P>
  722. <P>
  723. O programa automaticamente detecta se seu sistema pode apresentar a
  724. interface e a lança quando é chamado sem argumentos. Pode-se forçar a
  725. apresentação da Interfaca Gráfica com a opção <CODE>--gui</CODE>. Se estiver
  726. faltando algum recurso o programa irá alertar.
  727. </P>
  728. <BLOCKQUOTE>
  729. <B>Nota:</B> O módulo Tkinter é necessário. Como ele vem com a
  730. distribição padrão do Python você deve -lo.
  731. </BLOCKQUOTE>
  732. <P>
  733. Ela é bastante simples e fácil de usar:
  734. </P>
  735. <center><IMG ALIGN="middle" SRC="../userguide/gui.png" BORDER="0" ALT=""></center>
  736. <OL>
  737. <LI>Você localiza o arquivo fonte .t2t no disco e suas opções são
  738. carregadas.
  739. <P></P>
  740. <LI>Se o destino ainda estiver vazio, você deve escolher um.
  741. <P></P>
  742. <LI> algumas opões que podem ser escolhidas, mas nenhuma delas é
  743. essencial.
  744. <P></P>
  745. <LI>Finalmente, pressione o botão "Converter!".
  746. </OL>
  747. <P>
  748. Uma boa opção a selecionar é "<I>Dump to screen</I>", assim se pode
  749. verificar o código resultante em uma janela separada, sem que o arquivo
  750. seja salvo. Quando o código estiver correto, basta desmarcá-la e o
  751. arquivo será gravado.
  752. </P>
  753. <P>
  754. As cores padrão podem ser mudadas no arquivo <CODE>~/.txt2tagsrc</CODE>,
  755. configurando em <CODE>%!guicolors</CODE>. Por exemplo:
  756. </P>
  757. <PRE>
  758. % minhas cores para a interface (fundo1, texto1, fundo2, texto2)
  759. %!guicolors: blue white brown yellow
  760. </PRE>
  761. <HR NOSHADE SIZE=1>
  762. <H3 ID="web">Interface Web</H3>
  763. <P>
  764. A Interface Web está em funcionamento na Internet no endereço
  765. <A HREF="http://txt2tags.org/online.php">http://txt2tags.org/online.php</A>, permitindo que o programa possa ser
  766. usado e testado antes de ser copiado.
  767. </P>
  768. <center><IMG ALIGN="middle" SRC="../userguide/web.png" BORDER="0" ALT=""></center>
  769. <P>
  770. Esta interface também pode ser colocada na intrant para uso local,
  771. evitando a instalação do txt2tags em todas as máquinas.
  772. </P>
  773. <HR NOSHADE SIZE=1>
  774. <H3 ID="linhadecomando">Interface de Linha de Comando</H3>
  775. <P>
  776. Para usuários de linha de comando acostumados, o parâmetro --help deve
  777. ser suficiente:
  778. </P>
  779. <PRE>
  780. Uso: txt2tags [OPÇÕES] [arquivo.t2t ...]
  781. -t, --target define o formato do destino. tipos suportados:
  782. html, xhtml, sgml, tex, man, mgp, moin, pm6, txt
  783. -i, --infile=ARQ define ARQ como o arquivo fonte ('-' para STDIN)
  784. -0, --outfile=ARQ define ARQ como o arquivo destino ('-' para STDOUT)
  785. -n, --enum-title numera todos os títulos como 1, 1.1, 1.1.1, etc
  786. -H, --no-headers suprime os cabeçalhos, título e rodapé
  787. --headers exibe os cabeçalhos, título e rodapé (padrão LIGADO)
  788. --encoding informa a codificação de destino (utf-8, iso-8859-1, etc)
  789. --style=ARQ utiliza ARQ como estilo do documento (CSS no Html)
  790. --css-sugar insere tags compatíveis com CSS em destinos HTML e XHTML
  791. --mask-email esconde e-mails dos robôs de SPAM. x@y.z vira &lt;x (a) y z&gt;
  792. --toc inclui o Índice (Table of Contents) no documento destino
  793. --toc-only exibe o Índice do documento e sai
  794. --toc-level=N define o nível máximo do Índice para N
  795. --rc a config do usuário em ~/.txt2tagsrc (padrão LIGADO)
  796. --gui carrega a interface gráfica escrita em TK
  797. -v, --verbose exibe mensagens informativas durante a conversão
  798. -h, --help exibe este texto de ajuda e sai
  799. -V, --version exibe a versão do programa e sai
  800. --dump-config exibe todas as configurações encontradas e sai
  801. Opções para DESLIGAR funcionalidades:
  802. --no-outfile, --no-infile, --no-style, --no-encoding, --no-headers
  803. --no-toc, --no-toc-only, --no-mask-email, --no-enum-title, --no-rc
  804. --no-css-sugar
  805. Exemplo:
  806. txt2tags -t html --toc meuarquivo.t2t
  807. Normalmente a saída convertida é gravada em 'arquivo.&lt;tipo&gt;'.
  808. Utilize --outfile para forçar um nome para o arquivo de saída.
  809. Se o arquivo de entrada é '-', de STDIN.
  810. Se o arquivo de saída é '-', envia a saída para STDOUT.
  811. </PRE>
  812. <H4>Exemplos</H4>
  813. <P>
  814. Supondo que exista um arquivo de marcação chamado <CODE>file.t2t</CODE>, vamos nos
  815. divertir um pouco.
  816. </P>
  817. <TABLE CELLPADDING="4">
  818. <TR>
  819. <TD><B>Convertendo para HTML</B></TD>
  820. <TD><CODE>$ txt2tags -t html file.t2t</CODE></TD>
  821. </TR>
  822. <TR>
  823. <TD><B>O mesmo, usando redirecionamento</B></TD>
  824. <TD><CODE>$ txt2tags -t html -o - file.t2t &gt; file.html</CODE></TD>
  825. </TR>
  826. <TR>
  827. <TD></TD>
  828. <TD>.</TD>
  829. </TR>
  830. <TR>
  831. <TD><B>Incluindo uma Tabela de Conteúdo</B></TD>
  832. <TD><CODE>$ txt2tags -t html --toc file.t2t</CODE></TD>
  833. </TR>
  834. <TR>
  835. <TD><B>Idem, numerando os títulos</B></TD>
  836. <TD><CODE>$ txt2tags -t html --toc --enum-title file.t2t</CODE></TD>
  837. </TR>
  838. <TR>
  839. <TD></TD>
  840. <TD>.</TD>
  841. </TR>
  842. <TR>
  843. <TD><B>Visualização Rápida do Conteúdo</B></TD>
  844. <TD><CODE>$ txt2tags --toc-only file.t2t</CODE></TD>
  845. </TR>
  846. <TR>
  847. <TD><B>Quem sabe com números?</B></TD>
  848. <TD><CODE>$ txt2tags --toc-only --enum-title file.t2t</CODE></TD>
  849. </TR>
  850. <TR>
  851. <TD></TD>
  852. <TD>.</TD>
  853. </TR>
  854. <TR>
  855. <TD><B>Linha simples de STDIN</B></TD>
  856. <TD><CODE>$ echo -e "\n**bold**" | txt2tags -t html --no-headers -</CODE></TD>
  857. </TR>
  858. <TR>
  859. <TD><B>Testando o Mascaramento de Email</B></TD>
  860. <TD><CODE>$ echo -e "\njohn.wayne@farwest.com" | txt2tags -t txt --mask-email --no-headers -</CODE></TD>
  861. </TR>
  862. <TR>
  863. <TD><B>Edição pós-conversão</B></TD>
  864. <TD><CODE>$ txt2tags -t html -o- file.t2t | sed "s/&lt;BODY .*/&lt;BODY BGCOLOR=green&gt;/" &gt; file.html</CODE></TD>
  865. </TR>
  866. </TABLE>
  867. <DL>
  868. <DT><I>Nota</I></DT><DD>
  869. Desde a versão 1.6 você pode fazer pre e pós processamento usando as
  870. macros de configuração <CODE>%!preproc</CODE> e <CODE>%!postproc</CODE>.
  871. </DL>
  872. <HR NOSHADE SIZE=5>
  873. <H1 ID="instalacao">Parte II - OK, eu quero um. E agora?</H1>
  874. <P>
  875. Basta baixar o programa e executar o mesmo no seu computador.
  876. </P>
  877. <H2 ID="toc9">Download e Instalação do Python</H2>
  878. <P>
  879. Antes de mais nada, deve-se baixar e instalar o interpretador Python
  880. para o seu sistema. Se você o tem, então pule eset passo.
  881. </P>
  882. <P>
  883. O Python é uma das melhores linguagens de programação que existem, ela
  884. pode ser utilizada no Windows, Linux, UNIX, Macintosh, e outras
  885. plataformas, e pode ser baixada do
  886. <A HREF="http://www.python.org">web site do Python</A>. As dicas de instalação podem
  887. ser encontradas no mesmo site. O txt2tags funciona com o Python 1.5 ou
  888. posterior.
  889. </P>
  890. <P>
  891. Se você não tem certeza de ter o Python ou não, abra um console (tty,
  892. xterm, MSDOS) e escreva <CODE>python</CODE>. Se ele não estiver instalado, o
  893. sistema vai lhe informar.
  894. </P>
  895. <H2 ID="toc10">Copiando o txt2tags</H2>
  896. <P>
  897. O local oficial de distribuição do txt2tags é na homepage do programa,
  898. em <A HREF="http://txt2tags.org/src">http://txt2tags.org/src</A>.
  899. </P>
  900. <P>
  901. Todos os arquivos do programa estão em um tarball (arquivo .tgz), que
  902. pode ser expandido pela maioria dos utilitários de compressão (incluindo
  903. o Winzip).
  904. </P>
  905. <P>
  906. Simplesmente pegue a <B>última</B> versão (data mais recente, número de
  907. versão maior). As versões anteriores estão apenas por razões
  908. históricas.
  909. </P>
  910. <H2 ID="toc11">Instalação do txt2tags</H2>
  911. <P>
  912. Como é apenas um script Python, o txt2tags não precisa ser instalado.
  913. </P>
  914. <P>
  915. O único arquivo necessário para usar o programa é o script txt2tags. Os
  916. outros arquivos do tarball compreendem a documentação, ferramentas e
  917. arquivos de exemplo.
  918. </P>
  919. <P>
  920. O modo mais seguro de usar o txt2tags é chamar o Python com ele:
  921. </P>
  922. <PRE>
  923. prompt$ python txt2tags
  924. </PRE>
  925. <P>
  926. Se você quiser "instalar" o txt2tags no sistema como um programa
  927. independente, basta copiar (ou criar um link) o script txt2tags para um
  928. diretório que esteja no PATH do sistema e certificar-se que o sistema
  929. saiba como executar o mesmo.
  930. </P>
  931. <DL>
  932. <DT><B>UNIX/Linux</B></DT><DD>
  933. Torne o script executável (<CODE>chmod +x txt2tags</CODE>) e copie o mesmo para
  934. um diretório no $PATH (<CODE>cp txt2tags /usr/local/bin</CODE>)
  935. <P></P>
  936. <DT><B>Windows</B></DT><DD>
  937. Renomeie o script, acrescentando a extensão .py
  938. (<CODE>ren txt2tags txt2tags.py</CODE>) e o copie para um diretório que esteja
  939. no PATH do sistema (<CODE>copy txt2tags.py C:\WINNT</CODE>)
  940. </DL>
  941. <P>
  942. Depois disto, pode-se criar um ícone no desktop para o programa, se
  943. quiser usar a Interface Gráfica do programa.
  944. </P>
  945. <H3>Pacotes Especiais para Usuários Windows</H3>
  946. <P>
  947. Existem dois arquivos de distribuição .EXE para o txt2tags, que instalam
  948. o programa em máquinas Windows com apenas alguns cliques:
  949. </P>
  950. <UL>
  951. <LI>O script txt2tags para aqueles que tem o interpretador Python
  952. instalado
  953. <LI>A versão stand-alone, que não requer a instalação do interpretador
  954. Pyton para ser executada ( tem uma versão pequena incluída).
  955. </UL>
  956. <P>
  957. Visite o site <I>Txt2tags-Win</I> para baixar estes pacotes:
  958. <A HREF="http://txt2tags-win.sf.net/">http://txt2tags-win.sf.net/</A>
  959. </P>
  960. <H2 ID="sintaxe">Instalar os Arquivos de Sintaxe dos Editores de Texto</H2>
  961. <P>
  962. O txt2tags possui arquivos de sintaxe práticos que podem ser usados com
  963. os seguintes editores de texto:
  964. </P>
  965. <UL>
  966. <LI>Vim (<A HREF="http://www.vim.org">www.vim.org</A>)
  967. <LI>Emacs (<A HREF="http://www.emacs.org">www.emacs.org</A>)
  968. <LI>Nano (<A HREF="http://www.nano-editor.org">www.nano-editor.org</A>)
  969. <LI>Kate (<A HREF="http://kate.kde.org">http://kate.kde.org</A>)
  970. </UL>
  971. <P>
  972. Os arquivos de sintaxe têm registro de todas as regras e marcações do
  973. txt2tags, ajudando ao usuário a escrever documentos sem erros. As marcas
  974. são mostradas coloridas, assim se pode ver se tudo foi escrito
  975. corretamente.
  976. </P>
  977. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  978. <TR>
  979. <TD ALIGN="center"><center><IMG ALIGN="middle" SRC="../userguide/vim.png" BORDER="0" ALT=""></center></TD>
  980. </TR>
  981. <TR>
  982. <TD ALIGN="center">O arquivo de exemplo aberto no Editor Vim</TD>
  983. </TR>
  984. </TABLE>
  985. <P>
  986. Cada editor tem um procedimento diferente para usar seu arquivo de
  987. sintaxe. Por favor verifique no cabeçalho de cada arquivo e na
  988. documentação do editor.
  989. </P>
  990. <HR NOSHADE SIZE=5>
  991. <H1 ID="toc13">Parte III - Escrevendo e Convertendo Seu Primeiro Documento</H1>
  992. <P>
  993. Desculpe, este capítulo ainda está em desenvolvimento.
  994. </P>
  995. <H2 ID="toc14">As Áreas do documento .t2t</H2>
  996. <P>
  997. Os arquivos de marcação txt2tags são divididos em 3 áreas. Cada área tem
  998. suas próprias regras e finalidade. São elas:
  999. </P>
  1000. <DL>
  1001. <DT><I>Área de Cabeçalho</I></DT><DD>
  1002. É o lugar para informações sobre o Título do Documento, Autor, Versão e
  1003. Data. (opcional)
  1004. <P></P>
  1005. <DT><I>Área de Configuração</I></DT><DD>
  1006. É o local para colocar as configurações Gerais do documento e
  1007. modificadores do funcionamento do analisador. (opcional)
  1008. <P></P>
  1009. <DT><I>Corpo do Texto</I></DT><DD>
  1010. É o local para o Conteúdo do Documento (requerida)
  1011. </DL>
  1012. <P>
  1013. Como vemos acima, as duas primeiras áreas são opcionais, sendo que o
  1014. <I>Corpo do Texto</I> é a única área indispensável.
  1015. (<I>Nota: A <B>Área de Configuração</B> foi introduzida no txt2tags na versão 1.3</I>)
  1016. </P>
  1017. <P>
  1018. As áreas são delimitadas por regras especiais, que serão vistas em
  1019. detalhe no próximo capítulo. Por enquanto, esta é uma representação
  1020. gráfica das áreas de um documento:
  1021. </P>
  1022. <PRE>
  1023. ____________
  1024. | |
  1025. | CABEÇALHO | 1. Primeiro, o cabeçalho
  1026. | |
  1027. | CONFIG | 2. Então a configuração
  1028. | |
  1029. | CORPO | 3. E, finalmente, o corpo do documento
  1030. | |
  1031. | ... | que segue até o final do arquivo.
  1032. | ... |
  1033. |____________|
  1034. </PRE>
  1035. <P>
  1036. Em resumo, é assim que as áreas são definidas:
  1037. </P>
  1038. <TABLE ALIGN="center" CELLPADDING="4">
  1039. <TR>
  1040. <TD><B>Cabeçalhos</B></TD>
  1041. <TD>As primeiras 3 linhas do arquivo, ou a primeira linha é deixada em branco se não são usados cabeçalhos</TD>
  1042. </TR>
  1043. <TR>
  1044. <TD><B>Configuração</B></TD>
  1045. <TD>Começam logo depois do cabeçalho (4a. ou 2a. linha) e termina quando a <I>Área de Conteúdo</I> começa.</TD>
  1046. </TR>
  1047. <TR>
  1048. <TD><B>Corpo</B></TD>
  1049. <TD>A primeira linha de texto válida (que não é comentário ou configuração) após a <I>Área de Cabeçalho</I>.</TD>
  1050. </TR>
  1051. </TABLE>
  1052. <H3>Exemplo Completo</H3>
  1053. <PRE>
  1054. Título do meu belo documento
  1055. Sr. Fulano da Silva
  1056. Última atualização: %%date(%c)
  1057. %! Target : html
  1058. %! Style : fancy.css
  1059. %! Encoding: UTF-8
  1060. %! Options : --toc --enum--title
  1061. Oi! Este é o meu documento de teste.
  1062. E o seu conteúdo termina aqui.
  1063. </PRE>
  1064. <HR NOSHADE SIZE=5>
  1065. <H1 ID="toc15">Parte IV - Dominando o Txt2tags</H1>
  1066. <H2 ID="toc16">A Área de Cabeçalho</H2>
  1067. <P>
  1068. Localização:
  1069. </P>
  1070. <UL>
  1071. <LI>Posição fixa: <B>Primeiras 3 linhas</B> do arquivo. Ponto.
  1072. <LI>Posição fixa: <B>A Primeira Linha</B> do arquivo está em branco. Isto
  1073. significa que o cabeçalho está vazio.
  1074. </UL>
  1075. <P>
  1076. A Área de Cabeçalho é a única que tem uma posição fixa, orientada a
  1077. linhas. Ela está localizada nas três primeiras linhas do código fonte.
  1078. </P>
  1079. <P>
  1080. O conteúdo destas linhas é livre, sem necessidade de nenhuma informação
  1081. estática de nenhum tipo. Mas recomenda-se o seguinte para a maioria dos
  1082. documentos:
  1083. </P>
  1084. <UL>
  1085. <LI><I>linha 1</I>: título do documento
  1086. <LI><I>linha 2</I>: nome e/ou email do autor
  1087. <LI><I>linha 3</I>: data e/ou versão do documento
  1088. (um bom lugar para colocar <CODE>%%date</CODE>)
  1089. </UL>
  1090. <P>
  1091. Tenha em mente que as 3 primeiras linhas do arquivo fonte serão as 3
  1092. primeiras linhas no documento gerado, separadas e com um grande
  1093. contraste em relação ao corpo do texto (ou seja, letras grandes,
  1094. negrito). Se a paginação for permitida, os cabeçalhos estarão separados
  1095. e centralizados na primeira página.
  1096. </P>
  1097. <H4>Menos (ou Nenhuma) Linhas de Cabeçalho</H4>
  1098. <P>
  1099. Às vezes os usuários querem especificar menos de três linhas nos
  1100. cabeçalhos, dando apenas o título do documento e/ou informação de data.
  1101. </P>
  1102. <P>
  1103. Basta deixar a 2a. e/ou a 3a. linhas em branco e estas linhas não serão
  1104. incluídas no documento gerado. Mas tenha em mente que, mesmo em branco,
  1105. estas linhas ainda são parte dos cabeçalho, e o corpo do documento deve
  1106. começar <B>após</B> a 3a. linha.
  1107. </P>
  1108. <P>
  1109. O título é o único cabeçalho requerido (a primeira linha), mas se você
  1110. deixar ela em branco, está dizendo que seu documento
  1111. <B>não tem cabeçalho</B>. Desta forma, a <I>Área de Texto</I> irá começar em
  1112. seguida, na 2a. linha.
  1113. </P>
  1114. <P>
  1115. Não usar cabeçalhos no documento é útil se você quiser especificar seus
  1116. próprios cabeçalhos customizados após a conversão. A opção de linha de
  1117. comando <CODE>--no-headers</CODE> é geralmente necessária para este tipo de coisa.
  1118. </P>
  1119. <H4>Direto ao ponto</H4>
  1120. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  1121. <TR>
  1122. <TH>Em resumo: "Cabeçalhos são apenas <U>posições</U>, não conteúdo "</TH>
  1123. </TR>
  1124. </TABLE>
  1125. <P>
  1126. Coloque um texto na primeira linha, ele irá aparecer na primeira linha
  1127. do arquivo gerado. O mesmo para a 2a. e 3a. linhas de cabeçalho.
  1128. </P>
  1129. <HR NOSHADE SIZE=1>
  1130. <H2 ID="toc17">A Área de Configuração</H2>
  1131. <P>
  1132. Localização:
  1133. </P>
  1134. <UL>
  1135. <LI>Começa logo após a Área de Cabeçalhos
  1136. <UL>
  1137. <LI>Começa na <B>4a. linha</B> do arquivo se forem especificados <B>Cabeçalhos</B>
  1138. <LI>Começa na <B>2a. linha</B> se <B>não</B> forem especificados <B>Cabeçalhos</B>
  1139. </UL>
  1140. <LI>Termina quando a Área de Conteúdo começa
  1141. <UL>
  1142. <LI>Termina com uma linha que não seja de Configuração, ou de
  1143. Comentário, ou que seja uma linha em Branco.
  1144. </UL>
  1145. </UL>
  1146. <P>
  1147. A Área de Configuração é opcional. A maioria dos usuários pode escrever
  1148. carradas de arquivos txt2tags mesmo sem saber que ela existe, mas os
  1149. usuários experientes irão gostar do poder e controle que ela oferece.
  1150. </P>
  1151. <P>
  1152. O uso primário desta área é para definir configurações que afetam o
  1153. comportamento do programa.
  1154. </P>
  1155. <H4>Então, como configurar algo? Qual a sintaxe?</H4>
  1156. <P>
  1157. As linhas de configuração são <I>linhas de comentário especiais</I>,
  1158. marcadas com um identificador no início ("<CODE>!</CODE>") que torna estes
  1159. comentários diferentes dos comentários normais. A sintaxe é tão simples
  1160. quanto uma atribuição de valor a uma variável, composta por uma
  1161. palavra-chave e um valor, separados um do outro pelo separador canônico
  1162. dois-pontos ("<CODE>:</CODE>").
  1163. </P>
  1164. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  1165. <TR>
  1166. <TH>%! palavra-chave : valor</TH>
  1167. </TR>
  1168. </TABLE>
  1169. <P>
  1170. <B><CODE>Detalhes da Sintaxe:</CODE></B> O ponto de exclamação deve ser colocado
  1171. junto com o caractere de comentário, sem espaço entre eles ("<CODE>%!</CODE>").
  1172. Os espaços em torno da <I>palavra-chave</I> e o separador são opcionais, e
  1173. tanto a <I>palavra-chave</I> quanto o <I>valor</I> podem estar
  1174. indiferentemente em maiúsculas ou minúsculas.
  1175. </P>
  1176. <H4>O que eu posso configurar? Quais são as palavra-chave válidas?</H4>
  1177. <P>
  1178. As configurações que podem ser feitas são <I>Target</I>, <I>Options</I>, <I>Style</I>,
  1179. <I>Encoding</I>, <I>PreProc</I> e <I>PostProc</I>.
  1180. </P>
  1181. <P>
  1182. A configuração <B><I>Target</I></B> define o destino padrão na qual o
  1183. documento deve ser convertido.
  1184. </P>
  1185. <P>
  1186. A configuração <B><I>Options</I></B> é útil para especificar as opções de
  1187. linha de comando padrão para o arquivo fonte. Estas opções podem ser
  1188. sobrescritas pela linha de comando real. Usar esta opção juntamente com
  1189. <CODE>%!target</CODE> permite converter o documento simplesmente comandando:
  1190. <CODE>txt2tags file.t2t</CODE>
  1191. </P>
  1192. <P>
  1193. A configuração <B><I>Style</I></B> é suportada pelo tipo de documento
  1194. destino HTML, para definir uma folha de estilo
  1195. (<I>Cascading Style Sheets - CSS</I>).
  1196. </P>
  1197. <P>
  1198. A configuração <B><I>Encoding</I></B> é necessária para escritores não
  1199. ingleses, que usem letras acentuadas e outros detalhes específicos de
  1200. localização, de forma que o <I>Conjunto de Caracteres</I> do documento seja
  1201. personalizado (se permitido).
  1202. </P>
  1203. <P>
  1204. A configuração <B><I>PreProc</I></B> é um filtro. Ela define regras do tipo
  1205. "busca e troca" que serão aplicadas ao arquivo original <U>antes</U> que
  1206. qualquer análise por parte do txt2tags ocorra.
  1207. </P>
  1208. <P>
  1209. A configuração <B><I>PostProc</I></B> é um filtro. Ela define regras do tipo
  1210. "busca e troca" que serão aplicadas ao arquivo destino <U>depois</U> de
  1211. todo o processamento por parte do txt2tags.
  1212. </P>
  1213. <P>
  1214. Exemplo:
  1215. </P>
  1216. <PRE>
  1217. %! Target : html
  1218. %! Options : --toc --toc-level 3
  1219. %! Style : fancy.css
  1220. %! Encoding: UTF-8
  1221. %! PreProc : "amj" "Aurelio Marinho Jargas"
  1222. %! PostProc: '&lt;BODY.*?&gt;' '&lt;BODY bgcolor="yellow"&gt;'
  1223. </PRE>
  1224. <H4>Algumas regras sobre as Configurações</H4>
  1225. <UL>
  1226. <LI>As configurações são válidas somente dentro da Área de Configuração,
  1227. e serão consideradas comentários simples se forem encontradas no
  1228. Corpo do documento.
  1229. <P></P>
  1230. <LI>Se a mesma palavra-chave aparece mais de uma vez na Área de
  1231. Configuração, apenas a última será usada. Exceção: options, preproc e
  1232. postproc, que são acumulativas.
  1233. <P></P>
  1234. <LI>Uma linha de configuração com uma palavra-chave inválida será
  1235. considerada um comentário.
  1236. <P></P>
  1237. <LI>Estas configurações têm precedência sobre o arquivo <CODE>txt2tagsrc</CODE>,
  1238. as não sobre as opções de linha de comando.
  1239. </UL>
  1240. <HR NOSHADE SIZE=1>
  1241. <H2 ID="toc18">O Corpo do Texto</H2>
  1242. <P>
  1243. Localização:
  1244. </P>
  1245. <UL>
  1246. <LI>Começa na primeira linha válida de texto do arquivo
  1247. <UL>
  1248. <LI>Cabeçalhos, Configurações e Comentários <B>não</B> são linhas de texto
  1249. válidas
  1250. </UL>
  1251. <LI>Termina no fim do arquivo (EOF)
  1252. </UL>
  1253. <P>
  1254. Bem, o corpo do texto é tudo que estiver fora das Áreas de Cabeçalho e
  1255. de Configuração.
  1256. </P>
  1257. <P>
  1258. O corpo do texto é onde está o conteúdo do documento e todas as
  1259. estruturas e formatações que o txt2tags reconhece. Dentro do corpo podem
  1260. ser também colocados comentários para <I>A FAZER</I> e anotações
  1261. particulares.
  1262. </P>
  1263. <P>
  1264. Pode-se utilizar a opção de linha de comando <CODE>--no-headers</CODE> para
  1265. converter somente o corpo do documento, suprimindo os cabeçalhos. Esta
  1266. opção é útil quando os cabeçalhos estão em um arquivo separado, que será
  1267. unido ao corpo depois da conversão.
  1268. </P>
  1269. <HR NOSHADE SIZE=1>
  1270. <H2 ID="regras">Marcações (REGRAS)</H2>
  1271. <P>
  1272. Todas as marcações e sintaxe usadas pelo txt2tags estão detalhadas em
  1273. um <A HREF="REGRAS">arquivo REGRAS a parte</A>.
  1274. </P>
  1275. <HR NOSHADE SIZE=1>
  1276. <H2 ID="data">A macro %%date</H2>
  1277. <P>
  1278. A macro <CODE>%%date</CODE> chamada sem nenhum parâmetro adicional retorna a data
  1279. atual no formato ISO <I>yyyymmdd</I>. Uma formatação opcional pode ser
  1280. especificada usando a sintaxe <CODE>%%date(formato)</CODE>.
  1281. </P>
  1282. <P>
  1283. O <I>formato</I> contém texto de diretivas de formatação, que são compostas
  1284. por um sinal de porcentagem (<CODE>%</CODE>) seguido por um caractere de
  1285. identificação.
  1286. </P>
  1287. <P>
  1288. Segue uma lista de algumas diretivas comuns. A lista completa pode ser
  1289. encontrada em <A HREF="http://www.python.org/doc/current/lib/module-time.html">http://www.python.org/doc/current/lib/module-time.html</A>.
  1290. </P>
  1291. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  1292. <TR>
  1293. <TH>Diretiva</TH>
  1294. <TH>Descrição</TH>
  1295. </TR>
  1296. <TR>
  1297. <TD ALIGN="center">%a</TD>
  1298. <TD>Dia da semana local abreviado.</TD>
  1299. </TR>
  1300. <TR>
  1301. <TD ALIGN="center">%A</TD>
  1302. <TD>Dia da semana completo.</TD>
  1303. </TR>
  1304. <TR>
  1305. <TD ALIGN="center">%b</TD>
  1306. <TD>Nome do mês abreviado.</TD>
  1307. </TR>
  1308. <TR>
  1309. <TD ALIGN="center">%B</TD>
  1310. <TD>Nome do mês.</TD>
  1311. </TR>
  1312. <TR>
  1313. <TD ALIGN="center">%c</TD>
  1314. <TD>Dia e hora formatados apropriadamente.</TD>
  1315. </TR>
  1316. <TR>
  1317. <TD ALIGN="center">%d</TD>
  1318. <TD>Dia do mês como um número decimal [01,31].</TD>
  1319. </TR>
  1320. <TR>
  1321. <TD ALIGN="center">%H</TD>
  1322. <TD>Hora (24 horas) como um número decimal [00,23].</TD>
  1323. </TR>
  1324. <TR>
  1325. <TD ALIGN="center">%I</TD>
  1326. <TD>Hora (12 horas) como um número decimal [01,12].</TD>
  1327. </TR>
  1328. <TR>
  1329. <TD ALIGN="center">%m</TD>
  1330. <TD>O mês como um número decimal [01,12].</TD>
  1331. </TR>
  1332. <TR>
  1333. <TD ALIGN="center">%M</TD>
  1334. <TD>O minuto como um número decimal [00,59].</TD>
  1335. </TR>
  1336. <TR>
  1337. <TD ALIGN="center">%p</TD>
  1338. <TD>O equivalente local a AM e PM.</TD>
  1339. </TR>
  1340. <TR>
  1341. <TD ALIGN="center">%S</TD>
  1342. <TD>Os segundos como um número decimal [00,61]. (1)</TD>
  1343. </TR>
  1344. <TR>
  1345. <TD ALIGN="center">%x</TD>
  1346. <TD>Representação local da data.</TD>
  1347. </TR>
  1348. <TR>
  1349. <TD ALIGN="center">%X</TD>
  1350. <TD>Representação local da hora.</TD>
  1351. </TR>
  1352. <TR>
  1353. <TD ALIGN="center">%y</TD>
  1354. <TD>O ano sem o século como um número decimal [00,99].</TD>
  1355. </TR>
  1356. <TR>
  1357. <TD ALIGN="center">%Y</TD>
  1358. <TD>O ano com o século como um número decimal.</TD>
  1359. </TR>
  1360. <TR>
  1361. <TD ALIGN="center">%%</TD>
  1362. <TD>Um caractere "%".</TD>
  1363. </TR>
  1364. </TABLE>
  1365. <H4>Exemplos</H4>
  1366. <TABLE ALIGN="center" BORDER="1" CELLPADDING="4">
  1367. <TR>
  1368. <TH><CODE>%%date(format)</CODE></TH>
  1369. <TH>Resultado para: 2004, Jul13, 18:49</TH>
  1370. </TR>
  1371. <TR>
  1372. <TD>Last Update: %c</TD>
  1373. <TD>Last Update: Tue Jan 13 18:49:32 2004</TD>
  1374. </TR>
  1375. <TR>
  1376. <TD>%Y-%m-%d</TD>
  1377. <TD>2004-07-13</TD>
  1378. </TR>
  1379. <TR>
  1380. <TD>%I:%M %p</TD>
  1381. <TD>18:49 PM</TD>
  1382. </TR>
  1383. <TR>
  1384. <TD>Hoje e %A, em %B.</TD>
  1385. <TD>Hoje e Tuesday, em July.</TD>
  1386. </TR>
  1387. </TABLE>
  1388. <HR NOSHADE SIZE=1>
  1389. <H2 ID="include">O comando %!include</H2>
  1390. <P>
  1391. A partir da versão 1.7, é possível usar o comando <CODE>include</CODE> para
  1392. inserir o conteúdo de um arquivo externo dentro do corpo do documento
  1393. original.
  1394. </P>
  1395. <P>
  1396. O <CODE>%!include</CODE> não é uma configuração, mas um comando, sendo somente
  1397. válido na área de CORPO do texto.
  1398. </P>
  1399. <P>
  1400. O comando <CODE>include</CODE> é útil para dividir um documento grande em vários
  1401. arquivos menores (como capítulos de um livro) ou para incluir todo o
  1402. conteúdo de um arquivo qualquer no documento. Por exemplo:
  1403. </P>
  1404. <PRE>
  1405. Meu Primeiro Livro
  1406. Dr. Fulano da Silva
  1407. 1ª Edição
  1408. %!include: introducao.t2t
  1409. %!include: capitulo1.t2t
  1410. %!include: capitulo2.t2t
  1411. ...
  1412. %!include: capitulo9.t2t
  1413. %!include: conclusao.t2t
  1414. </PRE>
  1415. <P>
  1416. Como se pode ver, basta informar o nome do arquivo logo após o comando
  1417. <CODE>%!include</CODE>. Também é possível atrelar o comando a um destino
  1418. específico, como em:
  1419. </P>
  1420. <PRE>
  1421. %!include(html): arquivo.t2t
  1422. </PRE>
  1423. <P>
  1424. Note que o <CODE>include</CODE> vai inserir o CORPO do documento .t2t, ignorando
  1425. seu CABEÇALHO e suas CONFIGURAÇÕES. Assim é possível converter o arquivo
  1426. incluído de maneira isolada ou como parte do documento mãe.
  1427. </P>
  1428. <P>
  1429. Além de incluir arquivos .t2t, mais três tipos de inclusão:
  1430. </P>
  1431. <UL>
  1432. <LI>Inclusão de texto pré-formatado (Verbatim)
  1433. <LI>Inclusão de texto protegido (Raw)
  1434. <LI>Inclusão de texto convertido (Tagged)
  1435. </UL>
  1436. <P>
  1437. No tipo <B>Verbatim</B> o texto é incluído preservado seus espaços e
  1438. formatação originais. É como se esse texto estivesse entre as marcações
  1439. (```) da área VERB do txt2tags. Para incluir um arquivo dessa maneira,
  1440. basta colocar seu nome entre crases:
  1441. </P>
  1442. <PRE>
  1443. %!include: ``/etc/fstab``
  1444. </PRE>
  1445. <P>
  1446. No tipo <B>Raw</B> o texto é incluído "como está", sem tentar encontrar e
  1447. avaliar as marcas do txt2tags dele. É como se esse texto estivesse entre
  1448. as marcações (""") da área protegida. Para incluir um arquivo dessa
  1449. maneira, basta colocar seu nome entre aspas
  1450. </P>
  1451. <PRE>
  1452. %!include: ""bom_texto.txt""
  1453. </PRE>
  1454. <P>
  1455. Já no tipo <B>Tagged</B>, o texto é passado diretamente para o documento
  1456. resultante, sem NENHUM tratamento pelo txt2tags. Assim é possível
  1457. incluir tags adicionais, trechos já prontos ou estruturas mais
  1458. complicadas que não são suportadas pelo programa. Outra aplicação é
  1459. incluir um cabeçalho ou rodapé padrão em todos os documentos:
  1460. </P>
  1461. <PRE>
  1462. %!include(html): ''rodape.html''
  1463. </PRE>
  1464. <P>
  1465. Note que o nome do arquivo está entre aspas simples (e não crases como o
  1466. anterior). São estas aspas que indicam que o conteúdo deve ser passado
  1467. diretamente. Como este conteúdo já contém tags, é primordial especificar
  1468. o destino também, para evitar problemas.
  1469. </P>
  1470. <HR NOSHADE SIZE=5>
  1471. <H1 ID="settings">Parte V - Dominando as Diretivas de Configuração</H1>
  1472. <P>
  1473. As Diretivas de Configuração são todas opcionais. A maioria dos usuários
  1474. pode muito bem passar sem elas. Mas elas são viciantes, se você começa a
  1475. usá-las, não consegue parar :)
  1476. </P>
  1477. <HR NOSHADE SIZE=1>
  1478. <H2 ID="toc23">%!Target</H2>
  1479. <P>
  1480. Usando a configuração Target define o destino padrão definido no
  1481. documento:
  1482. </P>
  1483. <PRE>
  1484. %!target: html
  1485. </PRE>
  1486. <P>
  1487. Assim o usuário pode simplesmente comandar
  1488. </P>
  1489. <PRE>
  1490. $ txt2tags file.t2t
  1491. </PRE>
  1492. <P>
  1493. E a conversão será efetuada para o destino especificado.
  1494. </P>
  1495. <P>
  1496. A configuração Target não permite a especificação opcional de destino.
  1497. Afinal, não faz sentido algo como <CODE>%!target(tex): html</CODE>.
  1498. </P>
  1499. <HR NOSHADE SIZE=1>
  1500. <H2 ID="toc24">%!Options</H2>
  1501. <P>
  1502. Escrever longas lin…