<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN"
 "dtd/kdex.dtd" [
  <!ENTITY kappname "&kdvi;">
  <!ENTITY package "kdegraphics">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Portuguese "INCLUDE"
><!-- change language only here -->
]>

<book lang="&language;">
  <bookinfo>
    <title
>O Manual do &kdvi;</title>
    <authorgroup>
      <author
><firstname
>Stefan</firstname
> <surname
>Kebekus</surname
> <affiliation
> <address
> <email
>kebekus@kde.org</email>
          </address>
	</affiliation>
      </author>
      <othercredit role="translator"
><firstname
>José</firstname
><surname
>Pires</surname
><affiliation
><address
><email
>jncp@netcabo.pt</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
    </authorgroup>
    
    <copyright>
      <year
>2001-2004</year>
      <holder
>Stefan Kebekus</holder>
    </copyright>
    
    <legalnotice
>&FDLNotice;</legalnotice>
    
    <date
>2004-02-27</date>
    <releaseinfo
>1.11.00</releaseinfo>

    <abstract>
      <para
>Este documento descreve o &kdvi; versão 1.1</para>
    </abstract>

    <keywordset>
      <keyword
>KDE</keyword>
      <keyword
>linux</keyword>
      <keyword
>TeX</keyword>
      <keyword
>DVI</keyword>
    </keywordset>

  </bookinfo>

  <chapter id="introduction">
    <title
>Introdução</title>

    <para
>O &kdvi; é um 'plugin' para o programa &kviewshell; que permite ao &kviewshell; mostrar os ficheiros &DVI; (<literal role="extension"
>.dvi</literal
>) os quais são produzidos pelo sistema de publicação TeX. O &kdvi; suporta várias extensões da norma &DVI;, como por exemplo a inclusão de imagens ou hiper-ligações de &PostScript;. Para mais detalhes, exemplos e todas as especificações técnicas, poderá consultar o ficheiro <filename
>KDVI-features.dvi</filename
> (ou ver o <filename
>KDVI-features.tex</filename
> para ver o código em TeX desse ficheiro).</para>

    <para
>Para mais informações actualizadas consulte a <ulink url="http://devel-home.kde.org/~kdvi"
>página pessoal do &kdvi;</ulink
>. </para>

    <para
>O TeX é um sistema de publicação de alta qualidade que se dirige às publicações científicas, e em particular as matemáticas. Poderá obter mais informações sobre o TeX e o &DVI; na <ulink url="http://www.tug.org"
>página pessoal do grupo de utilizadores do TeX</ulink
> ou o <ulink url="http://www.dante.de"
>German DANTE e.V.</ulink
>. </para>
  </chapter>


  <chapter id="starting">
    <title
>Iniciar o &kdvi;</title>
    
    <para
>Na maior parte das vezes, o &kdvi; será iniciado a carregar num ficheiro <literal role="extension"
>.dvi</literal
> no gestor de ficheiros. Por conveniência, existe um comando <command
>kdvi</command
> que chama o &kviewshell; com o 'plugin' do &kdvi; pré-carregado. O visualizador poderá deste modo ser iniciado com o comando <userinput
><command
>kdvi</command
> <parameter
>localizacao/documento.dvi</parameter
></userinput
>. As linhas de comando <userinput
><command
>kdvi</command
> <parameter
>localizacao/documento</parameter
></userinput
> ou <userinput
><command
>kdvi</command
> <parameter
>localizacao/documento.</parameter
></userinput
> também irão funcionar. Se você estiver ligado à Internet, você poderá aceder aos ficheiros que existam nos outros computadores se indicar um &URL; como parâmetro, como por exemplo: <userinput
><command
>kdvi</command
> <parameter
>http://localizacao/documento.dvi</parameter
></userinput
> </para>
    
    <para
>Se você fornecer um &URL; como parâmetro, pode dizer ao &kdvi; para saltar directamente para uma certa parte do ficheiro &DVI;. Por exemplo, o comando <userinput
><command
>kdvi</command
> <parameter
>file:documento.dvi#43</parameter
></userinput
> fará com que o &kdvi; abra a página 43. Se você tiver incluído informações do código-fonte, um comando do tipo <userinput
><command
>kdvi</command
> <parameter
>file:documento.dvi#src:43documento.tex</parameter
></userinput
> fará com que o &kdvi; procure pelo local no ficheiro &DVI; que corresponde à linha 43 no ficheiro de TeX <parameter
>documento.tex</parameter
>. É pouco provável que você utilize esta opção &mdash; leia a secção sobre <link linkend="forward-search"
>pesquisa normal</link
> para aprender a configurar o seu editor para iniciar o &kdvi; automaticamente. </para>

    <warning
><para
>Não se esqueça de indicar o prefixo <userinput
>file:</userinput
> ou irá obter alguns resultados inesperados. Por exemplo, o comando <userinput
><command
>kdvi</command
> <parameter
>file:documento.dvi#43</parameter
></userinput
> irá abrir a página 43 do ficheiro <filename
>documento.dvi</filename
>. O comando <userinput
><command
>kdvi</command
> <parameter
>documento.dvi#43</parameter
></userinput
> irá tentar abrir o ficheiro <filename
>paper.dvi#43</filename
>.</para>
    </warning>

    <para
>Existe também outra opção que você não irá necessitar de indicar por si próprio. Se você escrever <userinput
><command
>kdvi</command
> <parameter
>--unique</parameter
> <parameter
>localizacao/documento.dvi</parameter
></userinput
>, o &kdvi; irá carregar o ficheiro se não existir nenhuma instância já em execução que contenha o ficheiro já aberto. Se existir, esta instância do &kdvi; passará para a frente. Um comando do tipo <userinput
><command
>kdvi</command
> <parameter
>--unique</parameter
> <parameter
>file:documento.dvi#43</parameter
></userinput
> poderá ser usado nos programas da linha de comandos para fazer com que uma instância em execução do &kdvi; salte para a página 43.</para>

    <para
>Os parâmetros normais tratados pelas aplicações do &Qt; e do &kde; também funcionam: <userinput
><command
>kdvi</command
> <option
>-style</option
> <parameter
>windows</parameter
> <option
>-display</option
> <parameter
>:0</parameter
> <option
>-geometry</option
> <parameter
>400x400+0+0</parameter
> <option
>-caption</option
> <parameter
>&quot;DVI&quot;</parameter
></userinput
> </para>
  </chapter>
  
  
  <chapter id="print">
    <title
>Imprimir os Ficheiros &DVI;</title>
    
    <para
>O &kdvi; pode imprimir os seus ficheiros &DVI; usando a interface-padrão do &kde; para impressões. Internamente, o &kdvi; usa o programa <command
>dvips</command
> para gerar &PostScript;, o qual é então passado à impressora. Em particular, o <command
>dvips</command
> tem de estar instalado se você desejar imprimir no &kdvi;. O programa <command
>dvips</command
> usa os seus ficheiros de configuração próprios, bem como as suas opções próprias, as quais se adequam na maioria dos casos. Contudo, se você necessitar de resultados de impressão óptimos, deverá configurar o <command
>dvips</command
> manualmente e certificar-se que define um modo predefinido do MetaFont que se adeque melhor à sua impressora &mdash; em muitos sistemas você irá encontrar a <ulink url="info:/dvips"
>documentação do <command
>dvips</command
> em Texinfo da GNU</ulink
> e poderá também encontrar um ficheiro chamado <filename
>dvips.dvi</filename
> ou semelhante.</para>
  </chapter>

  <chapter id="export">
    <title
>Exportar o ficheiro &DVI; para outros formatos</title>

    <para
>Se você desejar gravar o seu ficheiro no formato &PostScript; ou PDF, não se recomenda que você utilize a função de impressão e redireccione o resultado para um ficheiro. Deverá sim usar as funções de exportação que irão produzir um resultado com melhor qualidade, que retêm muitas das funcionalidades especiais do formato DVI e que aparecerão muito melhor em muitas das aplicações de visualização, como o <application
>Acrobat Reader</application
> da Adobe. Você irá encontrar as funções de exportação no menu <guimenu
>Ficheiro</guimenu
>.</para>

    <section id="export-ps">
      <title
>Exportar para &PostScript;</title
> 

      <para
>Tal como na impressão, o programa externo <command
>dvips</command
> é usado para gerar o ficheiro &PostScript;. Se o ficheiro &DVI; contiver hiper-ligações, estas também serão incluídas no ficheiro &PostScript;. Se você for um perito e se desejar gerar resultados optimizados para uma impressora específica, deverá querer iniciar o <command
>dvips</command
> manualmente e escolher o modo de MetaFont você mesmo.</para>
    </section>

    <section id="export-pdf">
      <title
>Exportar para <acronym
>PDF</acronym
></title
> 

      <para
>Para produzir ficheiros <acronym
>PDF</acronym
> com alta qualidade, o &kdvi; converte o &DVI; para <acronym
>PDF</acronym
> usando o programa externo <command
>dvipdfm</command
>. Se você estiver a trabalhar numa máquina com uma versão antiga do sistema de publicação TeX, pode acontecer que o programa <command
>dvipdfm</command
> não esteja instalado. Neste caso, você terá de usar a função de impressão para gerar os resultados em <acronym
>PDF</acronym
>.</para>

      <warning>
	<itemizedlist>
	  <listitem>
	    <para
>Se você usa uma instalação mais antiga do TeX, e se estiver a ver o ficheiro gerado no <application
>Acrobat reader</application
> da Adobe, você irá reparar que alguns dos tipos de letra parecem bastante maus, ainda que a impressão fique óptima, apesar de o documentação também parecer em condições no <command
>kghostview</command
>. Isto é um problema conhecido com o <application
>Acrobat Reader</application
> e com os tipos de letra de imagens. Na altura em que isto foi escrito, a única solução prática era evitar os tipos de letra com imagens ou actualizar para uma instalação mais recente do TeX. </para>
	  </listitem>
	  <listitem>
	    <para
>Embora o <command
>dvipdfm</command
> produza ficheiros <acronym
>PDF</acronym
> de alta qualidade, o <command
>dvipdfm</command
> ignora de momento o &PostScript; que vem incorporado no ficheiro &DVI;. O PostScript incorporado é gerado p.ex. pelo pacote de macros <application
>xy</application
> ou pela função de "Incorporar os ficheiros PostScript" que o &kdvi; descreve <link linkend="embed"
>em baixo</link
>. </para>
            <para
>Se você achar que faltam dados gráficos ao <acronym
>PDF</acronym
> gerado, use a função de impressão do &kdvi; em alternativa. </para>
	  </listitem>
	</itemizedlist>
      </warning>
    </section>


    <section id="export-text">
      <title
>Exportar para ficheiros de texto</title
> 

      <para
>O &kdvi; também pode gravar os seus ficheiros &DVI; no formato de texto.</para>

      <warning>
       <para
>A norma do &DVI; não foi desenhada com este tipo de funcionalidade em vista. Esta função, deste modo, só funciona bem com os caracteres ASCII normais. Não irá funcionar com as línguas não-Europeias. Dependendo dos tipos de letra usados nos ficheiros, poderão também ocorrer problemas com os caracteres acentuados ou com outros símbolos, e algumas vezes mesmo com as ligações. </para>
      </warning>
    </section>
  </chapter>
  

  <chapter id="embed">
    <title
>Incorporar os ficheiros PostScript no &DVI;</title>

    <para
>A forma tradicional de usar imagens no <application
>TeX</application
> não inclui os dados das mesmas directamente no ficheiro &DVI;. Em vez disso, o ficheiro &DVI; contém apenas uma ligação para um ficheiro gráfico que reside no disco rígido. A vantagem deste procedimento é que o ficheiro &DVI; permanece pequeno e o ficheiro de imagem pode à mesma ser modificado, independentemente do código de <application
>TeX</application
> do documento. O método pode ser, todavia, inconveniente se você pretender arquivar o ficheiro &DVI; ou enviá-lo para outra pessoa: em vez de lidar com um único ficheiro, terá de lidar com uma variedade de ficheiros que necessitam de ser mantidos exactamente no mesmo sítio que o ficheiro &DVI; para que tudo funcione.</para>

    <para
>Por essa razão, o &kdvi; permite-lhe incorporar os ficheiros de &PostScript; no seu ficheiro &DVI;. Para incorporar todos os ficheiros &PostScript; num ficheiro &DVI;, use a opção do menu <guimenu
>Editar/Incorporar os ficheiros PostScript externos</guimenu
> </para>
    
    <warning
> <para
>Os ficheiros &DVI; com o &PostScript; incorporado funcionam optimamente com o restante 'software' de tratamento de &DVI;, como p.ex. o <application
>xdvi</application
>, o <application
>dvips</application
> ou o <application
>dvipdf</application
>. Uma excepção notável é o <application
>dvipdfm</application
>, que ignora de momento o &PostScript; incorporado. Dado que o <application
>dvipdfm</application
> é usado internamente pela função "Exportar para <acronym
>PDF</acronym
>" do &kdvi;, poderá ter alguns problemas a usar esta função. O mesmo problema acontece com outras aplicações que usem o &PostScript; incorporado, como o pacote de macros  do <application
>TeX</application
>, o <application
>xy</application
>.</para
> </warning>
  </chapter>
  

  <chapter id="inverse-search">
    <title
>Usar a pesquisa inversa</title>
    <anchor id="inv-search"
></anchor>

    <para
>A pesquisa inversa é uma funcionalidade muito útil quando você está a escrever um documento em TeX. Se tudo estiver devidamente configurado, você poderá carregar na janela do &kdvi; com o botão do <mousebutton
>meio</mousebutton
> do rato (em alguns sistemas, quando você não tem um rato de três botões, poderá usar em simultâneo os botões <mousebutton
>esquerdo</mousebutton
> e <mousebutton
>direito</mousebutton
>). Depois disso, o seu editor favorito irá abrir, carregar o ficheiro de código em TeX e saltar para o parágrafo associado. Para usar a pesquisa inversa, faça o seguinte:</para>


    <procedure>
      <step>
	<para
>Crie um ficheiro &DVI; que contenha a informação de pesquisa inversa. Isso é explicado na secção sobre <link linkend="inverse-search-tex"
>Produzir ficheiros TeX para a pesquisa inversa</link
> em baixo. Se apenas quiser testar a funcionalidade de pesquisa inversa, você também poderá usar o ficheiro de exemplo <filename
>KDVI-features.dvi</filename
></para>
      </step>
      <step>
	<para
>Diga ao &kdvi; qual o editor que deseja usar. Escolha um editor na janela de <guilabel
>Preferências</guilabel
> (esta janela poderá ser acedida se escolher <guimenuitem
>Opções do DVI</guimenuitem
> no menu <guimenu
>Configuração</guimenu
>). A próxima secção desta documentação, as <link linkend="opt-rendering"
>Opções de Desenho</link
>, explica esta janela com mais detalhe.</para>
      </step>
      <step>
	<para
>Alguns editores necessitam ser iniciados manualmente ou necessitam de configurações adicionais. Você irá encontrar uma descrição de todos os editores suportados na secção <link linkend="inverse-search-editor"
>Configurar o seu editor</link
> em baixo.</para>
      </step>
      <step>
	<para
>Teste a sua configuração. Abra o seu ficheiro &DVI; no &kdvi; e use o botão <mousebutton
>do meio</mousebutton
> do rato para carregar no &kdvi;. O editor deverá surgir, mostrando o ficheiro de TeX.</para>
      </step>
    </procedure>


    <section id="inverse-search-tex">
      <title
>Produzir os ficheiros TeX para a pesquisa inversa</title>
      <para
>Existem essencialmente duas formas de produzir ficheiros &DVI; que contenham informações de pesquisa inversa: você tanto poderá usar um ficheiro binário de TeX/LaTeX que gera e inclui a informação necessária automaticamente ou poderá incluir um pacote extra escrito em TeX/LaTeX.</para>
      <itemizedlist>
	<listitem>
	  <para
>Um ficheiro binário em TeX que gera e inclui a informação necessária é com certeza o método preferido para incluir a informação da pesquisa inversa. Se você usar a versão 2 ou posterior da <ulink url="http://www.tug.org/teTeX/"
>distribuição de TeX TeTeX</ulink
>, você poderá usar a opção 'src-specials' da linha de comandos do comando 'tex' ou 'latex', tal como se segue. <programlisting>
tex --src-specials o_meu_ficheiro.tex
</programlisting
> ou <programlisting
>latex --src-specials meuficheiro.tex
</programlisting>
	  </para>
	</listitem>
	<listitem>
	  <para
>Se você não tiver um ficheiro TeX binário que inclua nativamente a informação de pesquisa inversa, copie os ficheiros <ulink url="srcltx.sty"
> <filename
>srcltx.sty</filename
> </ulink
> e <ulink url="srctex.sty"
> <filename
>srctex.sty</filename
> </ulink
> para a pasta onde o seu ficheiro TeX está guardado (você poderá fazê-lo se carregar na tecla &Shift; e no &LMB; enquanto o cursor do rato se encontra sobre uma hiper-ligação). Se usar o LaTeX, adicione a linha <programlisting>
\usepackage[active]{srcltx}
</programlisting
> ao preâmbulo do seu ficheiro LaTeX. Se usar o TeX simples a linha <programlisting>
\include{srctex}
</programlisting
> fará o truque.</para>
	</listitem>
      </itemizedlist>

      <tip>
	<para
>Embora a pesquisa inversa seja bastante útil quando você está a escrever um documento, poderá ser uma boa ideia remover a informação de pesquisa inversa antes de enviar o ficheiro &DVI; para outra pessoa.</para>
      </tip>

    </section>

    <section id="inverse-search-editor">

    <title
>Configurar o seu editor para a pesquisa normal</title>
    
    <para
>Ainda que a pesquisa inversa funcione de modo geral bem na maioria dos editores, alguns deles necessitam de alguns cuidados especiais extra. Esta secção explica como configurar o seu editor.</para>

    <section id="editor-setup-emacs">
      <title
><application
>Emacs</application
></title>

      <para
>O <application
>Emacs</application
> funciona bem com o &kdvi;. O comportamento actual do <application
>Emacs</application
> depende em grande medida da configuração. Como de costume, você poderá personalizar por completo o <application
>Emacs</application
>, se estiver disposto a enfrentar algum código de Lisp.</para>

      <para
>O &kdvi; usa o programa <command
>emacsclient</command
> para controlar remotamente o <application
>Emacs</application
>.</para>
      <important>
	<para
>O programa <command
>emacsclient</command
> necessita que o <application
>Emacs</application
> esteja em execução e que o programa <application
>Emacs Server</application
> (servidor do Emacs) tenha sido iniciado dentro do <application
>Emacs</application
>. A pesquisa inversa não irá funcionar convenientemente a menos que tenha iniciado tanto o <application
>Emacs</application
> como o <application
>Emacs Server</application
>.</para>
      </important>

      <para
>Para iniciar o <application
>Emacs Server</application
>, você poderá fazer uma das coisas seguintes:</para>
	<itemizedlist>
	<listitem>
	  <para
>No <application
>Emacs</application
>, inicie o <application
>Emacs Server</application
> escrevendo <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>X</keycap
></keycombo
> <command
>server-start</command
></userinput
></para>
	</listitem>
	<listitem>
	  <para
>Adicione a linha <programlisting>
(server-start)
</programlisting
> ao seu ficheiro <filename
>.emacs</filename
> file. Reinicie o <application
>Emacs</application
></para>
	</listitem>
      </itemizedlist>

      
      <tip>
	<itemizedlist>
	  <listitem>
	      <para
>Certifique-se que o <application
>Emacs</application
> está instalado. Tente iniciar o <command
>emacs</command
> a partir da linha de comandos.</para>
	  </listitem>
	<listitem>
	      <para
>O &kdvi; usa o comando <command
>emacsclient</command
> para controlar remotamente o <application
>Emacs</application
>. Certifique-se que o <command
>emacsclient</command
> está disponível na linha de comandos ao escrever o comando <userinput
><command
>emacsclient</command
> <parameter
>Nome de um ficheiro de texto</parameter
></userinput
>. Isto deverá abrir um texto novo no editor <application
>Emacs</application
>.</para>
	</listitem>
	<listitem>
	      <para
>Se o <command
>emacsclient</command
> falhar com uma mensagem do erro do tipo <computeroutput
>unable to connect to local</computeroutput
> (não foi possível ligar ao local), certifique-se que o <application
>Emacs</application
> está a correr. De seguida, certifique-se que o <application
>Emacs Server</application
> está a correr escrevendo <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>x</keycap
></keycombo
> <command
>server-start</command
></userinput
>.</para>
	</listitem>
	<listitem>
	      <para
>Se você quiser que a janela se auto-eleve, adicione a função <function
>raise-frame</function
> ao <quote
>server-switch-hook</quote
> (faça <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>x</keycap
></keycombo
> <command
>customize-variable</command
> <keycap
>RET</keycap
> <command
>server-switch-hook</command
></userinput
> e indique o nome da função no campo de texto.</para>
	</listitem>
	<listitem>
	      <para
>Se você alterou o documento desde a sua última gravação, o <application
>Emacs</application
> irá perguntar-lhe: <computeroutput
>Revert buffer from file ...? (yes or no)</computeroutput
> (reverter o documento a partir do ficheiro ...? (sim ou não). Você provavelmente irá dizer <emphasis
>no</emphasis
> (não) aqui, dado que a reversão significa que o ficheiro será lido de novo a partir do disco, <emphasis
>fazendo com que todas as suas alterações desde a última gravação sejam perdidas!</emphasis
></para>

	      <para
>O comportamento do <command
>gnuclient</command
> ao reler silenciosamente o documento alterado é provavelmente preferível &mdash; adicione as seguintes linhas ao seu ficheiro <filename
>.emacs</filename
> para emular o comportamento do <command
>gnuclient</command
> com o <command
>emacsclient</command
>:</para>

<programlisting
>(defadvice server-visit-files (around save-buffers last activate)
  "Try to emulate gnuclient behavior with emacsclient.
Works only for visiting one buffer at a time."
  (let* ((filen (car (car (ad-get-arg 0))))
         (buf (get-file-buffer filen))
         (this-buf-modified-p nil))
    ;;; the following is copied from server-visit-files, with
    ;;; a modification for the `verify-visited-file-modtime' test
    (if (and buf (set-buffer buf))
        (if (file-exists-p filen)
            ;;; if the file has changed on disk, reload it
            ;;; using `find-file-noselect'
            (if (not (verify-visited-file-modtime buf))
                (progn
                  (find-file-noselect filen)
                  ;;; if user answered `no', reset modtime anyway
                  ;;; so that server-visit-files doesn't realize the
                  ;;; difference:
                  (set-visited-file-modtime)))
          ;;; if file exists no longer, we let server-visit-files
          ;;; deal with that
          t)
      (setq buf (find-file-noselect filen)))
    (setq this-buf-modified-p (buffer-modified-p buf))
    (set-buffer buf)
    (set-buffer-modified-p nil)
    ad-do-it
    (set-buffer-modified-p this-buf-modified-p)))
</programlisting>
        </listitem>
      </itemizedlist>
      </tip>
    </section>


    <section id="editor-setup-kate">
      <title
>&kate;</title
> 

      <para
>O editor &kate; do &kde; suporta bastante bem a pesquisa inversa. Não é necessária nenhuma configuração extra.</para
> </section>


    <section id="editor-setup-kile">
      <title
><application
>Kile</application
></title
> 

      <para
>O sistema de edição de LaTeX <application
>Kile</application
> suporta o KDVI bastante bem. Não é precisa nenhuma configuração extra. Para mais informações sobre o Kile vá à <ulink url="http://kile.sourceforge.net"
>página pessoal do Kile</ulink
>. </para>
    </section>


    <section id="editor-setup-nedit">
      <title
><application
>NEdit</application
></title>

      <para
>O <application
>NEdit</application
> funciona de um modo geral bastante bem. Se carregar no ficheiro &DVI; irá abrir uma janela nova. Se o ficheiro TeX já estiver a ser usado noutra janela do <application
>NEdit</application
>, a nova janela que é aberta mostrará outra vista sobre o ficheiro. Caso contrário, o ficheiro TeX é carregado. Depois de abrir a janela, o <application
>NEdit</application
> realça a primeira linha do parágrafo apropriado.</para>
      <tip>
          <para
>O &kdvi; usa o comando <command
>ncl</command
> para controlar remotamente o <application
>NEdit</application
>. Certifique-se que o <command
>ncl</command
> está disponível na linha de comandos, tentando o comando <userinput
><command
>ncl</command
> <parameter
>-noask</parameter
></userinput
>. Isto deverá abrir uma instância do editor <application
>NEdit</application
>. Se o <command
>ncl</command
> não estiver disponível, você poderá estar a usar uma versão antiga do <application
>NEdit</application
>. Nesse caso, você deverá mudar para uma versão mais recente ou então terá de usar a opção <guilabel
>Editor definido pelo utilizador</guilabel
> da janela de <guilabel
>Opções</guilabel
>.</para>
      </tip>
    </section>

    <section id="editor-setup-xemacs">
      <title
><application
>XEmacs</application
></title>

      <para
>O <application
>XEmacs</application
> funciona bem com o &kdvi;. O comportamento actual do <application
>XEmacs</application
> depende em grande medida da configuração. Como de costume, você pode personalizar o <application
>XEmacs</application
> por completo, se estiver disposto a debater-se com algum código em Lisp.</para>

      <para
>O &kdvi; usa o <command
>gnuclient</command
> para controlar remotamente o <application
>XEmacs</application
>.</para>
      <important>
        <para
>O programa <command
>gnuclient</command
> necessita que o <application
>XEmacs</application
> esteja a correr, assim como o programa <application
>gnuserv</application
> seja iniciado dentro do <application
>XEmacs</application
>. A pesquisa inversa não irá funcionar a menos que tenha iniciado tanto o <application
>XEmacs</application
> como o <application
>gnuserv</application
>.</para>
      </important>

      <para
>Para iniciar o programa <application
>gnuserv</application
>, você poderá fazer uma das seguintes coisas:</para>
      <itemizedlist>
        <listitem>
          <para
>No <application
>XEmacs</application
>, inicie o <application
>gnuserv</application
> escrevendo <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>X</keycap
></keycombo
> <command
>gnuserv-start</command
></userinput
></para>
        </listitem>
        <listitem>
          <para
>Adicione a linha <programlisting>
(gnuserv-start)
</programlisting
> ao seu ficheiro <filename
>.xemacs</filename
>. Se você usar uma versão mais recente do <application
>XEmacs</application
>, o <filename class="directory"
>.xemacs</filename
> será uma pasta. Nesse caso, você deverá adicionar a linha ao ficheiro <filename
>.xemacs/init.el</filename
>. Reinicie o <application
>XEmacs</application
></para>
        </listitem>
      </itemizedlist>

      <para
>Se não desejar abrir uma nova janela por cada chamada do editor, e quiser que a mesma janela se auto-eleve, defina a opção <quote
>Gnuserv Frame</quote
> (Janela do Gnuserv) para <quote
>Use selected frame</quote
> (usar a janela seleccionada) e adicione a função <function
>raise-frame</function
> a <quote
>Visit Hook</quote
> (Chamada de Visita). Faça <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>x</keycap
></keycombo
> <command
>customize-group</command
> <keycap
>RET</keycap
> <command
>gnuserv</command
></userinput
> para efectuar estas configurações.</para>

      <tip>
        <itemizedlist>
          <listitem>
              <para
>Certifique-se que o <application
>XEmacs</application
> está instalado. Tente iniciar o <command
>xemacs</command
> a partir da linha de comandos.</para>
          </listitem>
        <listitem>
              <para
>O &kdvi; usa o comando <application
>gnuserv</application
> para controlar remotamente o <application
>XEmacs</application
>. Certifique-se que o <command
>gnuclient</command
> está disponível na linha de comando, tentando o comando <userinput
><command
>gnuclient</command
> <parameter
>Nome de um ficheiro de texto</parameter
></userinput
>. Isto deverá abrir uma nova janela no editor <application
>XEmacs</application
>.</para>
        </listitem>
        <listitem>
              <para
>Se o <application
>gnuserv</application
> falhar com uma mensagem de erro do tipo <computeroutput
>unable to connect to local</computeroutput
> (incapaz de ligar ao local), certifique-se que o <application
>XEmacs</application
> está a correr. Para além disso, confirme se o <application
>gnuserv</application
> é iniciado, escrevendo <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>X</keycap
></keycombo
> <command
>gnuserv-start</command
></userinput
>.</para>
        </listitem>
        <listitem>
              <para
>Se não desejar abrir uma nova janela por cada chamada do editor, e quiser que a mesma janela se auto-eleve, defina a opção <quote
>Gnuserv Frame</quote
> (Janela do Gnuserv) para <quote
>Use selected frame</quote
> (usar a janela seleccionada) e adicione a função <function
>raise-frame</function
> a <quote
>Visit Hook</quote
> (Chamada de Visita). Faça <userinput
><keycombo action="seq"
><keycap
>M</keycap
><keycap
>X</keycap
></keycombo
> <command
>customize-group</command
> <keycap
>RET</keycap
> <command
>gnuserv</command
></userinput
> para efectuar estas configurações.</para>
        </listitem>
      </itemizedlist>
      </tip>
    </section>

    <section id="editor-setup-gvim">
      <title
><application
>VI iMproved</application
> / &GUI;</title>

      <para
>A variante <application
>gvim</application
> do editor <application
>vi</application
> suporta muito bem a pesquisa inversa. Não é necessária nenhuma configuração extra.</para>
    </section>
    </section>
  </chapter>


  <chapter id="forward-search">
    <title
>Pesquisa normal</title>

    <para
>As funções de pesquisa normal permitem-lhe saltar directamente do seu editor para a posição associada no ficheiro &DVI;. Dado que a pesquisa normal tem de ser suportada pelo seu editor, apenas o <application
>Emacs</application
> e o <application
>XEmacs</application
> são suportados de momento. Os outros editores juntar-se-ão em breve, esperamos nós.</para>

    <para
>Para usar a pesquisa normal, você terá de fazer o seguinte:</para>
    <itemizedlist>
      <listitem>
        <para
>Configure o seu editor &mdash; isto é descrito em baixo.</para>
      </listitem>
      <listitem>
        <para
>Adicione a informação do código-fonte ao seu ficheiro &DVI;, &eg; usando o pacote <command
>srcltx</command
>. Isto foi descrito na secção sobre <link linkend="inverse-search-tex"
>Produzir ficheiros TeX para a pesquisa inversa</link
>.</para>
      </listitem>
      <listitem>
        <para
>Se você usar o <application
>Emacs</application
> e tudo estiver configurado convenientemente, basta você carregar em <userinput
><keycombo action="simul"
>&Ctrl;<keycap
>X</keycap
></keycombo
> <keycombo action="simul"
>&Ctrl;<keycap
>J</keycap
> </keycombo
></userinput
>, para que o &kdvi; apareça e salte para o local correspondente à posição do ficheiro TeX que você está a editar no momento.</para>
      </listitem>
    </itemizedlist>

    <section id="forward-search-editor">
      <title
>Configurar o seu editor para a pesquisa normal</title>
      
      <section id="forw-editor-setup-emacs">
        <title
><application
>Emacs</application
></title>
        
        <para
>Para poder usar a pesquisa normal no <application
>Emacs</application
>, siga estes passos:</para>

        <itemizedlist>
          <listitem>
                <para
>Obtenha o seguinte programa do <application
>Emacs</application
> script, <ulink url="kdvi-search.el"
> <filename
>kdvi-search.el</filename
> </ulink
> (carregue em &Shift; e no &LMB; sobre o ficheiro a obter)  e guarde-o num local onde o <application
>Emacs</application
> lhe possa aceder &mdash; nós recomendamos uma pasta do tipo <filename class="directory"
>emacs-scripts</filename
>.</para>
          </listitem>
          <listitem>
            <para
>Adicione as linhas <programlisting>
(add-to-list 'load-path (expand-file-name "~/emacs-scripts/"))
(require 'kdvi-search)
(add-hook 'LaTeX-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line)))
(add-hook 'tex-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line)))
</programlisting
> ao seu ficheiro <filename
>.emacs</filename
>. Reinicie o <application
>Emacs</application
>.</para>
          </listitem>

          <listitem>
            <para
>Abra o <application
>Emacs</application
>, carregue um ficheiro de TeX, produza o ficheiro &DVI; correspondente e introduza o comando <userinput
><keycombo action="simul"
><keycap
>M</keycap
><keycap
>x</keycap
> </keycombo
><command
>kdvi-jump-to-line</command
></userinput
> ou carregue em <userinput
><keycombo action="seq"
><keycombo action="simul"
>&Ctrl;<keycap
>X</keycap
></keycombo
> <keycombo action="simul"
>&Ctrl;<keycap
>J</keycap
></keycombo
> </keycombo
></userinput
>. Poderá acontecer que o <application
>Emacs</application
> lhe peça o nome de um <quote
>master file</quote
> (ficheiro-mestre). Isto é útil se você usar um ficheiro do TeX que inclua outros ficheiros: o ficheiro-mestre é o ficheiro do nível de topo que inclui os outros. O <application
>Emacs</application
> irá provavelmente pedir também para gravar o nome do ficheiro-mestre <quote
>como uma variável local</quote
>, &ie; como um comentário no fim do ficheiro. Basta dizer <userinput
>yes</userinput
> (sim) ou <userinput
>no</userinput
> (não) para continuar.</para
> 
            </listitem>
        </itemizedlist>

        <tip>
          <itemizedlist>
            <listitem>
              <para
>Certifique-se que o <application
>Emacs</application
> está instalado. Tente iniciar o <command
>emacs</command
> a partir da linha de comandos.</para>
            </listitem>
            <listitem>
              <para
>Se o <application
>Emacs</application
> não conseguir iniciar o &kdvi;, você poderá ver o seu resultado no documento <guilabel
>kdvi-output</guilabel
>.</para>
            </listitem>
          </itemizedlist>
        </tip>
      </section>

      <section id="forw-editor-setup-kile">
        <title
><application
>Kile</application
></title>
                <para
>Se você usar o Kile, não é necessária mais nenhuma configuração. </para>
      </section>

      <section id="forw-editor-setup-xemacs">
        <title
><application
>XEmacs</application
></title>
        
        <para
>Para configurar o <application
>XEmacs</application
>, siga os passos para o <application
>Emacs</application
> <link linkend="forw-editor-setup-emacs"
>descritos acima</link
>, mas altere o seu ficheiro <filename
>.xemacs</filename
> em vez do seu <filename
>.emacs</filename
>. Se usar uma versão muito recente do <application
>XEmacs</application
>, o <filename class="directory"
>.xemacs</filename
> poderá ser uma pasta. Nesse caso, adicione as linhas ao ficheiro <filename
>.xemacs/init.el</filename
>. </para>
      </section>

    </section>

  </chapter>

  <chapter id="preferences">
    <title
>A janela de <guilabel
>Preferências</guilabel
></title>
    <anchor id="opts"
></anchor>

    <para
>A janela de <guilabel
>Preferências</guilabel
> poderá ser acedida ao escolher as <guimenuitem
>Opções do DVI</guimenuitem
> no menu de <guimenu
>Configuração</guimenu
>.</para>

    <para
>A janela consiste em duas páginas, a <guilabel
>Tipos de Letra</guilabel
> e o <guilabel
>Desenho</guilabel
>.</para>

    <sect1 id="opt-fonts">
      <title
>Opções dos <guilabel
>Tipos de Letra</guilabel
></title>

      <para
>Tradicionalmente, o processador TeX usa tipos de letra que são gerados pelo programa <command
>MetaFont</command
>. Estes tipos de letra estão gravados no formato PK. Embora um sistema <command
>MetaFont</command
> configurado com cuidado produza impressões da mais alta qualidade, a sua configuração necessita de uma grande experiência, dado que o <command
>MetaFont</command
> não é muito bom a produzir tipos de letra adequados para ecrãs de computador, assim como existem muito poucos tipos de letra <command
>MetaFont</command
> disponíveis para as línguas Asiáticas. </para>
      
      <para
>Para dar a volta a estes problemas, as instalações mais recentes do TeX incluem tipos de letra que estão gravados no formato "PostScript Type 1", o qual é um formato de tipo de letra largamente usado nas publicações electrónicas. O &kdvi; é capaz de usar ambos os formatos de ficheiros. </para>

      <para
>A imagem seguinte mostra a janela de opções dos tipos de letra do &kdvi; que podem ser usadas para controlar a utilização pelo &kdvi; dos vários formatos de ficheiros. </para>

      <screenshot>
        <screeninfo
>A Página de <guilabel
>Tipos de Letra</guilabel
></screeninfo>
        <mediaobject>
          <imageobject>
	    <imagedata fileref="optionrequester1.png" format="PNG"
></imagedata>
	  </imageobject>
          <textobject>
            <phrase
>A Página de <guilabel
>Tipos de Letra</guilabel
></phrase>
          </textobject>
        </mediaobject
>        
      </screenshot>

      <variablelist>
        <varlistentry>
          <term
><guilabel
>Tipos de letra PostScript Type 1</guilabel
> </term>
          <listitem>
	    <variablelist>
	      <varlistentry>
		<term
><guilabel
>Usar os tipos de letra Type 1 se estiverem disponíveis</guilabel
> </term>
		<listitem>
		  <para
>Se usar estes tipos de letra fará com que o &kdvi; funcione mais rápido e produza, de um modo geral, impressões com melhor qualidade. Você irá querer quase de certeza activar esta opção, a menos que esteja a ter alguns problemas com a configuração da sua instalação do TeX ou com tipos de letra inválidos. </para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term
><guilabel
>Utilizar as sugestões dos tipos de letra</guilabel
> </term>
		<listitem>
		  <para
>O "PostScript Type 1" normalmente contêm "sugestões de tipos de letra", i.e. informações adicionais que é suposto ajudar as aplicações a produzir resultados de melhor qualidades nos ecrãs dos computadores. A qualidade das sugestões dos tipos de letra varia de tipo para tipo de letra e, por isso, você deverá experimentar ver se a activação desta opção lhe traz melhores resultados. </para>
		</listitem>
	      </varlistentry>
	    </variablelist>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term
><guilabel
>Tipos de letra PK</guilabel
> </term>
          <listitem>
	    <variablelist>
	      <varlistentry>
		<term
><guilabel
>Modo do Metafont</guilabel
> </term>
		<listitem>
		  <para
>Estas opções indicam quais os tipos de letra que o &kdvi; irá usar para desenhar o texto. Se optimizar com cuidado as opções aqui, é possível melhorar a apresentação. Contudo, a menos que você esteja à vontade com o <command
>MetaFont</command
> e saiba o que está a fazer, não é uma boa ideia alterar estas opções. Você poderá querer ver a secção de <link linkend="mfmodes"
>Perguntas mais frequentes</link
> deste manual. </para>
                  <para
>Os valores mais seguros são o <guilabel
>1200 dpi / Lexmark</guilabel
> para uma qualidade boa ou <guilabel
>600 dpi / LaserJet 4</guilabel
> para uma qualidade média e para uma apresentação mais rápida. </para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term
><guilabel
>Criar os tipos de letra em falta</guilabel
> </term>
		<listitem>
		  <para
>Assinale isto se quiser que o &kdvi; chame o programa <command
>MetaFont</command
> no caso de o &kdvi; desejar mostrar os documentos que usam tipos de letra que ainda não estavam preparados para tal. Você, de certeza, irá desejar activar esta opção. </para>
		</listitem>
	      </varlistentry>
	    </variablelist>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

    <sect1 id="opt-rendering">
      <title
>Opções dos <guilabel
>Especiais do &DVI;</guilabel
></title>

      <para
>O &kdvi; suporta um grande conjunto de extensões ao formato &DVI; original, como p.ex., as hiperligações, a inclusão de ficheiros gráfico ou informações dos ficheiros de código incorporadas. Estas extensões são conhecidas por "especiais do  &DVI;". Uma lista das funcionalidades especiais suportadas pelo &kdvi; poderá ser encontrada <ulink url="KDVI-features.dvi"
>neste documento</ulink
>. </para>

      <para
>A janela de especiais do &DVI; configura o suporte para algumas destas funcionalidades. </para>

      <screenshot>
        <screeninfo
>A página de <guilabel
>Desenho</guilabel
></screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="optionrequester2.png"
            format="PNG"
></imagedata>
	  </imageobject>
          <textobject>
            <phrase
>A página de <guilabel
>Desenho</guilabel
></phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term
><guilabel
>Mostrar comandos especiais de PostScript</guilabel
></term>
          <listitem>
            <para
>Se esta opção estiver assinalada, o &kdvi; irá mostrar as imagens de &PostScript; que estão incorporadas no ficheiro &DVI;. Você irá provavelmente querer activar esta opção.</para>

            <para
>Se um dado ficheiro &PostScript; não for encontrado, o &kdvi; irá mostrar uma caixa de aviso a vermelho no seu lugar. Infelizmente, o desenho de imagens em &PostScript; é bastante lento na versão actual do &kdvi;. Isto será melhorado a nível de velocidade nas versões posteriores. Se esta opção estiver desligada, o &kdvi; irá então desenhar uma caixa a cinzento, ou deixará o espaço em branco, em substituição da imagem.</para>

            <note>
              <para
>Não existe nenhuma forma-padrão de incorporar as imagens em &PostScript; num ficheiro &DVI;. Poderá deste modo acontecer que o &kdvi; não consiga mostrar convenientemente uma imagem que funcione bem noutros programas. As versões mais antigas do <command
>xdvi</command
> e do <command
>dvips</command
> suportam a execução de comandos externos. Isto é um risco de segurança grave e, como tal, não é implementado deliberadamente no &kdvi;. Poderá encontrar alguma informação técnica sobre as formas suportadas de incluir &PostScript; no documento <filename
>KDVI-features.dvi</filename
>.</para>
            </note>

          </listitem>
        </varlistentry>
        
        <varlistentry>
          <term
><guilabel
>Mostrar as Hiper-Ligações</guilabel
></term>
          <listitem>
            <para
>Assinale isto se quiser que o &kdvi; mostre as hiper-ligações. As partes correspondentes do texto serão sublinhadas a azul. Você irá de certeza activar esta opção.</para>
          </listitem>
        </varlistentry>
        
        <varlistentry>
          <term
><guilabel
>Editor para a pesquisa inversa</guilabel
></term>
          <listitem>
            <para
>Se você pretender usar a <link linkend="inverse-search"
>pesquisa inversa</link
>, uma funcionalidade muito útil se você escrever documentos em TeX, você terá de indicar qual o editor que irá usar, e como é que esse editor poderá ser iniciado pelo &kdvi;. No exemplo apresentado, o utilizador optou pelo editor <application
>NEdit</application
>. Se você usou um dos editores pré-configurados da lista <guilabel
>Editor</guilabel
>, então você não terá de fazer mais nada. Se você desejar usar um editor diferente, escolha o <guilabel
>Editor definido pelo utilizador</guilabel
> na mesma lista e indique a linha de comandos que será usada para iniciar o seu editor. Utilize as substituições <token
>%f</token
> e <token
>%l</token
>, as quais serão substituídas pelo nome do ficheiro TeX e pela linha dentro do mesmo ficheiro TeX, respectivamente.</para>

            <para
>Se você usa um editor que não é suportado, envie-nos por favor um e-mail para <email
>kebekus@kde.org</email
> e diga-nos a linha de comandos que usa e como configurou o seu editor.</para>
          </listitem>
        </varlistentry>
      </variablelist>

    </sect1>
  </chapter>

  <chapter id="faq">
    <title
>Perguntas mais frequentes</title>

    <qandaset>
      <qandaentry>
        <question id="fontgen">
          <para
>O que acontece quando o &kdvi; mostra a mensagem <computeroutput
>O KDVI está de momento a gerar os tipos de letra de imagens</computeroutput
>, e porque é que este procedimento leva tanto tempo?</para>
        </question>
        <answer>
          <para
>Muitos dos tipos de letra que são normalmente usados num documento de TeX precisam ser gerados pelo sistema MetaFont. O Metafont é uma linguagem semelhante ao TeX (incluída na maioria das distribuições de TeX) que aceita uma descrição do contorno do tipo de letra e produz uma versão em imagem (um ficheiro <literal role="extension"
>.pk</literal
> file) do tipo de letra, a qual poderá ser enviada para uma impressora ou ser usada num programa de antevisão como o &kdvi;. O Metafont tenta deste modo produzir o melhor resultado possível para a sua impressora. Por exemplo, ele sabe que o pixel de uma impressora de jacto-de-tinha é um pingo redondo e que os pixels adjacentes tendem a misturar-se uns com os outros. Por outro lado, um pixel numa impressora é rectangular, mas este não é desenhado isoladamente, na maior parte das vezes.</para>

          <para
>A geração desses tipos de letra tão optimizados é naturalmente morosa, atendendo principalmente a que os documentos de TeX típicos usam uma quantidade grande de tipos de letra diferentes. Só podemos pedir a sua paciência. Para simplificar um pouco a questão, a maioria das distribuições do TeX guardam os ficheiros <literal role="extension"
>.pk</literal
> durante algum tempo,  &eg; 100 dias. Como tal, se você aceder ao mesmo documento mais do que uma vez, os ficheiros <literal role="extension"
>.pk</literal
> serão reutilizados.</para>
        </answer>
      </qandaentry>

      <qandaentry>
        <question id="mfmodes">
          <para
>O Que É um Modo do MetaFont?</para>
        </question>
        <answer>
          <para
>Para poder produzir tipos de letra de imagens que estejam optimizados para a sua impressora (veja a resposta à primeira pergunta), o Metafont vem com uma base de dados de motores de impressão &mdash; veja num ficheiro chamado <filename
>modes.mf</filename
>. Um Modo do Metafont é apenas o nome de um elemento da base de dados. Por exemplo, o nome <quote
>ljfour</quote
> corresponde ao elemento da base de dados referente a uma impressora &Hewlett-Packard; LaserJet 4. Um Modo do MetaFont é normalmente seguido de um número, a sua resolução. A LaserJet, por exemplo, pode imprimir tanto a 300 como a 600 pontos por polegada. Daí, o <quote
>ljfour/600</quote
> seria uma descrição completa.</para>
        </answer>
      </qandaentry>

    </qandaset>
  </chapter>


  <chapter id="credits-and-license">
    <title
>Créditos e Licenças</title>

    <para
>&kdvi;</para>

    <para
>O &kdvi; baseia-se no programa autónomo &kdvi; 0.4.3 de Markku Hihnala. Esse programa baseia-se por sua vez no <application
>xdvi</application
> versão 18f que tem muitos autores.</para>

    <para
>Documentação copyright 2001-2004, Stefan Kebekus <email
>kebekus@kde.org</email
></para>

    <para
>Tradução de José Nuno Pires <email
>jncp@netcabo.pt</email
></para
> 
&underGPL; &underFDL; </chapter>
    
&documentation.index;

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

