'Uneven' breaks in long URLs (url)












5














I'm struggling with hyphenation of long URLs (using command url{}).



Line breaking works fine in cases when URL is just part of line which doesn't fit to text area width. That means URL is hyphenated correctly if line starts with some text before URL - or if hyphenated URL is followed by other text which is also hyphenated.



Problem is in parts of URL which are at the line alone




  1. first line of very long URL


  2. middle lines of very long hyphenated URL



At screenshot there is visible that both cases overflowed the text area - case 1 is clearly visible, but also case 2 overflowed by few pixels.



In real document overflowed area is variable depending on contents which makes sometimes collisions with objects on the right side (images, ...).



enter image description here



How to hyphenate URLs correctly to avoid such overflows?




  • ideal solution is perfectly aligned block


  • but acceptable is also solution with underflowed line instead of overflowed (earlier line break instead of late)



I guess problem is mainly caused by non-proportional font and is fixed if other proportional text is present at the same line, but how to handle alone parts of long URLs?



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
defUrlBreaks{do{a}} % Force correct hyphenation for this example


usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}




Shorter MWE



documentclass[a4paper]{book}

usepackage{hyperref}
defUrlBreaks{do{a}}

begin{document}
Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.
end{document}




Edit 18-12-23: Additional issue



I've tried suggested solution:



defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}%
doa


and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error, see details in screenshot.



Problem is only with combination "suggested solution" and "real URL". Old method and real URL is OK (only with wrong breaks, which was reason for this question) and suggested solution with dummy URL works also fine.
It has definitely something to do with special characters in URL.



Full code:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}

% Old method - no error, but issues with breaks
%defUrlBreaks{do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ}

% New method - error for real URL (previous example with "aaa" works)
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}
do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ

usepackage{pdfpages}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
%url{http://aaa.bbb.ccc/njrrjjriokf56opiyfl5ojiorij6m9h9r87vjvjytrjyiotryhjiothjvoi8jr8o7j8hohj8oj88jt6hj8ohjot6trhiothj8hj8ohitnhh8tr7t786ht76nvh6gtrhgoght6onbvgnhyg8o7hvntnvotr696yjvhopr76r}newline
url{http://www.portafontium.cz/iipimage/30063568/karlovy-vary-65_0240-t?x=-45&y=345&w=927&h=383}newline

end{document}


enter image description here










share|improve this question









New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
    – moewe
    Dec 23 at 9:47
















5














I'm struggling with hyphenation of long URLs (using command url{}).



Line breaking works fine in cases when URL is just part of line which doesn't fit to text area width. That means URL is hyphenated correctly if line starts with some text before URL - or if hyphenated URL is followed by other text which is also hyphenated.



Problem is in parts of URL which are at the line alone




  1. first line of very long URL


  2. middle lines of very long hyphenated URL



At screenshot there is visible that both cases overflowed the text area - case 1 is clearly visible, but also case 2 overflowed by few pixels.



In real document overflowed area is variable depending on contents which makes sometimes collisions with objects on the right side (images, ...).



enter image description here



How to hyphenate URLs correctly to avoid such overflows?




  • ideal solution is perfectly aligned block


  • but acceptable is also solution with underflowed line instead of overflowed (earlier line break instead of late)



I guess problem is mainly caused by non-proportional font and is fixed if other proportional text is present at the same line, but how to handle alone parts of long URLs?



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
defUrlBreaks{do{a}} % Force correct hyphenation for this example


usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}




Shorter MWE



documentclass[a4paper]{book}

usepackage{hyperref}
defUrlBreaks{do{a}}

begin{document}
Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.
end{document}




Edit 18-12-23: Additional issue



I've tried suggested solution:



defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}%
doa


and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error, see details in screenshot.



Problem is only with combination "suggested solution" and "real URL". Old method and real URL is OK (only with wrong breaks, which was reason for this question) and suggested solution with dummy URL works also fine.
It has definitely something to do with special characters in URL.



Full code:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}

% Old method - no error, but issues with breaks
%defUrlBreaks{do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ}

% New method - error for real URL (previous example with "aaa" works)
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}
do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ

usepackage{pdfpages}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
%url{http://aaa.bbb.ccc/njrrjjriokf56opiyfl5ojiorij6m9h9r87vjvjytrjyiotryhjiothjvoi8jr8o7j8hohj8oj88jt6hj8ohjot6trhiothj8hj8ohitnhh8tr7t786ht76nvh6gtrhgoght6onbvgnhyg8o7hvntnvotr696yjvhopr76r}newline
url{http://www.portafontium.cz/iipimage/30063568/karlovy-vary-65_0240-t?x=-45&y=345&w=927&h=383}newline

end{document}


enter image description here










share|improve this question









New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
    – moewe
    Dec 23 at 9:47














5












5








5







I'm struggling with hyphenation of long URLs (using command url{}).



Line breaking works fine in cases when URL is just part of line which doesn't fit to text area width. That means URL is hyphenated correctly if line starts with some text before URL - or if hyphenated URL is followed by other text which is also hyphenated.



Problem is in parts of URL which are at the line alone




  1. first line of very long URL


  2. middle lines of very long hyphenated URL



At screenshot there is visible that both cases overflowed the text area - case 1 is clearly visible, but also case 2 overflowed by few pixels.



In real document overflowed area is variable depending on contents which makes sometimes collisions with objects on the right side (images, ...).



enter image description here



How to hyphenate URLs correctly to avoid such overflows?




  • ideal solution is perfectly aligned block


  • but acceptable is also solution with underflowed line instead of overflowed (earlier line break instead of late)



I guess problem is mainly caused by non-proportional font and is fixed if other proportional text is present at the same line, but how to handle alone parts of long URLs?



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
defUrlBreaks{do{a}} % Force correct hyphenation for this example


usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}




Shorter MWE



documentclass[a4paper]{book}

usepackage{hyperref}
defUrlBreaks{do{a}}

begin{document}
Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.
end{document}




Edit 18-12-23: Additional issue



I've tried suggested solution:



defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}%
doa


and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error, see details in screenshot.



Problem is only with combination "suggested solution" and "real URL". Old method and real URL is OK (only with wrong breaks, which was reason for this question) and suggested solution with dummy URL works also fine.
It has definitely something to do with special characters in URL.



Full code:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}

% Old method - no error, but issues with breaks
%defUrlBreaks{do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ}

% New method - error for real URL (previous example with "aaa" works)
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}
do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ

usepackage{pdfpages}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
%url{http://aaa.bbb.ccc/njrrjjriokf56opiyfl5ojiorij6m9h9r87vjvjytrjyiotryhjiothjvoi8jr8o7j8hohj8oj88jt6hj8ohjot6trhiothj8hj8ohitnhh8tr7t786ht76nvh6gtrhgoght6onbvgnhyg8o7hvntnvotr696yjvhopr76r}newline
url{http://www.portafontium.cz/iipimage/30063568/karlovy-vary-65_0240-t?x=-45&y=345&w=927&h=383}newline

end{document}


enter image description here










share|improve this question









New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I'm struggling with hyphenation of long URLs (using command url{}).



Line breaking works fine in cases when URL is just part of line which doesn't fit to text area width. That means URL is hyphenated correctly if line starts with some text before URL - or if hyphenated URL is followed by other text which is also hyphenated.



Problem is in parts of URL which are at the line alone




  1. first line of very long URL


  2. middle lines of very long hyphenated URL



At screenshot there is visible that both cases overflowed the text area - case 1 is clearly visible, but also case 2 overflowed by few pixels.



In real document overflowed area is variable depending on contents which makes sometimes collisions with objects on the right side (images, ...).



enter image description here



How to hyphenate URLs correctly to avoid such overflows?




  • ideal solution is perfectly aligned block


  • but acceptable is also solution with underflowed line instead of overflowed (earlier line break instead of late)



I guess problem is mainly caused by non-proportional font and is fixed if other proportional text is present at the same line, but how to handle alone parts of long URLs?



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
defUrlBreaks{do{a}} % Force correct hyphenation for this example


usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}




Shorter MWE



documentclass[a4paper]{book}

usepackage{hyperref}
defUrlBreaks{do{a}}

begin{document}
Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.
end{document}




Edit 18-12-23: Additional issue



I've tried suggested solution:



defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}%
doa


and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error, see details in screenshot.



Problem is only with combination "suggested solution" and "real URL". Old method and real URL is OK (only with wrong breaks, which was reason for this question) and suggested solution with dummy URL works also fine.
It has definitely something to do with special characters in URL.



Full code:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}

% Old method - no error, but issues with breaks
%defUrlBreaks{do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ}

% New method - error for real URL (previous example with "aaa" works)
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100}}}
do-do/dodo1do2do3do4do5do6do7do8do9doadobdocdoddoedofdogdohdoidojdokdoldomdondoodopdoqdordosdotdoudovdowdoxdoydozdoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoSdoTdoUdoVdoWdoXdoYdoZ

usepackage{pdfpages}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
%url{http://aaa.bbb.ccc/njrrjjriokf56opiyfl5ojiorij6m9h9r87vjvjytrjyiotryhjiothjvoi8jr8o7j8hohj8oj88jt6hj8ohjot6trhiothj8hj8ohitnhh8tr7t786ht76nvh6gtrhgoght6onbvgnhyg8o7hvntnvotr696yjvhopr76r}newline
url{http://www.portafontium.cz/iipimage/30063568/karlovy-vary-65_0240-t?x=-45&y=345&w=927&h=383}newline

end{document}


enter image description here







hyperref line-breaking url






share|improve this question









New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Dec 23 at 14:43





















New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Dec 22 at 23:10









Joseph

596




596




New contributor




Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Joseph is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
    – moewe
    Dec 23 at 9:47














  • 1




    I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
    – moewe
    Dec 23 at 9:47








1




1




I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
– moewe
Dec 23 at 9:47




I have retagged your question, since XeLaTeX and MikTeX are not really responsible for this issue. I have also added a much shorter MWE that still reproduces the issue, but gets rid of unnecessary packages.
– moewe
Dec 23 at 9:47










3 Answers
3






active

oldest

votes


















2














You can use the xurl package:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}
usepackage{showframe}
renewcommand{ShowFrameLinethickness}{0.3pt}
usepackage{ulem}
usepackage{xurl}
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://abc.bbb.ccc/abcabcaaaaaaabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer

















  • 1




    essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
    – barbara beeton
    Dec 23 at 1:23






  • 1




    @barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
    – Bernard
    Dec 23 at 10:26










  • didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
    – barbara beeton
    Dec 23 at 14:32










  • @barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
    – Joseph
    Dec 23 at 14:48





















4














Just add the call of package xurl before package hyperref.



The following MWE



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[hyphens]{xurl} % <==========================================
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


gives you:



enter image description here



I will inform the maintainer of xurl about this bug. Meanwhile you can use the following (not perfect, but better than nothing ...) code ( I corrected the code in def: defUrlBreaks{doa}):



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{pdfpages}
usepackage{needspace}
usepackage{ulem}
usepackage{showframe}

%usepackage{xurl} % <==========================================
usepackage[unicode]{hyperref}
defUrlBreaks{doa}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.

url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}

Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


with the result:



enter image description here






share|improve this answer























  • Looks fine, but what is the additional "13579/:" in the screenshot?
    – Joseph
    Dec 22 at 23:23






  • 1




    @Joseph Ups, I did not saw that. I will check ...
    – Kurt
    Dec 22 at 23:28










  • It's also in Bernard's example above :-) Maybe some debug feature?
    – Joseph
    Dec 22 at 23:29








  • 1




    The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
    – Ulrike Fischer
    Dec 22 at 23:42



















4














url's are not hyphenated. They are broken. As they are actually set in math the parts are blocks of quite fix width, this makes it sometimes difficult to fill up a line.
You can add a bit stretchability after the a to avoid the problem:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
%defUrlBreaks{do{a}} %
% some stretchability:
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100relax}}}%
doa

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer



















  • 2




    This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
    – moewe
    Dec 23 at 9:51






  • 3




    @moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
    – Ulrike Fischer
    Dec 23 at 11:20






  • 1




    Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
    – moewe
    Dec 23 at 11:39










  • I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
    – Joseph
    Dec 23 at 14:43






  • 1




    There was a relax missing after the penalty number, and so it picked up the number in the url.
    – Ulrike Fischer
    Dec 23 at 14:52











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Joseph is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f467041%2funeven-breaks-in-long-urls-url%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














You can use the xurl package:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}
usepackage{showframe}
renewcommand{ShowFrameLinethickness}{0.3pt}
usepackage{ulem}
usepackage{xurl}
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://abc.bbb.ccc/abcabcaaaaaaabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer

















  • 1




    essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
    – barbara beeton
    Dec 23 at 1:23






  • 1




    @barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
    – Bernard
    Dec 23 at 10:26










  • didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
    – barbara beeton
    Dec 23 at 14:32










  • @barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
    – Joseph
    Dec 23 at 14:48


















2














You can use the xurl package:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}
usepackage{showframe}
renewcommand{ShowFrameLinethickness}{0.3pt}
usepackage{ulem}
usepackage{xurl}
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://abc.bbb.ccc/abcabcaaaaaaabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer

















  • 1




    essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
    – barbara beeton
    Dec 23 at 1:23






  • 1




    @barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
    – Bernard
    Dec 23 at 10:26










  • didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
    – barbara beeton
    Dec 23 at 14:32










  • @barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
    – Joseph
    Dec 23 at 14:48
















2












2








2






You can use the xurl package:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}
usepackage{showframe}
renewcommand{ShowFrameLinethickness}{0.3pt}
usepackage{ulem}
usepackage{xurl}
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://abc.bbb.ccc/abcabcaaaaaaabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer












You can use the xurl package:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}
usepackage{showframe}
renewcommand{ShowFrameLinethickness}{0.3pt}
usepackage{ulem}
usepackage{xurl}
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://abc.bbb.ccc/abcabcaaaaaaabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered Dec 22 at 23:27









Bernard

165k769193




165k769193








  • 1




    essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
    – barbara beeton
    Dec 23 at 1:23






  • 1




    @barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
    – Bernard
    Dec 23 at 10:26










  • didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
    – barbara beeton
    Dec 23 at 14:32










  • @barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
    – Joseph
    Dec 23 at 14:48
















  • 1




    essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
    – barbara beeton
    Dec 23 at 1:23






  • 1




    @barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
    – Bernard
    Dec 23 at 10:26










  • didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
    – barbara beeton
    Dec 23 at 14:32










  • @barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
    – Joseph
    Dec 23 at 14:48










1




1




essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
– barbara beeton
Dec 23 at 1:23




essentially the same answer as the one by @Kurt, but his identifies a bug, fixes it, and he says he will report it.
– barbara beeton
Dec 23 at 1:23




1




1




@barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
– Bernard
Dec 23 at 10:26




@barbarabeeton: I didn't see Kurt's answer and didn't know about the bug – I seldom have to type urls in my LaTeX documents. Thanks for the information!
– Bernard
Dec 23 at 10:26












didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
– barbara beeton
Dec 23 at 14:32




didn't mean to imply that you had seen @Kurt's answer. apologies for giving that impression. (think of it this way -- if multiple people have been working in the same area, they tend to have similar experience, so the same answer can come simultaneously to more than one person. think of darwin and alfred russel wallace.)
– barbara beeton
Dec 23 at 14:32












@barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
– Joseph
Dec 23 at 14:48






@barbara beeton: Bernard had really sent his answer earlier by few seconds than Kurt :-) I've responded to Kurt because his answer was the last on the page and I didn't want to scroll up :-) Now the answers are reordered by their evaluation, so it seems that Bernard has responded later, but in fact, both answers were prepared in parallel and sent only few seconds after each other :-)
– Joseph
Dec 23 at 14:48













4














Just add the call of package xurl before package hyperref.



The following MWE



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[hyphens]{xurl} % <==========================================
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


gives you:



enter image description here



I will inform the maintainer of xurl about this bug. Meanwhile you can use the following (not perfect, but better than nothing ...) code ( I corrected the code in def: defUrlBreaks{doa}):



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{pdfpages}
usepackage{needspace}
usepackage{ulem}
usepackage{showframe}

%usepackage{xurl} % <==========================================
usepackage[unicode]{hyperref}
defUrlBreaks{doa}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.

url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}

Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


with the result:



enter image description here






share|improve this answer























  • Looks fine, but what is the additional "13579/:" in the screenshot?
    – Joseph
    Dec 22 at 23:23






  • 1




    @Joseph Ups, I did not saw that. I will check ...
    – Kurt
    Dec 22 at 23:28










  • It's also in Bernard's example above :-) Maybe some debug feature?
    – Joseph
    Dec 22 at 23:29








  • 1




    The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
    – Ulrike Fischer
    Dec 22 at 23:42
















4














Just add the call of package xurl before package hyperref.



The following MWE



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[hyphens]{xurl} % <==========================================
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


gives you:



enter image description here



I will inform the maintainer of xurl about this bug. Meanwhile you can use the following (not perfect, but better than nothing ...) code ( I corrected the code in def: defUrlBreaks{doa}):



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{pdfpages}
usepackage{needspace}
usepackage{ulem}
usepackage{showframe}

%usepackage{xurl} % <==========================================
usepackage[unicode]{hyperref}
defUrlBreaks{doa}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.

url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}

Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


with the result:



enter image description here






share|improve this answer























  • Looks fine, but what is the additional "13579/:" in the screenshot?
    – Joseph
    Dec 22 at 23:23






  • 1




    @Joseph Ups, I did not saw that. I will check ...
    – Kurt
    Dec 22 at 23:28










  • It's also in Bernard's example above :-) Maybe some debug feature?
    – Joseph
    Dec 22 at 23:29








  • 1




    The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
    – Ulrike Fischer
    Dec 22 at 23:42














4












4








4






Just add the call of package xurl before package hyperref.



The following MWE



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[hyphens]{xurl} % <==========================================
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


gives you:



enter image description here



I will inform the maintainer of xurl about this bug. Meanwhile you can use the following (not perfect, but better than nothing ...) code ( I corrected the code in def: defUrlBreaks{doa}):



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{pdfpages}
usepackage{needspace}
usepackage{ulem}
usepackage{showframe}

%usepackage{xurl} % <==========================================
usepackage[unicode]{hyperref}
defUrlBreaks{doa}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.

url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}

Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


with the result:



enter image description here






share|improve this answer














Just add the call of package xurl before package hyperref.



The following MWE



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[hyphens]{xurl} % <==========================================
usepackage[unicode]{hyperref}

usepackage{pdfpages}

usepackage{needspace}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


gives you:



enter image description here



I will inform the maintainer of xurl about this bug. Meanwhile you can use the following (not perfect, but better than nothing ...) code ( I corrected the code in def: defUrlBreaks{doa}):



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{pdfpages}
usepackage{needspace}
usepackage{ulem}
usepackage{showframe}

%usepackage{xurl} % <==========================================
usepackage[unicode]{hyperref}
defUrlBreaks{doa}


begin{document}

Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text. Reference text. Reference text.
Reference text. Reference text.

url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}

Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


with the result:



enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 22 at 23:54

























answered Dec 22 at 23:19









Kurt

35.4k847159




35.4k847159












  • Looks fine, but what is the additional "13579/:" in the screenshot?
    – Joseph
    Dec 22 at 23:23






  • 1




    @Joseph Ups, I did not saw that. I will check ...
    – Kurt
    Dec 22 at 23:28










  • It's also in Bernard's example above :-) Maybe some debug feature?
    – Joseph
    Dec 22 at 23:29








  • 1




    The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
    – Ulrike Fischer
    Dec 22 at 23:42


















  • Looks fine, but what is the additional "13579/:" in the screenshot?
    – Joseph
    Dec 22 at 23:23






  • 1




    @Joseph Ups, I did not saw that. I will check ...
    – Kurt
    Dec 22 at 23:28










  • It's also in Bernard's example above :-) Maybe some debug feature?
    – Joseph
    Dec 22 at 23:29








  • 1




    The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
    – Ulrike Fischer
    Dec 22 at 23:42
















Looks fine, but what is the additional "13579/:" in the screenshot?
– Joseph
Dec 22 at 23:23




Looks fine, but what is the additional "13579/:" in the screenshot?
– Joseph
Dec 22 at 23:23




1




1




@Joseph Ups, I did not saw that. I will check ...
– Kurt
Dec 22 at 23:28




@Joseph Ups, I did not saw that. I will check ...
– Kurt
Dec 22 at 23:28












It's also in Bernard's example above :-) Maybe some debug feature?
– Joseph
Dec 22 at 23:29






It's also in Bernard's example above :-) Maybe some debug feature?
– Joseph
Dec 22 at 23:29






1




1




The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
– Ulrike Fischer
Dec 22 at 23:42




The numbers are due to a bug in xurl. It is adding all numbers to UrlSpecials, but without a second argument and that breaks them.
– Ulrike Fischer
Dec 22 at 23:42











4














url's are not hyphenated. They are broken. As they are actually set in math the parts are blocks of quite fix width, this makes it sometimes difficult to fill up a line.
You can add a bit stretchability after the a to avoid the problem:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
%defUrlBreaks{do{a}} %
% some stretchability:
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100relax}}}%
doa

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer



















  • 2




    This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
    – moewe
    Dec 23 at 9:51






  • 3




    @moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
    – Ulrike Fischer
    Dec 23 at 11:20






  • 1




    Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
    – moewe
    Dec 23 at 11:39










  • I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
    – Joseph
    Dec 23 at 14:43






  • 1




    There was a relax missing after the penalty number, and so it picked up the number in the url.
    – Ulrike Fischer
    Dec 23 at 14:52
















4














url's are not hyphenated. They are broken. As they are actually set in math the parts are blocks of quite fix width, this makes it sometimes difficult to fill up a line.
You can add a bit stretchability after the a to avoid the problem:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
%defUrlBreaks{do{a}} %
% some stretchability:
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100relax}}}%
doa

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer



















  • 2




    This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
    – moewe
    Dec 23 at 9:51






  • 3




    @moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
    – Ulrike Fischer
    Dec 23 at 11:20






  • 1




    Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
    – moewe
    Dec 23 at 11:39










  • I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
    – Joseph
    Dec 23 at 14:43






  • 1




    There was a relax missing after the penalty number, and so it picked up the number in the url.
    – Ulrike Fischer
    Dec 23 at 14:52














4












4








4






url's are not hyphenated. They are broken. As they are actually set in math the parts are blocks of quite fix width, this makes it sometimes difficult to fill up a line.
You can add a bit stretchability after the a to avoid the problem:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
%defUrlBreaks{do{a}} %
% some stretchability:
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100relax}}}%
doa

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here






share|improve this answer














url's are not hyphenated. They are broken. As they are actually set in math the parts are blocks of quite fix width, this makes it sometimes difficult to fill up a line.
You can add a bit stretchability after the a to avoid the problem:



documentclass[a4paper]{book}

usepackage{fontspec}

usepackage{polyglossia}
setmainlanguage{czech}

usepackage{ulem}
usepackage[unicode]{hyperref}
%defUrlBreaks{do{a}} %
% some stretchability:
defdo#1{apptoUrlSpecials{do#1{mathchar`#1 mskip 0mu plus 1mupenalty100relax}}}%
doa

begin{document}

Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text. Reference text.newline
url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}newline
Some text before. url{http://aaa.bbb.ccc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after. Some text after.

end{document}


enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 23 at 14:50

























answered Dec 23 at 0:00









Ulrike Fischer

186k7290669




186k7290669








  • 2




    This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
    – moewe
    Dec 23 at 9:51






  • 3




    @moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
    – Ulrike Fischer
    Dec 23 at 11:20






  • 1




    Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
    – moewe
    Dec 23 at 11:39










  • I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
    – Joseph
    Dec 23 at 14:43






  • 1




    There was a relax missing after the penalty number, and so it picked up the number in the url.
    – Ulrike Fischer
    Dec 23 at 14:52














  • 2




    This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
    – moewe
    Dec 23 at 9:51






  • 3




    @moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
    – Ulrike Fischer
    Dec 23 at 11:20






  • 1




    Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
    – moewe
    Dec 23 at 11:39










  • I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
    – Joseph
    Dec 23 at 14:43






  • 1




    There was a relax missing after the penalty number, and so it picked up the number in the url.
    – Ulrike Fischer
    Dec 23 at 14:52








2




2




This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
– moewe
Dec 23 at 9:51




This seems to be the same issue as tex.stackexchange.com/q/466114/35864. I'm wondering if it would make sense to add that tiny bit of stretchable space to the biblatex definitions, since the result with one letter overflowing into the margin is visually unpleasant and also quite unintuitive when one looks at it for the first time: At least I would have thought that moving the protruding a into the next line would not have left the first line terribly underfull...
– moewe
Dec 23 at 9:51




3




3




@moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
– Ulrike Fischer
Dec 23 at 11:20




@moewe yes. probably it would be a good idea to add it. In older times when file, folder and url names were rather short the stretchable space Urlmedskip after the slash was enough but now it often leads to problems that there is not more in other places.
– Ulrike Fischer
Dec 23 at 11:20




1




1




Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
– moewe
Dec 23 at 11:39




Thanks you for the comment. have opened github.com/plk/biblatex/issues/850 so I don't forger about it over the holidays.
– moewe
Dec 23 at 11:39












I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
– Joseph
Dec 23 at 14:43




I've tried suggested solution and initially everything was perfect. But I wasn't happy for long time :-) After I'd replaced the dummy URL with the real, document couldn't be even compiled - Number too big error. I've updated the initial question with more information.
– Joseph
Dec 23 at 14:43




1




1




There was a relax missing after the penalty number, and so it picked up the number in the url.
– Ulrike Fischer
Dec 23 at 14:52




There was a relax missing after the penalty number, and so it picked up the number in the url.
– Ulrike Fischer
Dec 23 at 14:52










Joseph is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Joseph is a new contributor. Be nice, and check out our Code of Conduct.













Joseph is a new contributor. Be nice, and check out our Code of Conduct.












Joseph is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f467041%2funeven-breaks-in-long-urls-url%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How did Captain America manage to do this?

迪纳利

南乌拉尔铁路局