내 논문에는 단어 구분 기호로 밑줄 문자가 많이 포함된 긴 URL이 있습니다(Wiki 소프트웨어에서 이 작업을 수행했습니다). 이러한 URL은 밑줄(좋습니다!)로 구분되지만 너무 늦어서 텍스트 줄이 여백까지 확장됩니다. 이전에 밑줄이 있지만 중단은 발생하지 않습니다. 나는 여백까지 확장되는 한 줄보다 짧은 텍스트가 있는 한 줄을 선호합니다.
나는 하이퍼참조를 사용하는 amsbook에서 파생된 우리 학교의 특정 문서 클래스를 사용하고 있습니다. 유사한 문제에 대한 많은 포럼 게시물을 읽었지만 (a) 내 문제와 정확히 일치하는 게시물을 찾지 못했고(밑줄이 깨졌으나 가장 좋은 것은 아님) (b) 다른 사람들이 제안한 솔루션이 작동하지 않았습니다. 나: [하이픈] 옵션을 전달하려고 했는데 (예상대로) 효과가 없었습니다. \breakurl 패키지도 시도했지만 내 시스템은 \breakurl에서 지원되지 않는 pdflatex를 사용합니다.
귀하의 조언에 매우 감사하겠습니다. 해당 URL이 필요한 여백에 돌출되어 학교에서 내 논문에 플래그를 지정했고 시도할 것이 부족했습니다. 최후의 수단은 URL을 일반 텍스트로 표시하고 다른 형식을 강제하는 것입니다. 저는 이를 피하고 싶습니다.
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}
pdflatex로 컴파일한 후(실제로 저는 Sublime Text CTRL-B를 사용하고 있습니다) URL이 두 번 끊어집니다. 첫 번째는 events/ 다음이고 두 번째는 Interdisciplinary_ 다음입니다. 하지만 대신 an_ 다음에 두 번째 중단이 발생하는 것을 선호합니다.
편집: 순진하게도 나에게 핵심은 LaTeX(및 관련된 모든 패키지)가 선택하는 방식인 것 같습니다.어느URL을 해독하려면 밑줄을 그으세요! 마지막 밑줄에는 왜 안되나요?~ 전에줄 끝(여백 기준)? 현재는 단락 뒤의 첫 번째 밑줄에서 끊어집니다.
답변1
\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}
답변2
URL을 별도의 단락에 넣고 \parbox
. 목록 내에서도 작동합니다.
\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}
답변3
\href 함수를 두 번(또는 링크한 횟수만큼) 사용할 수 있습니다. 둘 다 동일한 URL에 연결되지만 첫 번째는 첫 번째 줄에 표시하려는 텍스트가 있고 두 번째는 표시하려는 텍스트가 포함됩니다. 두 번째 줄에. 즉, 줄 바꿈이 발생하는 위치를 결정합니다. 약간의 문제가 있지만 나에게는 잘 작동합니다.
(\href{Full URL}{\underline{Text up to the end of line 1}} \href{Full URL}{\underline{Text for the start of line 2}})