2010-04-14 60 views
35

Cuando una URL está sobre una línea y pasa a una segunda línea, el hipervínculo solo usa la primera línea. ¿Hay alguna forma de evitar esto y aún así tener la URL en múltiples líneas?URL látex salto de línea

+0

Relacionado: http://tex.stackexchange.com/questions/54946/how-to-break-long-url-in-an-item –

Respuesta

32

debería utilizar el paquete de url:

\usepackage{url} 
... 
\url{http://long.url.com/...  .../stuff} 

y se romperá para usted en un lugar apropiado.

+6

El paquete url romperá la línea en barras diagonales, pero no se romperá largo directorio o nombres de archivos, como generados con algún software de blogs. ¿Alguien tiene consejos sobre cómo solucionar este subproblema? Insertar '\ -' para la separación silábica opcional no funciona dentro de una macro \ url. – Paul

+33

Unos momentos más tarde, encontré http://www.latex-community.org/forum/viewtopic.php?f=44&t=4022, lo que me impulsó a agregar la opción [guiones] al paquete url. Esto solucionó mi problema – Paul

+3

Si las alineaciones de línea están bien, pero sus enlaces están rotos (es decir, el href solo está utilizando la primera línea), intente utilizar el paquete 'hyperref' en lugar del paquete' url'. Esto solucionó el problema para mí. – Bryan

3

¿Qué paquetes (hyperref, url) y controladores (pdftex, dvips, etc.) está usando? ¿Estás utilizando la opción breaklinks para hiperref?

De acuerdo con TeX FAQ es posible que desee probar el paquete breakurl, aunque parece que en algunos casos simplemente no tendrá suerte.

13

En el preámbulo, simplemente ponga \usepackage{breakurl} en alguna parte después de \usepackage{hyperref}. El comando \burl está definido y, de manera predeterminada, el paquete también convierte el comando \url en un sinónimo de \burl.

+1

Esto funcionó para mí algunas veces, pero no otras: http://tex.stackexchange.com/questions/54946/how-to-break-long-url-in-an-item –

+0

Parece una mejor respuesta que la anterior, como funciona con pdfannotextractor.pl (al menos en mis experimentos) – Alberto

8

Hazlo de la siguiente manera. tú eres bueno para irte.

\begin{document} 
\sloppy 
+2

¡esto es lo único que me ayudó! – otmezger

+3

Esta es realmente la versión de Slegdehammer de solucionar este problema. Si bien '\ sloppy' puede ser útil en casos muy seleccionados, se desaconseja su activación global. – Tobias

2

Para mí sólo esto funcionó:

\PassOptionsToPackage{hyphens}{url} 
\usepackage{hyperref} 

y con este código para agregar saltos de línea después de cada carácter alfabético normal y con * - ~ ' ":

\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one 
    \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j% 
    \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t% 
    \do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D% 
    \do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N% 
    \do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X% 
    \do\Y\do\Z\do\*\do\-\do\~\do\'\do\"\do\-}% 

respuesta completada desde este sitio: https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10401

0

URL largas que contienen caracteres de subrayado (_) en segmentos de ruta no se romperán cuando se usa \PassOptionsToPackage{hyphens}{url}\usepackage{hyperref}. Sin embargo, me di cuenta que podía resolver este problema al romper manualmente líneas en la etiqueta que se muestra usando \\\\, así:

\href{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_complexity/links/0922b4f398ad68bc96000000.pdf}{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_\\Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_\\complexity/links/0922b4f398ad68bc96000000.pdf} 

Esto se traduce en las direcciones URL que son un poco más bonita (OMI) que el uso de \usepackage{breakurl} y \burl , como lo sugiere Debajyoti Mondal, y le permite mostrar la URL completa si lo desea.