Os URLs tendem a ser muito longos e conter caracteres que, naturalmente, impediriam que eles fossem hifenizados, ainda que eles não fossem normalmente definidos em \ttfamily
, verbatim. Portanto, sem tratamento especial, eles produzem, com frequência, \hbox
es descontroladamente superlotados, e a representação tipografada deles fica horrível.
Existem três pacotes que ajudam a resolver este problema:
\path
.
O comando define cada candidato a caractere de quebra como
\discretionary
, oferecendo ao usuário a oportunidade de especificar uma lista pessoal de possíveis caracteres de quebra. Sua principal desvantagem é a fragilidade nos argumentos móveis do LaTeX. As
macros do Eplain — definem um comando \path
similar.
O Path, embora funcione em situações simples, não faz nenhuma tentativa de funcionar com o LaTeX (é irremediavelmente frágil). Apesar de sua longa e honrosa história, não é mais recomendado para uso em LaTeX.
\url
(entre outros, incluindo seu próprio comando \path
). O comando dá a cada potencial caractere de quebra uma ‘personalidade’ de modo matemático e, em seguida, define a própria URL (na fonte de escolha do usuário) no modo de matemática. Ele pode produzir comandos ‘robustos’ (estilo LaTeX-style)
(see uso do \protect
) para ser usado dentro de argumentos móveis.
O pacote normalmente ignora espaços no URL, mas, infelizmente, URLs que contêm espaços existem; para escrevê-las, use o pacote com a opção obeyspaces
. Duas outras opções úteis permitem quebras de linha no URL em posições onde elas são normalmente suprimidas para evitar confusão:
spaces
, para permitir quebras em espaços (observe que isto requer o
obeyspaces
também), e hyphens
, para permitir quebras depois de hífens. (Observe que o pacote nunca faz hifenização “normal” de nomes dentro de um URL.)
É possível usar o pacote url em Plain TeX, com a assistência do pacote miniltx (que foi originalmente desenvolvido para a utilização do pacote de gráfico do LaTeX no Plain TeX). Um pequeno ‘patch’ também é necessário; portanto, a sequência necessária é:
O pacote\input miniltx \expandafter\def\expandafter\+\expandafter{\+} \input url.sty
O autor desta resposta prefere o pacote url (bem mais novo), direta ou indiretamente; tanto o path quanto o url funcionam bem com o Plain TeX (embora, é claro, os sofisticados recursos LaTeX do url não tenham muito lugar lá). (hyperref não está disponível em uma versão para ser usada com o Plain TeX.)
Note que nem o \path
(do pacote path) nem o \url
(do pacote url) é robusto (no sentido do LaTeX). Se você precisar colocar um URL em um argumento móvel, você vai precisar do comando
\urldef
do pacote url. Então, alguém poderia escrever:
depois do qual, o\urldef\faqhome\url{http://www.tex.ac.uk/faq}
\faqhome
é robusto.
A documentação dos pacotes path e url está nos arquivos do pacote.
This question on the Web: http://latex.net.br/faq/FAQ-setURL.html
Do you have any question? Ask on: latex.net.br - we love qood questions!