ムウェ

ムウェ

URLの分割を制御する方法はありますかbiblatex?私はACS ガイドそしてこう言います。

注記:ウェブブラウザによって、URL のテキストが改行される場所は異なります。印刷物では、URL を行末で改行する必要がある場合は、コロンまたは二重スラッシュの後、単一スラッシュ、チルダ、ピリオド、カンマ、ハイフン、下線、疑問符、番号記号、パーセント記号の前、または等号またはアンパサンドの前または後に改行する必要があります。

また、このurlパッケージを使用して、テキストと同じフォントで URL をタイプセットしています。パッケージのドキュメントを読みましたが、マクロ\UrlBreaksとについて少し混乱しています\UrlBigBreaks。しかし、私が理解している限りでは、これらは、リストされた文字の後に改行を許可する場合にのみ使用できますが、スタイル ガイドの要件の一部である前には使用できないようです (個人的には、ピリオドの前での改行は絶対に避けたいです)。これを行う方法はありますか?

答え1

これで望みどおりの結果が得られたと思います。ルールに従って再\urlstyle{acs}定義した新しいスタイルが定義されます。\UrlBreaks\UrlSpecials

小さな問題が 1 つあります。の間ではなく と の間:で分割されることが優先されますが、他の場所がある場合は、 の間で分割される可能性があります。これを修正しようとしましたが、うまくいきませんでした。ただし、実際の例ではこれが発生するとは思いません。//////

ムウェ

\documentclass{article}
\usepackage{url}

\makeatletter
\def\url@acsstyle{%
  \def\UrlBreaks{\do\/}%
  \def\UrlSpecials{%
    \do\~{\penalty\UrlBreakPenalty\mathchar`~}%
    \do\.{\penalty\UrlBreakPenalty\mathchar`.}%
    \do\,{\penalty\UrlBreakPenalty\mathchar`,}%
    \do\-{\penalty\UrlBreakPenalty\mathchar`-}%
    \do\_{\penalty\UrlBreakPenalty\mathchar`_}%
    \do\?{\penalty\UrlBreakPenalty\mathchar`?}%
    \do\#{\penalty\UrlBreakPenalty\mathchar"23}%
    \do\%{\Url@percent}%
    \do\={\penalty\UrlBreakPenalty\mathchar`=\penalty\UrlBreakPenalty}%
    \do\&{\penalty\UrlBreakPenalty\mathchar`&\penalty\UrlBreakPenalty}%
    \do\ {\Url@space}\do\^^M{\Url@space}%
    \Url@force@Tilde}%
}
\makeatother

\raggedright

\begin{document}

\hsize 5cm

\section*{Default Style}

\url{https://tex.stackexchange.com/questions/477945/control-url-breaking}

\section*{ACS Style}

\urlstyle{acs}

\url{https://tex.stackexchange.com/questions/477945/control-url-breaking}

\end{document}

出力

答え2

3 つの異なるパッケージが必要なので、コードにこれを含めます。

\usepackage{url}
\usepackage{breakurl}
\usepackage[breaklinks]{hyperref}

ここで、または の\def\UrlBreaks{\do\/\do-}後に改行できるようにするには、を追加するだけです。/-

たとえば、エントリが次のとおりだった場合:

@misc{GartnerNFC,
author = "Clark, Sarah",
howpublished = "nfcworld.com",
month = aug,
note = "Cited July 3rd 2012",
title = "{Gartner’s Hype Cycle places NFC at ‘Peak of Inflated Expectations’}",
url = "http://www.nfcworld.com/2011/08/11/39008/gartner-hype-cycle-places-nfc-at-peak-of-inflated-expectations",
year = "2011"
}

次のようになります:

その他のオプションについては、urlパッケージのドキュメントを参照してください。

関連情報