\url の折り返しが余白の注釈スペースまで拡張されます

\url の折り返しが余白の注釈スペースまで拡張されます

これは少し変わった方法です。非常に長い URL をブロックで囲もうとしました\url{}が、唯一うまくいったのは、\UrlBreaks実質的にすべての文字で改行できるようにコマンドを更新することだけでした。

\marginparsepただし、長い URL がページの余白に重なることは防げますが、文字が欄外の注釈スペース (およびで定義) に押し込まれてしまうようです\marginparwidth

次のドキュメントに問題が示されています。

\RequirePackage[hyphens]{url}
\documentclass[12pt]{article}

\usepackage[hyphens]{url}
\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks=true, urlcolor=blue]{hyperref}
\usepackage[margin=1cm, bottom=3.5cm, top=3.5cm, head=2cm]{geometry}
\usepackage{showframe}
\usepackage{blindtext}

\setlength\parindent{0pt}

\let\origUrlBreaks\UrlBreaks
\renewcommand*{\UrlBreaks}{\origUrlBreaks\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\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\.\do\/\do\-\do\_\do\?\do\&\do\=}

\begin{document}

\blindtext

\url{http://really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-long-url.com}
\end{document}

コンパイルすると、実際には 'y' の半分と '-' 全体が \marginparsep 領域にプッシュされます。ただし、これは通常のテキスト ブロックでは発生しないようです。こちらを参照してください。

ここに画像の説明を入力してください

なぜこのようなことが起こるのか、また、これを修正するにはどうすればいいのか知っている人はいますか?

答え1

行に柔軟性がないため、TeX が中断される場所がありません。

追加

\Urlmuskip = 0mu plus 1mu

ここに画像の説明を入力してください

関連情報