長い URL が余白まで拡張されています。アンダースコアで分割されますが、遅すぎます。

長い URL が余白まで拡張されています。アンダースコアで分割されますが、遅すぎます。

私の論文には、単語の区切りとして多くのアンダースコア文字を含む長い URL があります (Wiki ソフトウェアがこれを行っていました)。これらの URL はアンダースコアで分割されます (良いことです!) が、遅すぎるため、テキストの行が余白まで伸びてしまいます。それより前にアンダースコアがありますが、そこでは分割されません。余白まで伸びる 1 行よりも、1 行に短いテキストを入れた方がよいでしょう。

私は、ハイパーリファレンスを使用する amsbook から派生した、私の学校特有のドキュメント クラスを使用しています。同様の問題についてのフォーラム投稿をたくさん読みましたが、(a) 私の問題に正確に一致する投稿が見つからず (アンダースコアが壊れるが、最適なものではない)、(b) 他の人が提案した解決策は機能しませんでした。[ハイフン] オプションを渡してみましたが、効果はありませんでした (予想どおり)。\breakurl パッケージも試しましたが、私のシステムでは pdflatex が使用されており、\breakurl ではサポートされていません。

アドバイスをいただければ幸いです。これらの 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 は 2 回分割されます。最初は events/ の後、2 回目は Interdisciplinary_ の後ですが、2 回目の分割は 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 関数を 2 回 (またはリンクする回数だけ) 使用して、どちらも同じ URL にリンクすることができますが、最初のリンクでは 1 行目に表示するテキストを使用し、2 つ目のリンクでは 2 行目に表示するテキストを使用します。つまり、改行する場所を決定します。少し不自然な方法ですが、私の場合はうまく機能します。

(\href{Full URL}{\underline{Text up to the end of line 1}} \href{Full URL}{\underline{Text for the start of line 2}})

関連情報