web-dev-qa-db-ja.com

Bibtexおよびhyperrefパッケージを使用したURLの改行

このアイテムが参考文献に正しく表示されないのはなぜですか?

 @ misc {ann、
抽象= {ANNは最近隣探索の実装です。}、
著者= {David M. Mount and Sunil Arya}、
 howpublished = {\ url {http://www.cs.umd.edu/~mount/ANN/}}、
 keywords = {knn}、
 Posted-at = {2010- 04-08 00:05:04}、
優先度= {2}、
タイトル= {ANN。}、
 url = "http://www.cs.umd .edu /〜mount/ANN /",
年= {2008} 
} 
 
 @ misc {Nilsson96はじめに、
著者= {Nilsson 、ニルスJ。}、
 citeulike-article-id = {6995464}、
 howpublished = {\ url {http://robotics.stanford.edu/people/nilsson/mlbook.html} }、
キーワード= {* file-import-10-04-11}、
投稿日時= {2010-04-11 06:52:28}、
優先度= {2}、
 title = {機械学習の概要:提案された教科書の初期ドラフト。}、
年= {1996} 
} 

alt text


編集:

使ってます

\usepackage{hyperref}

ない

\usepackage{url}

。 urlパッケージを一緒に使用するとエラーが発生します。それで、2つは一緒に動作できませんか?

PDFファイル内でハイパーリンクを使用したいので、urlパッケージではなくhyperrefパッケージを使用したいと思います。少しググってみて

\usepackage[hyperindex,breaklinks]{hyperref}

しかし、以前と同じようにまだ改行はありません。どうすればできますか?


編集:

Urlとhyperrefを一緒に使用する場合、それがちょうど

\usepackage{hyperref}  
\usepackage{url}

latexによるコンパイルは問題ありませんが、リンクは依然としてハイパーリンクであり、改行はありません。 hyperrefパッケージを使用しない場合、リンクには改行が含まれますが、ハイパーリンクは失われます。\urlはhyperrefパッケージとurlパッケージの両方で使用できるため、どのパッケージの\ urlが使用されているかをどのように指定できますか?

もしそれが

\usepackage{hyperref}  
\usepackage[hyphens]{url}

latexコマンドによるコンパイルは、urlとの衝突を報告します:

! LaTex Error: Option clash for package url.

どうすればいいのかな?

18
Tim

間隔が広すぎるというのは、URLで改行が許可されていないように見えるためです。これが発生する理由は別の質問であり、その答えはプリアンブル(使用するパッケージなど)によって異なります。原則として、適切に使用した場合、 rl package は改行を許可する必要があります。

[〜#〜] edit [〜#〜]この問題(およびその解決策)について説明します ここ (送信先サイトは現在オフラインであるため、Googleキャッシュ)。結論: breakurl パッケージ、またはPDFLaTeX、あるいはその両方を使用します。

10
AVB

次の順序で使用する必要があります。

\usepackage[hyphens]{url}
\usepackage{hyperref}  

逆に使用すると、このエラーが発生します。

! LaTex Error: Option clash for package url.

hyperrefパッケージは、hypensオプションを使用せずに内部的にurlパッケージをロードし、オプションを使用してそれをロードするため、衝突します。

順序を変えると、必要なことが実行され、このエラーは発生しません(パッケージが既にロードされているため、hyperrefは別のオプションで再度ロードしません)

編集:これはpdftexを使用していたため、他のツールでテストしていません。

15
Jens Timmerman

私はほとんど同じ問題に遭遇し、それを置くことによって解決されたことがわかりました

\PassOptionsToPackage{hyphens}{url}

の前に

\usepackage[...]{hyperref}
10
5gon12eder

奇妙なことに、urlパッケージ(オプションなし)をロードし、必要に応じてスラッシュ/でハイフネーションを行います。とにかく、簡単な回避策:

howpublished = {\url{http://www.cs.umd.edu/}\url{~mount/ANN/}},

手動ジョブですが、URLを「はい」または「はい」に分割します。

6
Campa

通常、URLはハイフネーションされていますが、参考文献ではそうではないようです。 URLが1行に収まらない場合、URLは次の行に移動され、前のテキストは、前の行を埋めるために引き伸ばされます。行を分割する場所は1つしかないため、前のテキストが行全体にうまく収まる可能性は低く、余分なスペースがすべて得られます。

[〜#〜] edit [〜#〜]:よだれかけのエントリを変更したとき、たまたまテキストがうまく収まるように変更しました。これは単なる偶然であり、問​​題を修正していません。

置くと思う

\usepackage{url}

あなたのプリアンブルでそれを解決します。

3
ptomato

私はこのパッケージを追加します:

\usepackage[hyphens]{url}

そして私が使用したビブテックスでは:

howpublished = {**\url{**http://www.......**}**}

そしてそれはうまくいきます。

1
thngoc

私にとってはこれだけがうまくいきました:

\usepackage[hyphens]{url}
\usepackage{hyperref}
...
\usepackage{biblatex}
\setcounter{biburlnumpenalty}{100}
\setcounter{biburlucpenalty}{100}
\setcounter{biburllcpenalty}{100}

以下から取得: https://tex.stackexchange.com/questions/22854/url-line-breaks-with-biblatex

1
aatdark

プリアンブルでは、\usepackage{breaker}の後に\usepackage{hyper ref}を置くだけです。 \burlコマンドが定義されており、デフォルトでは、\urlコマンドも\burlの同義語に変換されます。

0

この簡単な解決策は私にとってうまくいきました:

\ usepackage {hyperref}\usepackage {breakurl}

これでURLは完璧になりました。

0
user4335851