Copyright © 2001-2004 Stefan Kebekus
É dada permissão para copiar, distribuir e/ou modificar este documento ao abrigo da GNU Free Documentation License, Versão 1.1 ou de uma versão mais recente publicada pela Free Software Foundation; sem Secções Invariantes, sem Textos de Capa Frontal, e sem Textos de Capa Traseira. Uma cópia desta licença está incluida na secção intitulada "GNU Free Documentation License".
Este documento descreve o KDVI versão 1.1
Índice
O KDVI é um 'plugin' para o programa KViewshell que permite ao KViewshell mostrar os ficheiros DVI (.dvi
) 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 hiperligações de PostScript®. Para mais detalhes, exemplos e todas as especificações técnicas, poderá consultar o ficheiro KDVI-features.dvi
(ou ver o KDVI-features.tex
para ver o código em TeX desse ficheiro).
Para mais informações actualizadas consulte a página pessoal do KDVI.
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 página pessoal do grupo de utilizadores do TeX ou o German DANTE e.V..
Na maior parte das vezes, o KDVI será iniciado a carregar num ficheiro .dvi
no gestor de ficheiros. Por conveniência, existe um comando kdvi que chama o KViewshell com o 'plugin' do KDVI pré-carregado. O visualizador poderá deste modo ser iniciado com o comando kdvi
. As linhas de comando localizacao/documento.dvi
kdvi
ou localizacao/documento
kdvi
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: localizacao/documento.
kdvi
http://localizacao/documento.dvi
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 kdvi
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 file:documento.dvi#43
kdvi
fará com que o KDVI procure pelo local no ficheiro DVI que corresponde à linha 43 no ficheiro de TeX file:documento.dvi#src:43documento.tex
documento.tex
. É pouco provável que você utilize esta opção — leia a secção sobre pesquisa normal para aprender a configurar o seu editor para iniciar o KDVI automaticamente.
Não se esqueça de indicar o prefixo file:
ou irá obter alguns resultados inesperados. Por exemplo, o comando kdvi
irá abrir a página 43 do ficheiro file:documento.dvi#43
documento.dvi
. O comando kdvi
irá tentar abrir o ficheiro documento.dvi#43
paper.dvi#43
.
Existe também outra opção que você não irá necessitar de indicar por si próprio. Se você escrever kdvi
, 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 --unique
localizacao/documento.dvi
kdvi
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.--unique
file:documento.dvi#43
Os parâmetros normais tratados pelas aplicações do Qt™ e do KDE também funcionam: kdvi
-style
windows
-display
:0
-geometry
400x400+0+0
-caption
"DVI"
O KDVI pode imprimir os seus ficheiros DVI usando a interface-padrão do KDE para impressões. Internamente, o KDVI usa o programa dvips para gerar PostScript®, o qual é então passado à impressora. Em particular, o dvips tem de estar instalado se você desejar imprimir no KDVI. O programa dvips 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 dvips manualmente e certificar-se que define um modo predefinido do MetaFont que se adeque melhor à sua impressora — em muitos sistemas você irá encontrar a documentação do dvips em Texinfo da GNU e poderá também encontrar um ficheiro chamado dvips.dvi
ou semelhante.
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 Acrobat Reader da Adobe. Você irá encontrar as funções de exportação no menu .
Tal como na impressão, o programa externo dvips é usado para gerar o ficheiro PostScript®. Se o ficheiro DVI contiver hiperligaçõ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 dvips manualmente e escolher o modo de MetaFont você mesmo.
Para produzir ficheiros PDF com alta qualidade, o KDVI converte o DVI para PDF usando o programa externo dvipdfm. Se você estiver a trabalhar numa máquina com uma versão antiga do sistema de publicação TeX, pode acontecer que o programa dvipdfm não esteja instalado. Neste caso, você terá de usar a função de impressão para gerar os resultados em PDF.
Se você usa uma instalação mais antiga do TeX, e se estiver a ver o ficheiro gerado no Acrobat reader 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 kghostview. Isto é um problema conhecido com o Acrobat Reader 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.
Embora o dvipdfm produza ficheiros PDF de alta qualidade, o dvipdfm ignora de momento o PostScript® que vem incorporado no ficheiro DVI. O PostScript incorporado é gerado p.ex. pelo pacote de macros xy ou pela função de "Incorporar os ficheiros PostScript" que o KDVI descreve em baixo.
Se você achar que faltam dados gráficos ao PDF gerado, use a função de impressão do KDVI em alternativa.
O KDVI também pode gravar os seus ficheiros DVI no formato de texto.
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.
A forma tradicional de usar imagens no TeX 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 TeX 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.
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
Os ficheiros DVI com o PostScript® incorporado funcionam optimamente com o restante 'software' de tratamento de DVI, como p.ex. o xdvi, o dvips ou o dvipdf. Uma excepção notável é o dvipdfm, que ignora de momento o PostScript® incorporado. Dado que o dvipdfm é usado internamente pela função "Exportar para PDF" 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 TeX, o xy.
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 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 e ). 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:
Crie um ficheiro DVI que contenha a informação de pesquisa inversa. Isso é explicado na secção sobre Produzir ficheiros TeX para a pesquisa inversa em baixo. Se apenas quiser testar a funcionalidade de pesquisa inversa, você também poderá usar o ficheiro de exemplo KDVI-features.dvi
Diga ao KDVI qual o editor que deseja usar. Escolha um editor na janela de Preferências (esta janela poderá ser acedida se escolher no menu ). A próxima secção desta documentação, as Opções de Desenho, explica esta janela com mais detalhe.
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 Configurar o seu editor em baixo.
Teste a sua configuração. Abra o seu ficheiro DVI no KDVI e use o botão do rato para carregar no KDVI. O editor deverá surgir, mostrando o ficheiro de TeX.
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.
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 distribuição de TeX TeTeX, você poderá usar a opção 'src-specials' da linha de comandos do comando 'tex' ou 'latex', tal como se segue.
tex --src-specials o_meu_ficheiro.texou
latex --src-specials o_meu_ficheiro.tex
Se você não tiver um ficheiro TeX binário que inclua nativamente a informação de pesquisa inversa, copie os ficheiros srcltx.sty
e srctex.sty
para a pasta onde o seu ficheiro TeX está guardado (você poderá fazê-lo se carregar na tecla Shift e no botão do rato enquanto o cursor do rato se encontra sobre uma hiperligação). Se usar o LaTeX, adicione a linha
\usepackage[active]{srcltx}ao preâmbulo do seu ficheiro LaTeX. Se usar o TeX simples a linha
\include{srctex}fará o truque.
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.
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.
O Emacs funciona bem com o KDVI. O comportamento actual do Emacs depende em grande medida da configuração. Como de costume, você poderá personalizar por completo o Emacs, se estiver disposto a enfrentar algum código de Lisp.
O KDVI usa o programa emacsclient para controlar remotamente o Emacs.
O programa emacsclient necessita que o Emacs esteja em execução e que o programa Emacs Server (servidor do Emacs) tenha sido iniciado dentro do Emacs. A pesquisa inversa não irá funcionar convenientemente a menos que tenha iniciado tanto o Emacs como o Emacs Server.
Para iniciar o Emacs Server, você poderá fazer uma das coisas seguintes:
No Emacs, inicie o Emacs Server escrevendo M X server-start
Adicione a linha
(server-start)ao seu ficheiro
.emacs
file. Reinicie o EmacsCertifique-se que o Emacs está instalado. Tente iniciar o emacs a partir da linha de comandos.
O KDVI usa o comando emacsclient para controlar remotamente o Emacs. Certifique-se que o emacsclient está disponível na linha de comandos ao escrever o comando emacsclient
. Isto deverá abrir um texto novo no editor Emacs.Nome de um ficheiro de texto
Se o emacsclient falhar com uma mensagem do erro do tipo unable to connect to local
(não foi possível ligar ao local), certifique-se que o Emacs está a correr. De seguida, certifique-se que o Emacs Server está a correr escrevendo M x server-start
.
Se você quiser que a janela se auto-eleve, adicione a função raise-frame
ao “server-switch-hook” (faça M x customize-variable RET server-switch-hook
e indique o nome da função no campo de texto.
Se você alterou o documento desde a sua última gravação, o Emacs irá perguntar-lhe: Revert buffer from file ...? (yes or no)
(reverter o documento a partir do ficheiro ...? (sim ou não). Você provavelmente irá dizer no (não) aqui, dado que a reversão significa que o ficheiro será lido de novo a partir do disco, fazendo com que todas as suas alterações desde a última gravação sejam perdidas!
O comportamento do gnuclient ao reler silenciosamente o documento alterado é provavelmente preferível — adicione as seguintes linhas ao seu ficheiro .emacs
para emular o comportamento do gnuclient com o emacsclient:
(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)))
O editor Kate do KDE suporta bastante bem a pesquisa inversa. Não é necessária nenhuma configuração extra.
O sistema de edição de LaTeX Kile suporta o KDVI bastante bem. Não é precisa nenhuma configuração extra. Para mais informações sobre o Kile vá à página pessoal do Kile.
O NEdit 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 NEdit, a nova janela que é aberta mostrará outra vista sobre o ficheiro. Caso contrário, o ficheiro TeX é carregado. Depois de abrir a janela, o NEdit realça a primeira linha do parágrafo apropriado.
O KDVI usa o comando ncl para controlar remotamente o NEdit. Certifique-se que o ncl está disponível na linha de comandos, tentando o comando ncl
. Isto deverá abrir uma instância do editor NEdit. Se o ncl não estiver disponível, você poderá estar a usar uma versão antiga do NEdit. Nesse caso, você deverá mudar para uma versão mais recente ou então terá de usar a opção Editor definido pelo utilizador da janela de Opções.-noask
O XEmacs funciona bem com o KDVI. O comportamento actual do XEmacs depende em grande medida da configuração. Como de costume, você pode personalizar o XEmacs por completo, se estiver disposto a debater-se com algum código em Lisp.
O KDVI usa o gnuclient para controlar remotamente o XEmacs.
O programa gnuclient necessita que o XEmacs esteja a correr, assim como o programa gnuserv seja iniciado dentro do XEmacs. A pesquisa inversa não irá funcionar a menos que tenha iniciado tanto o XEmacs como o gnuserv.
Para iniciar o programa gnuserv, você poderá fazer uma das seguintes coisas:
No XEmacs, inicie o gnuserv escrevendo M X gnuserv-start
Adicione a linha
(gnuserv-start)ao seu ficheiro
.xemacs
. Se você usar uma versão mais recente do XEmacs, o .xemacs
será uma pasta. Nesse caso, você deverá adicionar a linha ao ficheiro .xemacs/init.el
. Reinicie o XEmacsSe 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 “Gnuserv Frame” (Janela do Gnuserv) para “Use selected frame” (usar a janela seleccionada) e adicione a função raise-frame
a “Visit Hook” (Chamada de Visita). Faça M x customize-group RET gnuserv
para efectuar estas configurações.
Certifique-se que o XEmacs está instalado. Tente iniciar o xemacs a partir da linha de comandos.
O KDVI usa o comando gnuserv para controlar remotamente o XEmacs. Certifique-se que o gnuclient está disponível na linha de comando, tentando o comando gnuclient
. Isto deverá abrir uma nova janela no editor XEmacs.Nome de um ficheiro de texto
Se o gnuserv falhar com uma mensagem de erro do tipo unable to connect to local
(incapaz de ligar ao local), certifique-se que o XEmacs está a correr. Para além disso, confirme se o gnuserv é iniciado, escrevendo M X gnuserv-start
.
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 “Gnuserv Frame” (Janela do Gnuserv) para “Use selected frame” (usar a janela seleccionada) e adicione a função raise-frame
a “Visit Hook” (Chamada de Visita). Faça M X customize-group RET gnuserv
para efectuar estas configurações.
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 Emacs e o XEmacs são suportados de momento. Os outros editores juntar-se-ão em breve, esperamos nós.
Para usar a pesquisa normal, você terá de fazer o seguinte:
Configure o seu editor — isto é descrito em baixo.
Adicione a informação do código-fonte ao seu ficheiro DVI, isto é usando o pacote srcltx. Isto foi descrito na secção sobre Produzir ficheiros TeX para a pesquisa inversa.
Se você usar o Emacs e tudo estiver configurado convenientemente, basta você carregar em Ctrl+X Ctrl+J
, 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 poder usar a pesquisa normal no Emacs, siga estes passos:
Obtenha o seguinte programa do Emacs script, kdvi-search.el
(carregue em Shift e no botão do rato sobre o ficheiro a obter) e guarde-o num local onde o Emacs lhe possa aceder — nós recomendamos uma pasta do tipo emacs-scripts
.
Adicione as linhas
(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)))ao seu ficheiro
.emacs
. Reinicie o Emacs.Abra o Emacs, carregue um ficheiro de TeX, produza o ficheiro DVI correspondente e introduza o comando M+xkdvi-jump-to-line
ou carregue em Ctrl+X Ctrl+J
. Poderá acontecer que o Emacs lhe peça o nome de um “master file” (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 Emacs irá provavelmente pedir também para gravar o nome do ficheiro-mestre “como uma variável local”, isto é como um comentário no fim do ficheiro. Basta dizer yes
(sim) ou no
(não) para continuar.
Certifique-se que o Emacs está instalado. Tente iniciar o emacs a partir da linha de comandos.
Se o Emacs não conseguir iniciar o KDVI, você poderá ver o seu resultado no documento kdvi-output.
Para configurar o XEmacs, siga os passos para o Emacs descritos acima, mas altere o seu ficheiro .xemacs
em vez do seu .emacs
. Se usar uma versão muito recente do XEmacs, o .xemacs
poderá ser uma pasta. Nesse caso, adicione as linhas ao ficheiro .xemacs/init.el
.
A janela de Preferências poderá ser acedida ao escolher as no menu de .
A janela consiste em duas páginas, a Tipos de Letra e o Desenho.
Tradicionalmente, o processador TeX usa tipos de letra que são gerados pelo programa MetaFont. Estes tipos de letra estão gravados no formato PK. Embora um sistema MetaFont configurado com cuidado produza impressões da mais alta qualidade, a sua configuração necessita de uma grande experiência, dado que o MetaFont não é muito bom a produzir tipos de letra adequados para ecrãs de computador, assim como existem muito poucos tipos de letra MetaFont disponíveis para as línguas Asiáticas.
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.
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.
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.
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 neste documento.
A janela de especiais do DVI ajuda-o a configurar o suporte para algumas destas funcionalidades.
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.
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.
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 xdvi e do dvips 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 KDVI-features.dvi
.
Se você pretender usar a pesquisa inversa, 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 NEdit. Se você usou um dos editores pré-configurados da lista Editor, então você não terá de fazer mais nada. Se você desejar usar um editor diferente, escolha o Editor definido pelo utilizador na mesma lista e indique a linha de comandos que será usada para iniciar o seu editor. Utilize as substituições %f e %l, as quais serão substituídas pelo nome do ficheiro TeX e pela linha dentro do mesmo ficheiro TeX, respectivamente.
Se você usa um editor que não é suportado, envie-nos por favor um e-mail para (kebekus AT kde.org)
e diga-nos a linha de comandos que usa e como configurou o seu editor.
KDVI
O KDVI baseia-se no programa autónomo KDVI 0.4.3 de Markku Hihnala. Esse programa baseia-se por sua vez no xdvi versão 18f que tem muitos autores.
Documentação copyright 2001-2004, Stefan Kebekus (kebekus AT kde.org)
Tradução de José Nuno Pires (jncp AT netcabo.pt)
Este programa está licenciado ao abrigo da GNU General Public License.
A documentação está licenciada ao abrigo da GNU Free Documentation License.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team