En mi disertación tengo una URL larga que contiene muchos caracteres de subrayado como separadores de palabras (el software Wiki hizo esto). Estas URL se rompen en un guión bajo (¡bueno!), pero es demasiado tarde, lo que hace que la línea de texto se extienda hasta el margen. Hay un guión bajo anterior, pero la ruptura no ocurre allí. Prefiero tener una línea con texto más corto que una línea que se extienda hasta el margen.
Estoy usando una clase de documento particular de mi escuela, derivada de amsbook, que usa hyperref. He leído muchas publicaciones en foros sobre problemas similares, pero (a) no encontré ninguna que coincidiera exactamente con mi problema (los subrayados se rompen, pero no son los mejores), y (b) las soluciones que otros sugirieron no funcionaron. Yo: Intenté pasar la opción [guiones], sin ningún efecto (como se esperaba). También probé el paquete \breakurl, pero mi sistema usa pdflatex, que no es compatible con \breakurl.
Estaría muy agradecido por su consejo: la escuela marcó mi disertación porque estas URL sobresalen del margen requerido y me he quedado sin cosas que probar. El último recurso sería mostrar la URL como texto sin formato y forzar otro formato; me gustaría evitar eso.
Mi intento de MWE:
\documentclass[hidelinks,12pt]{amsbook}
\RequirePackage[bookmarks, bookmarksopen=true, plainpages=false, pdfpagelabels, pdfpagelayout=SinglePage, breaklinks = true]{hyperref}
\begin{document}
\chapter{Troubleshooting long URLs}
\section{Test 1}
A complete list of participants and presentations can be found on the conference web site: \url{http://ruraro.rintint.edu/events/shipshops/index.php/Perplexity_and_Action_-_an_Interdisciplinary_Approach_to_Rationale_Synchro_Theory}
\end{document}
Después de compilar con pdflatex (en realidad, estoy usando Sublime Text CTRL-B), la URL se rompe dos veces: primero después de events/ y segundo después de Interdisciplinary_ aunque preferiría que la segunda ruptura ocurriera después de an_.
EDITAR: Ingenuamente, para mí el quid parece ser cómo elige LaTeX (y todos los paquetes involucrados) encualguión bajo para romper la URL! ¿Por qué no en el último guión bajo?antes¿El final de la línea (en términos de margen)? Actualmente se interrumpe en el primer guión bajo después del párrafo.
Respuesta1
\documentclass[hidelinks,12pt]{amsbook}
\RequirePackage[bookmarks, bookmarksopen=true, plainpages=false, pdfpagelabels, pdfpagelayout=SinglePage, breaklinks = true]{hyperref}
\begin{document}
\chapter{Troubleshooting long URLs}
\section{Test 1}
A complete list of participants and presentations can be found on the conference web site: \href
{http://ruraro.rintint.edu/events/shipshops/index.php/Perplexity_and_Action_-_an_Interdisciplinary_Approach_to_Rationale_Synchro_Theory}%
{\texttt{http://ruraro.rintint.edu/events/ship\linebreak shops/index.php/Perplexity\string_and\string_Action\string_-\string_an\string_Interdisciplina\linebreak ry\string_Approach\string_to\string_Rationale\string_Synchro\string_Theory}}
\end{document}
Respuesta2
Coloque la URL en un párrafo aparte y utilice un archivo \parbox
. También funciona dentro de una lista:
\documentclass[hidelinks,12pt]{amsbook}
\RequirePackage[bookmarks, bookmarksopen=true, plainpages=false, pdfpagelabels, pdfpagelayout=SinglePage, breaklinks = true]{hyperref}
\usepackage{enumitem}
\begin{document}
\chapter{Troubleshooting long URLs}
\section{Test 1}
A complete list of participants and presentations can be found on the conference web site: \medskip
\noindent%
\parbox{\linewidth}{\url{http://ruraro.rintint.edu/events/shipshops/index.php/Perplexity_and_Action_-_an_Interdisciplinary_Approach_to_Rationale_Synchro_Theory}}
\begin{itemize}[leftmargin = 1.6\parindent, before = \bigskip]
\item\parbox[t]{\dimexpr\linewidth-\leftmargin\relax}{\url{http://ruraro.rintint.edu/events/shipshops/index.php/Perplexity_and_Action_-_an_Interdisciplinary_Approach_to_Rationale_Synchro_Theory}}
\end{itemize}
\end{document}
Respuesta3
Puedes usar la función \href dos veces (o tantas veces como enlace), ambas enlazando a la misma URL, pero la primera con el texto que quieres que aparezca en la primera línea, y la segunda con el texto que quieres que aparezca. en la segunda línea. En otras palabras, usted decide dónde se produce el salto de línea. Un poco complicado pero a mí me funciona bien:
(\href{Full URL}{\underline{Text up to the end of line 1}} \href{Full URL}{\underline{Text for the start of line 2}})