2010-04-12 15 views
15

Perché questo articolo non viene visualizzato correttamente nella mia bibliografia?linebreak in url con pacchetto Bibtex e hyperref

 
@misc{ann, 
    abstract = {ANN is an implbmentation of nearest neighbor search.}, 
    author = {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}, 
    priority = {2}, 
    title = {ANN.}, 
    url = "http://www.cs.umd.edu/~mount/ANN/", 
    year = {2008} 
} 

@misc{Nilsson96introductionto, 
    author = {Nilsson, Nils J.}, 
    citeulike-article-id = {6995464}, 
    howpublished = {\url{http://robotics.stanford.edu/people/nilsson/mlbook.html}}, 
    keywords = {*file-import-10-04-11}, 
    posted-at = {2010-04-11 06:52:28}, 
    priority = {2}, 
    title = {Introduction to Machine Learning: An Early Draft of a Proposed Textbook.}, 
    year = {1996} 
} 

alt text http://i42.tinypic.com/wivrxl.jpg


EDIT:

Sto usando

\usepackage{hyperref} 

non

\usepackage{url} 

. Produce un errore quando si usa il pacchetto url insieme ad esso. Quindi i due non possono lavorare insieme?

Vorrei utilizzare i collegamenti ipertestuali all'interno del file PDF, quindi desidero utilizzare il pacchetto hyperref anziché il pacchetto url. Ho cercato su google un po ', e provo

\usepackage[hyperindex,breaklinks]{hyperref} 

, ma non c'è ancora nessuna interruzione di linea esattamente come prima. Come posso farlo?


EDIT:

Quando si utilizzano URL e hyperref insieme, se è solo

\usepackage{hyperref} 
\usepackage{url} 

la compilazione da lattice va bene, ma il collegamento è ancora hyperlink e ha ancora alcuna interruzione di riga . Se non utilizzo il pacchetto hyperref, il collegamento ha interruzioni di riga, ma perdo i collegamenti ipertestuali. Dal momento che \ url può essere utilizzato sia nei pacchetti hyperref che url, come posso specificare quale \ url viene utilizzato?

Se è

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

la compilazione con il comando latex riferirà scontro con url:

! LaTex Error: Option clash for package url.

Allora mi chiedo come devo fare?

risposta

10

Se si intende il troppo ampia spaziatura, è perché gli URL sembra non consentire interruzioni di linea. Perché questo accada è un'altra domanda, e la risposta dipende dal tuo preambolo (i pacchetti che usi ecc.). In linea di principio, se usato correttamente, lo url package dovrebbe consentire interruzioni di riga.

EDIT Questo problema (e la sua soluzione) è descritto here (l'invio di una cache di Google in quanto il sito non è in linea al momento). In conclusione: utilizza il pacchetto breakurl o PDFLaTeX o entrambi.

+1

Grazie, AVB! Mi piacerebbe utilizzare i collegamenti ipertestuali all'interno del file pdf, quindi voglio ancora usare il pacchetto hyperref al posto del pacchetto url. Ho cercato un po 'su google, e ho provato \ usepackage [hyperindex, breaklinks] {hyperref}, ma non c'è ancora interruzione di riga come prima. Come posso farlo? – Tim

+0

breakurl funziona alla grande, grazie per la risposta! –

+0

@Tim, non funziona. BibTeX con bibplain-fl. – vonbrand

3

Normalmente gli URL sono sillabati, ma nella tua bibliografia sembrano non esserlo. Quando gli URL non si adattano a una riga, vengono spostati nella riga successiva e il testo che li precede viene allungato per riempire le righe precedenti. Dal momento che c'è solo un posto per spezzare la linea, non è molto probabile che il testo precedente si adatti bene a un numero intero di linee, e così si ottiene tutto lo spazio extra.

MODIFICA: Quando hai cambiato la tua voce di pettorale, ti è capitato di cambiarla in modo tale che il testo si adattasse bene. Questa è solo una coincidenza, non hai risolto il tuo problema.

ho il sospetto che mettere

\usepackage{url} 

nel preambolo sarà risolverlo.

+0

Grazie, ptomato! Mi piacerebbe utilizzare i collegamenti ipertestuali all'interno del file pdf, quindi voglio ancora usare il pacchetto hyperref al posto del pacchetto url. Ho cercato un po 'su google, e ho provato \ usepackage [hyperindex, breaklinks] {hyperref}, ma non c'è ancora interruzione di riga come prima. Come posso farlo? – Tim

+0

Usa entrambi. Non c'è niente che ti impedisca di usare url * e * hyperref. –

+0

Usandoli entrambi non funziona ancora o i rapporti si scontrano con il pacchetto url. – Tim

14

Si dovrebbe utilizzare in questo ordine:

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

Si ottiene questo errore quando li si utilizza il contrario.

! LaTex Error: Option clash for package url. 

in quanto il pacchetto hyperref carica il pacchetto di url da qualche parte internamente senza che hypens opzione, e poi si desidera caricare con l'opzione, quindi si scontra.

Girando l'ordine intorno fa ciò che si vuole e non dà questo errore (hyperref in quanto il pacchetto è già caricato non verrà caricato di nuovo con diverse opzioni)

+0

Questo ha funzionato per me! ('url' incluso prima di' hyperref', e non ha bisogno di usare 'breakurl'). – larsr

+0

Solo il breakurl funziona per me, questa risposta no. :( – Ali

7

Ho appena eseguito in quasi lo stesso problema e trovato è risolto mettendo

\PassOptionsToPackage{hyphens}{url} 

prima della

\usepackage[...]{hyperref} 
0

al preambolo, appena messo \usepackage{breaker} qualche parte dopo \usepackage{hyper ref}. Il comando \burl è definito e, per default, il pacchetto si accende anche il comando \url in sinonimo di \burl.

3

Strano, ho caricare il pacchetto url (senza opzione) e la sillabazione è fatto a barre /, se necessario. Ad ogni modo, semplice soluzione:

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

lavoro manuale, ma si divide l'URL sì o sì.

0

Questa semplice soluzione ha funzionato per me:

\ usepackage {} hyperref \ usepackage {} breakurl

Gli URL sono ora perfetta.

0

aggiungo questo pacchetto:

\usepackage[hyphens]{url} 

e nel BibTeX ho usato:

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

e funziona fuori.

Problemi correlati