Linux Portuguese-HOWTO: Configuração dos vários programas

Next Previous Contents

## 6. Configuração dos vários programas

## 6.1 Aplicativos

A maioria das aplicações que rodam no Unix usa algum tipo de arquivo de configuração que o usuário coloca em seu diretório de trabalho (home) e cujo nome normalmente é `.alguma-coisarc`. Tanto quanto possível, tentei evitar que isso fosse necessário, pois além de dar mais trabalho ao usuário (e ao administrador da rede ;-) pode dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o diretório home compartilhado entre um servidor Alpha rodando DEC UNIX com os PCs rodando Linux via NFS (até a maior parte do Linux está instalada no Alpha, os PCs só têm a partição raiz e uma área de swap). Os arquivos podem necessitar algum ajuste dependendo da plataforma e nem todos os programas possuem flexibilidade bastante para isso.

Uma opção que muitos programas também oferecem é especificar em uma variável de ambiente o nome do arquivo de configuração ou o uso de arquivos padrão que normalmente ficam em um diretório `/usr/lib/alguma-coisa` ou `/etc/alguma-coisa`.

### Bash (biblioteca GNU readline)

Os programas que utilizam a biblioteca GNU readline para ler a linha de comando procuram por um arquivo chamado `.inputrc` no diretório ``HOME'' do usuário caso não exista uma variável de ambiente `INPUTRC` contendo o caminho para um arquivo de configuração.

Coloque uma linha no seu arquivo `/etc/profile` contendo

        INPUTRC="/etc/inputrc"
        export INPUTRC

e crie um arquivo /etc/inputrc contendo

        set meta-flag on
        set convert-meta off
        set output-meta on

Outra alternativa é criar um arquivo `.inputrc` no diretório home do usuário com o conteúdo acima, mas é muito difícil manter atualizados os arquivos de todos os usuários, principalmente quando eles são muitos. Um `inputrc` mais completo pode ser obtido via WWW na página do Portuguese HOWTO. Ele contém opções para vários tipos de terminal e permite usar as teclas de movimento de cursor para percorrer o histórico de comandos (setas para cima e para baixo); ir para o primeiro e para o último comandos do histórico (teclas PageUp e PageDown); posicionar o cursor na linha (setas para a esquerda e direita) e posicionar o cursor no início e no fim da linha (teclas Home e End).

Para maiores informações leia os manuais do bash e da biblioteca readline com os comandos

        man bash
        man readline

### Emacs

O pai de todos os editores pode ser configurado criando-se um arquivo chamado `.emacs` no diretório do usuário, contendo as seguintes linhas:

        (set-input-mode nil nil 1)
        (standard-display-european t)
        (require 'iso-syntax)

Para tornar esta configuração global, na distribuição Slackware coloque os comandos no arquivo `/usr/lib/emacs/site-lisp/site-start.el`. Na distribuição Debian o emacs executa todos os scripts contidos no diretório `/etc/emacs/site-start.d` ao ser carregado. Tudo que se tem a fazer é colocar esses comandos em um arquivo chamado, por exemplo, `01portugues-emacs.el`.

Se o estimado leitor, assim como eu, não se agrada do tratamento dado pelo Emacs às teclas de Delete, Home e End, aproveite a oportunidade e acrescente ao mesmo arquivo o seguinte:

        (global-unset-key [backspace] )
        (global-set-key [backspace] 'delete-backward-char)
        (global-unset-key [delete] )
        (global-set-key [delete] 'delete-char)
        (define-key global-map [home] 'beginning-of-line)
        (define-key global-map [C-home] 'beginning-of-buffer)
        (define-key global-map [end] 'end-of-line)
        (define-key global-map [C-end] 'end-of-buffer)

Arquivos de configuração prontos podem ser obtidos via WWW na página do Portuguese HOWTO. Para Slackware, há um `site-start-emacs.el`, que deve ser copiado para o diretório `/usr/lib/emacs/site-lisp` com o nome de `site-start.el`. Para Debian, há um `01portugues-emacs.el` que deve ser copiado para o diretório `/etc/emacs/site-start.d`.

Certifique-se de estar usando a versão 24-out-1998 ou mais recente do arquivo de mapa de teclado para o X, pois ela possui uma correção no tratamento das teclas modificadoras Alt e Meta, que são muito usadas pelo Emacs.

### flex

Especifique a opção -8 se o parser a gerar necessitar de ler dados de 8 bit.

### Fortune

Fortune é aquele programa que toda vez que é invocado apresenta uma pequena mensagem, geralmente bem humorada. Ele é inspirado nos biscoitos da fortuna chineses (em inglês fortune cookies, daí o nome). Eis algumas mensagens típicas:

        dROGA!!oNDE ESTA O cAPSLOCK??

        Mouse não encontrado, bater no gato? (S/N)

        Que fio é ess<=V++088.../NO CARRIER

        Quem ri por último está conectado a 2400Bit/s.

Tudo que o programa faz é escolher aleatoriamente uma mensagem em um repositório mantido no diretório `/usr/games/fortunes` (Slackware) ou `/usr/share/games/fortunes` (Debian). Neste diretório existem diversos arquivos com as ``fortunas'' e um arquivo índice para cada um deles, que possui a extensão `.dat`. O formato dos arquivos é muito simples: cada fortuna é composta de uma série de linhas de texto. As fortunas são separadas umas das outras por linhas contendo apenas um caracter %. Veja o trecho a seguir:

        O que são quatro pontos na parede? Four migas. Ugh!
        %
        Errar é humano, botar a culpa no computador é mais humano ainda.
        %
        Aí ela me disse: Ou eu ou o modem! Sinto muitas saudades dela...

Tudo que temos a fazer é criar um arquivo com as fortunas chamado, digamos `fortunes` com o formato descrito acima. Depois basta usar o programa `strfile` para gerar o índice:

        strfile fortunes

e um arquivo chamado `fortunes.dat` será criado. Claro que se quisermos que o fortune mostre apenas mensagens em Português, teremos que remover os arquivos existentes no diretório original. Sugiro simplesmente renomeá-lo para `fortunes-en` (de English) e criar outro vazio. Eu coletei algumas fortunas e as coloquei no arquivo `fortunes-pt.tar.gz` que pode ser obtido via WWW na página do Portuguese HOWTO. Não esqueça de colocar no seu /etc/profile algumas linhas contendo uma chamada ao fortune, por exemplo

        if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then
           echo
           /usr/games/fortune
           echo
        fi

Uma última informação: se o nome de um arquivo termina com o sufixo `-o` o fortune só o consulta se for chamado com a opção `-o`. Esses arquivos são os que contém mensagens cujo conteúdo pode ser considerado ofensivo por algumas pessoas, tais como

        Só não mando a sogra pro inferno, com pena do Diabo.

Claro que existem coisas muito mais ofensivas por aí, mas este é um Linux HOWTO e não queremos realmente ofender ninguém, certo?

### Ispell

Dicionários para o Português de Portugal podem ser obtidos via WWW na página do Projecto Natura em http://www.di.uminho.pt/~jj/pln/pln.html. Para o Brasil, há uma versão compilada pelo Ueda: http://www.ime.usp.br/~ueda/.

> Eu gostaria de poder colocar maiores informações, mas ainda não tenho conhecimento suficiente sobre o Ispell e não posso ensinar o que não sei. Preciso de ajuda aqui.

### JDK (inclui ICQJava)

> Esta informação é baseada em uma mensagem da qual guardei o conteúdo mas não o remetente. Peço desculpas e espero que perdoe a falha. Não testei pessoalmente a informação e peço que me escrevam confirmando tanto a correção quanto, se possível, a identidade do autor.

O JDK utiliza fontes padrão que não suportam acentos. Isto quer dizer que letras com acentos são ignoradas e, geralmente, confundem o resto do texto. Resolver isto é extremamente fácil:

- entre no diretório `jdk1.1.5/lib` (no meu caso, `/jdk1.1.5/lib`);
- copie o arquivo `font.properties.hu` sobrescrevendo o `font.properties` atual (lembre-se de fazer backups!);
- entre no jdk e divirta-se! Fazendo isto, seu ICQ e todos os aplicativos que usem o jdk estarão aptos a lerem acentos! (fácil, não?)

### Joe

Invoque o joe com a opção `-asis` na linha de comando ou altere os arquivos de configuração para ativar tal opção. Na Slackware eles estão no diretório `/usr/lib/joe`. Tudo que se tem a fazer é remover o espaço em branco existente no início de cada linha. Outra alternativa é acrescentar a seguinte linha ao arquivo `/etc/profile`:

        alias joe='joe -asis'

Joe pode emular os editores Pico, emacs e WordStar. Um arquivo joerc está disponível via WWW na página do Portuguese HOWTO, contendo configurações que permitem usar as teclas Home e End para movimentar o cursor para o início e fim da linha.

### Less

Coloque as seguintes linhas no seu arquivo `/etc/profile`:

        LESS="-MM -i"
        LESSCHARSET="latin1"
        LESSKEY="/etc/lesskey"
        LESSOPEN='|lesspipe.sh "%s"'
        export LESS LESSCHARSET LESSKEY LESSOPEN

LESSKEY informa o nome de um arquivo contendo uma tabela de seqüências de caracteres geradas por cada tecla e as ações a serem tomadas pelo less. Para criar o arquivo `/etc/lesskey`, crie primeiro o arquivo `/etc/lesskey.in` contendo as seguintes linhas:

        # Termianl ANSI (console do Linux, XTerm, etc)
        \e[1~       goto-line
        \e[4~       goto-end
        \e[5~       back-screen
        \e[6~       forw-screen
        \e[7~       goto-line
        \e[8~       goto-end
        \e[A        back-line
        \e[B        forw-line
        # XTerm
        \eOH        goto-line
        \eOF        goto-end
        \e[H        goto-line
        \e[F        goto-end
        # Console Sun (testado com teclados Type 4/5)
        \e[214z     goto-line
        \e[220z     goto-end
        \e[216z     back-screen
        \e[222z     forw-screen
        # Arquivo seguinte/anterior
        :n  next-file
        :N  next-file
        :p  prev-file

Depois ``compile-o'' usando o comando

        # lesskey -o /etc/lesskey /etc/lesskey.in

Crie o arquivo `/usr/bin/lesspipe.sh` contendo

        #!/bin/sh
        # This is a preprocessor for 'less'.  It is used when this environment
        # variable is set:   LESSOPEN="|lesspipe.sh %s"

        case "$1" in
          *.rpm) rpm -qilp "$1" 2>/dev/null ;;
          *.tar) tar tvvf "$1" 2>/dev/null ;;
          *.tgz | *.tar.gz | *.taz | *.tar.Z | *.tar.z)
            tar tzvvf "$1" 2>/dev/null ;;
          *.tbz2 | *.tar.bz2)
            bzip2 -dc "$1" | tar tvvf - 2>/dev/null ;;
          *.Z) gzip -dc "$1"  2>/dev/null ;;
          *.z) gzip -dc "$1"  2>/dev/null ;;
          *.[1-9].gz | *.n.gz | *.man.gz)
            FILE=`file -Lz "$1" | cut -d ' ' -f 2`
            if [ "$FILE" = "troff" ]; then
              gzip -dc "$1" | groff -s -p -t -e -Tlatin1 -mandoc
            fi ;;
          *.gz) gzip -dc "$1"  2>/dev/null ;;
          *.zip) unzip -l "$1" 2>/dev/null ;;
          *.[1-9] | *.n | *.man)
            FILE=`file -L "$1" | cut -d ' ' -f 2`
            if [ "$FILE" = "troff" ]; then
              groff -s -p -t -e -Tlatin1 -mandoc "$1"
            fi ;;
        esac

Não esqueça de torná-lo executável:

        chmod 755 /usr/bin/lesspipe.sh

Na distribuição Debian já existe um script `/usr/bin/lesspipe` (note a ausência da extensão `.sh`). Para os curiosos a respeito da referência a ``*.rpm'', embora na máquina em questão se use Slackware, é possível ter o utilitário RPM instalado também, o que facilita tomar ``emprestados'' pacotes do Red Hat, Caldera e S.u.S.E.. Existe um RPM+Slackware Mini-HOWTO que explica como fazer isso.

### ls

Acrescente a seguinte linha ao arquivo `/etc/profile` :

        alias ls="ls -N"

ou

        alias ls="ls -b"

Se a sua distribuição de Linux usa o GNU ls (todas as que eu conheço usam) basta acrescentar ao arquivo `/etc/profile` ou `.profile` as seguintes linhas:

        # -----------------------------------------
        # Set up the color-ls environment variables
        # -----------------------------------------
        if [   "$SHELL" = "/bin/bash" -o \
               "$SHELL" = "/bin/sh" ]; then
           eval `dircolors -b`
        elif [ "$SHELL" = "/bin/zsh" ]; then
           eval `dircolors -z`
        elif [ "$SHELL" = "/bin/ash" ]; then
           eval `dircolors -s`
        elif [ "$SHELL" = "/bin/ksh" -o \
               "$SHELL" = "/bin/pdksh" ]; then
           eval `dircolors -k`
        elif [ "$SHELL" = "/bin/csh" -o \
               "$SHELL" = "/bin/tcsh" ]; then
           eval `dircolors -c`
        else
           eval `dircolors -b`
        fi

Se o seu shell é o csh ou tcsh, acrescente a seguinte linha ao arquivo `/etc/csh.login` ou `~/.login`:

        alias ls 'ls --color'

### LyX

Para aqueles que acham trabalhoso escrever documentos para o LaTeX usando um simples editor de texto (e realmente é) LyX é uma excelente opção. Este programa cria uma interface gráfica através da qual editamos os documentos que serão depois formatados pelo LaTeX. O ambiente é quase-WYSIWYG (What You See Is What You Get - O que tu vês é o que tu obténs). LyX não roda apenas em Linux, mas em qualquer Unix. Maiores informações podem ser obtidas em

> http://www.lyx.org

A partir da versão 1.0.1 do LyX já tem a interface com o usuário em Português, traduzida por Pedro Kröger, que também está traduzindo os manuais, junto com Roberto Mello. Estas traduções já fazem parte da distribuição oficial do LyX.

Tendo o LyX instalado, é muito fácil criar documentos com acentuação em Português. Seguindo as seguintes regras:

- Se o teclado foi configurado para ter dead keys usando um dos mapas aqui fornecidos, não é necessário fazer mais nada. Basta digitar o texto normalmente usando as seqüências de acentuação. A única exceção é o c-cedilha que não pode ser gerado usando a seqüência `'c`, pois o LyX gera um c com acento. Temos que usar a seqüência Compose-vírgula-c.
- Se o teclado não foi configurado para ter dead keys ainda assim é possível acentuar no LyX. Selecione o menu `Options/Keyboard`. Na caixa de diálogo ``Key Mappings'', selecione no ítem `Language/Primary` a opção ``American''. Com isto o LyX fará a composição dos caracteres acentuados usando regras semelhantes às das dead keys.
  - A vírgula será tratada como cedilha. Para obter um `Ç'digite `,C` e para obter uma vírgula digite `,,`. Cuidado! A seqüência `,`<espaço> gerará uma cedilha isolada e não uma vírgula!
  - `~ ^ ' e `` serão tratados como acentos. Vale a mesma regra anterior: para obter apenas o acento, pressione a tecla duas vezes consecutivas.
  - `: ; . / ?` e `-` também serão tratados como acentos. `?a` gerará um `å' e assim por diante.

Para o LyX imprimir corretamente, é necessário que, ao criar um novo documento, sejam selecionados a língua e a codificação de caracteres adequadas. Crie um documento selecionando o menu `File/New`. Depois selecione o menu `Layout/Document`. Na caixa de diálogo ``Document Layout'' selecione no ítem `Language` a opção ``brazil'' ou ``portuges'' (sem o u mesmo); no ítem `Encoding` selecione ``latin1''.

Veja a observação sobre o pacote algorithm na seção TeX e LaTeX

Uma observação final sobre o LyX: a versão atual (1.0.x) utiliza a biblioteca XForms para construir a interface com o usuário. Como essa biblioteca não tem suporte para acentuação, não é possível digitar letras acentuadas nas caixas de diálogo, somente no corpo do documento editado. Segundo os desenvolvedores, nas novas versões do LyX será possível escolher o tipo de interface ao compilar o programa, o que permitirá o uso de toolkits mais flexíveis. Já existe uma versão de LyX portada para o toolkit Qt, usado no KDE, chamada KLyX. Os autores são Matthias Ettrich -- autor original do LyX -- e Kalle Dalheimer. Para maiores informações, consulte via WWW: http://www-pu.informatik.uni-tuebingen.de/users/ettrich/.

### Man, groff, troff

Pode-se usar a opção de linha de comando `-Tlatin1` para o groff, mas é mais simples colocar uma linha no seu arquivo `/etc/profile` contendo

        GROFF_TYPESETTER="latin1"
        export GROFF_TYPESETTER

Para maiores informações leia o manual do groff com o comando

        man groff

No Linux, o comando man usa o groff para formatar os manuais e deve ser configurado para usar o conjunto Latin 1, ou não será possível formatar satisfatoriamente manuais que contenham caracteres não pertencentes ao conjunto ASCII, como é o caso do ``man iso_8859_1''. Na distribuição Slackware, é preciso editar o arquivo `/usr/lib/man.config` e alterar as definições NROFF e NEQN, trocando a opção ``-Tascii'' para ``-Tlatin1'':

        NROFF           /usr/bin/groff -Tlatin1 -mandoc
        NEQN            /usr/bin/geqn -Tlatin1

ou, se usarmos a variável de ambiente GROFF_TYPESETTER, podemos simplesmente eliminar a opção -Tascii. Na distribuição Debian não é necessário fazer nenhuma configuração para o man, bastando configurar GROFF_TYPESETTER e na Red Hat (incluindo Conectiva) o arquivo é `/etc/man.config`

Groff também pode ser configurado para fazer a separação silábica em português, o que é muito útil se tivermos páginas de manual em Português. Isto é bastante simples, porque quando James Clarck pôs suporte a hifenização no groff ele usou o mesmo algoritmo de hifenização do TeX. Para ter hifenização em português, basta copiar o arquivo de regras do TeX e fazer o `groff` usá-lo. O arquivo `hyphen.pt` pode ser obtido junto com os demais na página do HOWTO. Trata-se do arquivo `pt8hyph.tex` (ver seção TeX e LaTeX) ao qual foi adicionado apenas um comentário.

Ele deve ser copiado para o diretório `/usr/share/groff/tmac/` ou `/usr/lib/groff/tmac/`, dependendo da distribuição. É conveniente criar um ``link'' simbólico para `hyphen.br`. Para usar esse arquivo, basta colocar no início do seu documento troff/groff as linhas a seguir:

        .if \n(.g \{\
        .hla pt
        .hpf hyphen.pt
        .\}

O `.if` não é necessário para a acentuação, mas ele testa se o processador usado é o groff. Deste modo pode-se usar o mesmo documento em outros UNIX nos quais se use o troff normal sem que ele gere mensagens de erro sobre comandos desconhecidos.

### Midnight Comander (mc)

No menu `Options` sub-menu `Display bits...` ligue a opção ``Full 8 bits'' ou ``ISO 8859-1''. Na versão 3.2.11 isso permite que sejam mostrados nomes de arquivos contendo caracteres acentuados, mas não foi possível digitar tais caracteres na linha de comando ou nas caixas de diálogo.

### Minicom

Coloque uma linha no seu arquivo `/etc/profile` contendo

        MINICOM="-m -c on"
        export MINICOM

Isso permitirá usar a tecla Alt para ativar os comandos (exatamente como o Telix) e também usar cores. Para maiores informações, leia o manual do Minicom usando o comando

        man minicom

Mais uma dica sobre o Minicom: para fazê-lo usar usar corretamante a tecla Meta para ativação dos comandos rodando dentro de um xterm, deve-se invocá-lo com a opção ``-m'' e passar a opção ``-xrm "*eightBitInput: false"'' para o xterm. Se usarmos o rxvt então o minicom deve ser chamado com a opção ``-m'' e a tecla de ativação dos comandos será Alt. Fiz uma adaptação no script `xminicom` que pode ser obtido via WWW na página do Portuguese HOWTO.

Segundo Arnaldo Carvalho de Melo, as versões mais recentes do Minicom suportam internacionalização. Suporte para o Português foi acrescentado pelo pessoal da Conectiva. O código fonte pode ser obtido na página do Jukka (atual mantenedor do Minicom) em

> http://www.clinet.fi/~walker/minicom.html

### Netscape Communicator

O Communicator, assim como muitas aplicações que utilizam toolkits baseados no X Toolkit (Xt), permite que se modifiquem muitas de suas características por meio de arquivos de configuração (X Resources). No caso específico do Communicator, pode-se criar um arquivo chamado `Netscape` no diretório `/usr/X11R6/lib/X11/app-defaults` contendo estas opções.

Na distribuição brasileira Conectiva, o pacote do Communicator vem com um arquivo `/usr/lib/netscape/i18n/Netscape.ad.pt_BR` e um script `/usr/bin/netscape` que executa o Communicator fazendo-o ler este arquivo. Uma cópia do `Netscape.ad.pt_BR` pode ser obtida na página oficial do Portuguese-HOWTO. Para usá-lo, simplesmente copie-o para `/usr/X11R6/lib/X11/app-defaults/Netscape`, se sua distribuição não o possuir, mas fique atento que seu uso pode criar problemas com novas versões do programa.

Maiores informações sobre ``X Resources'' podem ser obtidas em [GET94], [McC94] e no manual do programa `xrdb`, com o comando

        man xrdb

### nn

> Alô, alô, alguém usa nn? Informação mais atualizada será bem recebida.

Acrescente a seguinte linha ao arquivo `~/.nn/init`:

        set data-bits 8

### Pine e Pico

Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma linha no arquivo .pinerc, no diretório do usuário, contendo

        character-set=ISO-8859-1

ou crie um arquivo geral de configuração contendo tal linha. Esse arquivo normalmente é `/usr/local/lib/pine.conf` ou `/usr/lib/pine.conf`

A configuração também pode ser feita usando o próprio programa. No menu de entrada selecione as opções Setup/Configuration. Vá até o ítem ``character-set'' e preencha-o com ``ISO-8859-1''. Para maiores informações leia o manual do pine com o comando

        man pine

### tcsh

Nenhuma medida especial é necessária se for feita a correta configuração das variáveis de ambiente ``LANG'' e ``LC_ALL'', conforme mostrado mostrado na seção Biblioteca libc.

Tcsh tem suporte a internacionalização e na distribuição Debian há um pacote chamado tcsh-i18n com suporte para French, German, Greek and Spanish.

### TeX e LaTeX

> Esta seção foi escrita com ajuda de Klaus Steding-Jessen.

### O pacote Babel

O pacote Babel, criado por Johannes Braams provê suporte a um grande número de idiomas para o LaTeX. De acordo com o idioma selecionado ele define muitas coisa como, por exemplo, os títulos dos capítulos (Chapter, Capítulo, Kapitel) e o título das tabelas (Tabela, Table, Tabelle). Para usar o pacote, basta incluir no preâmbulo de seu documento LaTeX o comando

        \usepackage[portuges]{babel}

        ou

        \usepackage[brazil]{babel}

Há diferenças sutis entre o Portugues do Brasil e o de Portugal, tais como as normas para escrita de datas e nomes de meses com a primeira letra maiúscula ou minúscula.

Pode-se misturar mais de um idioma no mesmo documento. Para Alemão e Português ficaria:

        \usepackage[german,brazil]{babel}

Nesse caso a última opção (brazil) fica sendo o idioma corrente. Para mudar ao longo do texto, entre um e outro, use:

        \selectlanguage{german}

        [...]

        \selectlanguage{brazil}

Isto é muito útil também quando queremos que uma palavra não seja separada. Basta definir um novo idioma e usá-lo nas palavras que não podem ser separadas. Coloque no preâmbulo:

        \newlanguage\nohyphen
        \newcommand\nh[1]{{\language\nohyphen #1}}

E use com \nh{FOO BAR}. É melhor do que usar `\mbox`, que impede quebra no espaco em `\mbox{FOO BAR}`.

### Separação silábica

Normalmente apenas os suportes a separação silábica para Inglês e Alemão são carregados. Para configurar hifenização no teTeX, execute o utilitário texconfig, que na distribuição Slackware deve ser o programa `/usr/lib/teTeX/bin/texconfig` e na Debian é `/usr/bin/texconfig`. Digite o comando

        texconfig hyphen

O editor usado normalmente é o vi. Se o seu editor predileto for outro, crie uma variável de ambiente chamada EDITOR contendo o nome desse programa, como no exemplo a seguir:

        EDITOR=pico
        export EDITOR

O editor de texto será carregado, para editar o arquivo `language.dat`. Procure uma linha que começa por %portuges e remova o %. Grave o arquivo e saia do editor. O texconfig atualizará diversos arquivos de configuração (não se assuste com a quantidade de mensagens que aparecem na tela).

Se o nome da tabela de hifenização que consta no seu `language.dat` é `pthyph.tex` então provavelmente trata-se da versão 1.0, de 1987. A versão 1.2, de 1996, pode ser obtida via FTP anônimo em

> ftp://ftp.tex.ac.uk/tex-archive/language/portuguese/pt8hyph.tex

Copie-o para o mesmo diretório onde se encontra o `pthyph.tex`, que dependendo de sua distribuição pode ser `/usr/lib/texmf/tex/generic/hyphen` `/usr/share/texmf/tex/generic/hyphen` ou `/usr/lib/teTeX/texmf/tex/generic/hyphen`. Execute o comando `texconfig~hash` e na mesma linha mencionada anteriormente insira um `8' no nome do arquivo, de modo que fique `pt8hyph.tex`.

### Uso de Font Encoding T1

Se o conjunto de caracteres (encoding) de uma fonte não provê acesso direto a caracteres acentuados, (como é o caso do OT1, padrão do LaTeX) então o TeX gera estes caracteres sobrepondo o caracter base mais o acento. O algoritmo de hifenização, contudo, não hifeniza palavras formadas dessa forma.

Se uma fonte já provê acesso direto a caracteres acentuados, como as de codificação T1, estes caracteres são usados diretamente sem prejuízo do algoritmo de hifenização. O uso de encoding T1 é fundamental para a correta hifenização em Português.

Note que trata-se da mesma fonte, por falta a Computer Modern, apenas o que muda é o seu encoding, isto é, a ordem/disponibilidade dos caracteres dentro da mesma. Para selecionar estas fontes, inclua no preâmbulo do seu documento o comando

        \usepackage[T1]{fontenc}

O antigo pacote `t1enc` não deve mais ser usado e existe hoje apenas por questões de compatibilidade com documentos antigos. O `fontenc` é mais atual, continua a ser mantido e é de uso mais geral, portanto preferível.

### Edição de documentos

Normalmente a introdução de caracteres acentuados no texto exige o uso de seqüências de escape bastante trabalhosas. Para gerar um ``ö'' deve-se digitar \"o. Com babel pode-se digitar apenas "o, o que não deixa de ser inconveniente para ler o fonte do documento. Há um pacote chamado inputenc que permite especificar a codificação em que estão os caracteres de um documento. Lembre-se porém que se o seu documento for enviado para outro usuário que não possua o inputenc ele poderá não conseguir processá-lo, mas esse recurso já está disponível desde a liberação do LaTeX2e em dezembro 1994. Todas as distribuições de Linux atuais o incluem.

Sugestão: uma configuração do GNU Emacs para gerar caracteres acentuados, própria para o uso com o pacote inputenc:

        (add-hook 'LaTeX-mode-hook
                  (lambda ()
                    (standard-display-european 1)
                    (load-library "iso-acc")
                    (iso-accents-mode 1)
                    (iso-accents-customize "portuguese")
                    (auto-fill-mode 1)
                    ))

E outra que não requer o inputenc. O uso da biblioteca `iso-cvt' faz a transformação de ISO-8859-1 (no buffer do Emacs) para o padrão do LaTeX (no arquivo).

        (add-hook 'LaTeX-mode-hook
                  (lambda ()
                    (standard-display-european 1)
                    (load-library "iso-cvt")
                    (load-library "iso-acc")
                    (iso-accents-mode 1)
                    (iso-accents-customize "portuguese")
                    (auto-fill-mode 1)
                    ))

Muitas vezes o usuario já possui muitos arquivos num formato de acento do LaTeX e gostaria de passar tudo para o formato ISO, próprio para uso do pacote inputenc. Uma boa opção para isto é usar o programa `recode`. Se você possui arquivos .tex e deseja converte-lo para formato ISO-8859-1 pode usar:

        recode -d LaTeX:l1 file.tex

O código-fonte do GNU recode pode ser obtido via FTP anônimo em ftp://prep.ai.mit.edu/pub/gnu/recode/recode-3.4.tar.gz e em muitos espelhos do GNU mundo afora. A distribuição Debian tem um pacote pronto e outras também devem ter.

### Teste da configuração do LaTeX

Para testar a nova configuração copie o seguinte trecho para um arquivo chamado, digamos, `exemplo.tex`:

        \documentclass[a4paper]{article}
        \usepackage[latin1]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage[portuges]{babel}
        %%
        %% ou \usepackage[brazil]{babel}
        %%

        \begin{document}
        \title{Linux Portuguese-HOWTO}
        \author{Carlos Augusto Moreira dos Santos}
        \date{\today}

        \maketitle

        \section{Introdução}

        Este documento pretende ser um guia de referência de configuração
        do \textbf{Linux} e seus programas, teclados e fontes de
        caracteres, permitindo sua internacionalização/utilização confortável
        por pessoas que falem a Língua Portuguesa.

        \end{document}

Esse texto contém de propósito uma ``palavra'' bastante longa para forçar a separação silábica. Ele está disponível via WWW no arquivo `exemplo.tex` na página do Portuguese HOWTO. Para processá-lo, use o comando `latex`, conforme mostrado a seguir:

        bash$ latex exemplo.tex
        This is TeX, Version 3.14159 (C version 6.1)
        (exemplo.tex
        LaTeX2e <1996/06/01>
        Hyphenation patterns for english, german, portuges, loaded.
        (/usr/lib/teTeX/texmf/tex/latex/base/article.cls
        Document Class: article 1996/05/26 v1.3r Standard LaTeX document class
        (/usr/lib/teTeX/texmf/tex/latex/base/size10.clo))
        (/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version
        (/usr/lib/teTeX/texmf/tex/latex/base/latin1.def))
        (/usr/lib/teTeX/texmf/tex/latex/base/fontenc.sty
        (/usr/lib/teTeX/texmf/tex/latex/base/T1enc.def))
        (/usr/lib/teTeX/texmf/tex/generic/babel/babel.sty (portuges.ldf
        (/usr/lib/teTeX/texmf/tex/generic/babel/babel.def))) (exemplo.aux) [1]
        (exemplo.aux) )
        (see the transcript file for additional information)
        Output written on exemplo.dvi (1 page, 812 bytes).
        Transcript written on exemplo.log.

A mensagem ``Hyphenation patterns for english, german, portuges, loaded.'' indica que a configuração foi bem sucedida. Se o seu computador está rodando o X o documento formatado poderá ser visto com o comando

        xdvi exemplo.dvi

Observe que o ```\today`'' gera a data corrente. No ``portugues'' seria ``17 de Julho de 1998'' mas no ``brazil'' seria ``17 de julho de 1998''.

### Problemas com alguns pacotes do teTeX

Há um problema com o pacote algorithm do LaTeX, que não é suportado pelo babel, fazendo com que a lista de algoritmos saia com o título ``List of Algorithms'' e o título de cada um deles seja impresso como ``Algorithm #''. Para evitar esse problema, coloque no preâmbulo de seu documento LaTeX, após o comando ```\usepackage{algorithm}`'' o seguinte:

        \makeatletter
        \renewcommand{\ALG@name}}{Algoritmo}}
        \makeatother
        \renewcommand{\listalgorithmname}}{Lista de Algoritmos}}

No teTeX 0.4 (versão 1.2h do portuges.ldf) o título do ambiente proof, encontrado nas classes amsbook, amsart, etc., sai como ``Proof.''. Para corrigir isso, coloque no preâmbulo de seu documento o comando

        \renewcommand{\proofname}}{Demonstra\c{c}\~ao}

mas o mais recomendável é que se atualize a versão do teTeX.

Usuários do LyX podem incluir esses comandos no preâmbulo do documento usando o menu `Layout/LaTeX Preamble`. Pode-se resolver o problema alterando o arquivo `portuges.ldf` que contém as definições necessárias ao Português, mas esta solução não é portável, pois exigirá que tal arquivo seja alterado em todas os computadores em que o documento deva ser processado.

A licença do Babel não me permite distribuir o `portuges.ldf` separado do resto do pacote, mas para os interessados, coloquei à disposição na página do HOWTO um arquivo chamado `portuges.ldf.patch` que criei para o meu teTeX antigo (Slackware 3.4). Para aplicar a atualização, copie-o para o diretório `/usr/lib/teTeX/texmf/tex/generic/babel` (Slackware), faça uma cópia de reserva do `portuges.ldf` original e invoque o utilitário `patch`:

        cp -p portuges.ldf portuges.ldf.backup
        patch < portuges.ldf.patch

Use o patch por sua conta e risco! Se você deixar o backup no diretório original ele será incluído no arquivo `ls-R` da próxima vez que o programa texhash for executado. Isso não fará mal algum, mas pode-se mover o backup para algum lugar seguro (eu uso `/usr/backup`).

### Lista TeX-BR

Há uma lista de discussão brasileira de usuários de TeX/LaTeX, chamada TeX-BR, que roda no servidor de listas da FURG. Para entrar da lista mande um mail contendo apenas a palavra ``subscribe'' no corpo para < tex-br-request@listas.furg.br>. Esta lista é administrada por Rafael Rodrigues Obelheiro.

Há uma página na WWW em http://biquinho.furg.br/tex-br/ por meio da qual se pode ler o histórico de mensagens. Também há referências para muitos documentos sobre LaTeX, alguns em Português e outros em Inglês.

### LaTeX-demo

Pode ser útil também um documento de exemplo para ter onde começar. Pensando nisso, Klaus Steding-Jessen preparou um pequeno documento em Português com o objetivo de ser um guia ``by example'' para o usuário de LaTeX iniciante e intermediário, que pode ser obtido via WWW em http://biquinho.furg.br/doc/LaTeX-demo/.

Klaus ecreveu também uma série três artigos destinados a ``descrever o sistema LaTeX como uma alternativa mais eficiente aos processadores de texto WYSIWYG'' que podem ser lidos via WWW em http://biquinho.furg.br/tex-br/doc/artigo-1-jessen/.

### WordPerfect

O Corel Wordperfect para Linux versão 8 suporta a acentuação por teclas mortas. Não é necessário nenhum procedimento especial. Como um entusiasta de software livre, entretanto, recomendo enfaticamente que se use o LyX, que já foi inclusive traduzido para nossa língua, conforme mencionado na seção LyX.

### Xemacs (antigo lucid emacs)

> Agradeço a colaboração de Judson Santos Santiago e Goedson Teixeira Paixão que ajudaram a identificar os problemas com o Xemacs.

O Xemacs já tem suporte à acentuação direta no teclado usando ``dead keys'', mas há um erro na configuração original que o impede de reconhecer o acento circunflexo. Este problema não ocorre se for usada a biblioteca Xlib aterada por Thomas Quinot, mencionada na seção Contornando os limites do X, mas mesmo que não a usemos, basta colocar os seguintes comandos no seu arquivo de configuração `.emacs`:

        ;; Ajuste para fazer o acento circunflexo funcionar
        ;; Contribuição de Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
        (require 'x-compose)
        (define-key global-map 'dead-circumflex compose-circumflex-map)

Na distribuição Debian 2.0 o Xemacs 20.4 executa todos os scripts contidos no diretório `/etc/xemacs20/site-start.d` ao ser carregado. Tudo que se tem a fazer é colocar esses comandos em um arquivo chamado, por exemplo, `01portugues-xemacs.el`. Não é necessário instalar o xemacs20-mule, que possui extensões para línguas que não usam o alfabeto romano. Os pacotes a instalar são os seguintes:

- xemacs20-bin
- xemacs20-nomule
- xemacs20-support
- xemacs20-supportel

Se você instalou o Xemacs no Slackware ou outro Unix, à moda antiga (dowload, compilação, instação), então o arquivo a alterar é o `site-start.el`, que deve estar no diretório `/usr/lib/xemacs/site-lisp` ou `/usr/local/lib/xemacs/site-lisp`, dependendo de sua instalação.

Observe que a partir da versão 20.3 o Xemacs usa uma variável especial para controlar o comportamento da tecla ``Delete'', não existente nos outros emacs chamada delete-key-deletes-forward. Para ativar este comportamento coloque no seu arquivo `.emacs` uma linha contendo

        (setq delete-key-deletes-forward t)

Arquivos de configuração prontos podem ser obtidos via WWW na página do Portuguese HOWTO. Para Slackware, há um `site-start-xemacs.el`, que deve ser copiado para o diretório correto com o nome de `site-start.el`. Para Debian, há um `01portugues-xemacs.el` que deve ser copiado para o diretório `/etc/xemacs20/site-start.d`.

Certifique-se de estar usando a versão 24-out-1998 ou mais recente do arquivo de mapa de teclado para o X, pois ela possui uma correção no tratamento das teclas modificadoras Alt e Meta, que são muito usadas pelo Xemacs.

## 6.2 Rede local e Internet

### FTP (File Transfer Protocol)

Existem dois modos de transferência de arquivos: binary e ASCII, sendo este utilizado para textos. Deve-se tomar cuidado ao transferir um arquivo, pois o modo de transfêrencia `ASCII` remove o oitavo bit de cada caracter transmitido, o que terá como conseqüência a perda de todos os caracteres acentuados. Desta forma é aconselhado o envio de documentação em modo `binary` de forma a manter a integridade da mesma.

Cuidado! Algumas versões mais antigas do pacote net-tools do Linux têm um cliente FTP que não reconhece corretamente quando o servidor remoto roda Unix. Deste modo ele não comutará o modo de transferência para binário automaticamente. Além disso, alguns servidores FTP também não fornecem a informação corretamente. Certifique-se de digitar o comando `bin` antes de um `get` quando quiser que a transferência seja binária!

### Correio eletrônico

O mesmo tipo de restrições do FTP se aplica ao envio de documentos contendo caracteres acentuados através de correio eletrônico. Embora isto não aconteça em todos os sistemas em uso na internet, bastará que o correio enviado passe no seu trajecto por um sistema que não suporte 8 bits de informação para que o nosso documento seja deturpado.

Para que não hajam problemas, deve-se utilizar um programa de emeil, que suporte o formato MIME (Multipurpose Internet Mail Extensions), formato este que permite o envio de documentação em modo 8 bits. Exemplos de programas de correio eletrônico com suporte para MIME, são o Eudora e o Pine.

Se o destinatário da mensagem não usa um agente com suporte para MIME, existe a opção de codificar os documentos com o utilitário UUENCODE. Para maiores informações a esse respeito, leia a documentação usando os comandos

        man uuencode
        man uudecode

Next Previous Contents