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:

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:

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:

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