'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




















  • 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 '18 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




















  • 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 '18 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
















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















share|improve this question













share|improve this question




share|improve this question








edited Dec 23 '18 at 14:43







Joseph

















asked Dec 22 '18 at 23:10









Joseph Joseph

596




596








  • 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 23:23






  • 1





    @Joseph Ups, I did not saw that. I will check ...

    – Kurt
    Dec 22 '18 at 23:28











  • It's also in Bernard's example above :-) Maybe some debug feature?

    – Joseph
    Dec 22 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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
});


}
});














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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 23:27









BernardBernard

167k770195




167k770195








  • 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 23:23






  • 1





    @Joseph Ups, I did not saw that. I will check ...

    – Kurt
    Dec 22 '18 at 23:28











  • It's also in Bernard's example above :-) Maybe some debug feature?

    – Joseph
    Dec 22 '18 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 '18 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 '18 at 23:23






  • 1





    @Joseph Ups, I did not saw that. I will check ...

    – Kurt
    Dec 22 '18 at 23:28











  • It's also in Bernard's example above :-) Maybe some debug feature?

    – Joseph
    Dec 22 '18 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 '18 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 '18 at 23:54

























answered Dec 22 '18 at 23:19









KurtKurt

35.9k847161




35.9k847161













  • Looks fine, but what is the additional "13579/:" in the screenshot?

    – Joseph
    Dec 22 '18 at 23:23






  • 1





    @Joseph Ups, I did not saw that. I will check ...

    – Kurt
    Dec 22 '18 at 23:28











  • It's also in Bernard's example above :-) Maybe some debug feature?

    – Joseph
    Dec 22 '18 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 '18 at 23:42



















  • Looks fine, but what is the additional "13579/:" in the screenshot?

    – Joseph
    Dec 22 '18 at 23:23






  • 1





    @Joseph Ups, I did not saw that. I will check ...

    – Kurt
    Dec 22 '18 at 23:28











  • It's also in Bernard's example above :-) Maybe some debug feature?

    – Joseph
    Dec 22 '18 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 '18 at 23:42

















Looks fine, but what is the additional "13579/:" in the screenshot?

– Joseph
Dec 22 '18 at 23:23





Looks fine, but what is the additional "13579/:" in the screenshot?

– Joseph
Dec 22 '18 at 23:23




1




1





@Joseph Ups, I did not saw that. I will check ...

– Kurt
Dec 22 '18 at 23:28





@Joseph Ups, I did not saw that. I will check ...

– Kurt
Dec 22 '18 at 23:28













It's also in Bernard's example above :-) Maybe some debug feature?

– Joseph
Dec 22 '18 at 23:29







It's also in Bernard's example above :-) Maybe some debug feature?

– Joseph
Dec 22 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 14:50

























answered Dec 23 '18 at 0:00









Ulrike FischerUlrike Fischer

188k7295674




188k7295674








  • 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 14:52


















draft saved

draft discarded




















































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.




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

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

Origin of the phrase “under your belt”?