- Questo topic ha 13 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 11 mesi fa da
Piribillo.
-
CreatoreTopic
-
29 Luglio 2014 alle 14:07 #95704::
Ho un’ampia bibliografia, parte della quale vorrei utilizzare per un altro lavoro.
In questo secondo utilizzo alcuni dei record del primo, ma poi vorrei inserire
alcuni titoli non citati nel testo come indicazioni ulteriore. Ora, nocite non va
bene perché inserirebbe tutti i titoli. Come’è possibile usare selettivamente
nocite a proposito di alcuni titoli e solo questi?
grazie
m
-
CreatoreTopic
-
AutoreRisposte
-
-
29 Luglio 2014 alle 14:45 #95705
-
29 Luglio 2014 alle 18:39 #95706
-
29 Luglio 2014 alle 20:06 #95707::
La key è quella che usi per fare la citazione. Per esempio se la voce di bibliografia è`@article{pasticcio:viva,
Author = {Ciccio, Pasticcio and Tira, La~Cinghia},
Journal = {Slurp!},
Number = {5},
Pages = {522-587},
Title = {Viva la pappa col pomodoro}}
`allora per citarlo in mezzo al testo usi `\cite{pasticcio:viva}` esattamente dove vuoi che compaia la citazione; per citarlo senza inserirlo nel testo usi `\nocite{pasticcio:viva}` messo “più o meno” dove vuoi. La key dell’articolo portato a esempio è: [tt]pasticcio:viva[/tt].
La voce in bibliografia sarà (se la rendi cliccabile o stampi il “dove è stata citata”) riferita alla sezione in cui hai inserito il [tt]\nocite{
}[/tt] relativo. Puoi anche metterlo nel preambolo, in questo modo tutte le citazioni relative alle sue key saranno riferite alla sezione 0. Quindi se non ti serve riferirti alla sezione in cui “non” hai citato un opera, puoi metterla tra le key nel [tt]\nocite[/tt] che metterai nel preambolo. Se invece vuoi “non” citare un opera ma riferirla, per esempio, al secondo capitolo allora metterai la sua key tra le N di un [tt]\nocite{
,…, }[/tt] inserito nel secondo capitolo. Ciao ciao,
Corrado.
`…
\cite[sez.~3.7.6 pag.~89]{guide:biblatex.pdf}
…`
-
30 Luglio 2014 alle 19:48 #95708
-
25 Settembre 2015 alle 13:11 #95709::
Buongiorno a tutti,
sono arrivata a questo post volendo citare nel testo alcune key, senza però che appaiano in bibliografia (e, allo stesso tempo, vorrei che la bibliografia non riportasse tutto il file bib, ma solo gli elementi citati nel testo, fatto salvo per qualche eccezione).\nocite{key} sembra quello che fa al caso mio, soprattutto perché, se ho capito bene, mi permette di inserire il comando direttamente nel testo.
Purtroppo, però, utilizzandolo, dopo la compilazione (pdflatex+biber+ (2*pdflatex), il riferimento mi rimane bianco. Proprio un vuoto, senza avere errori o warning nei log.
Secondo voi, da cosa dipende?
Ho capito male io il funzionamento del comando?Allego il preambolo intero (caso mai ci fosse qualche incompatibilità con altri pacchetti di cui non sono a conoscenza):
`
\documentclass[a4paper,
11pt, % dimensione corpo carattere
oneside, % oneside annulla il fronteretro
openright, % le pagine iniziano a destra
%italian, % da controllare
draft, %impedisce le immagini, evidenzia punti neri, inibisce hyperref
titlepage]{book} %per il frontespizio% % % % CODIFICA % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc}% % % % LINGUE % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage[english,french,italian
%,latin,
]{babel}\hyphenation{ma-cro-istru-zio-ne nitro-idrossil-amminico}
\newcommand{\inglese}[1]{\foreignlanguage{english}{\em #1}}
\newcommand{\franc}[1]{\foreignlanguage{french}{“\em #1''}}% % % % FONT % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage{microtype}
%\usepackage[scaled=.95]{helvet} %helvet
%\usepackage{beramono} % Font standard
\usepackage{newpxtext} % Nuovi palatino (bug virgolette caporali)
%\usepackage{pxfonts} % Vecchi palatino
%\usepackage[cmintegrals,cmbraces]{newtxmath} % 1Garamond
%\usepackage{ebgaramond-maths} % 2Garamond
%\usepackage{libertine} % Linux Libertine
%\usepackage{tgtermes} % Ispirato da Time New Romans
%\usepackage{gfsartemisia} % Artemisia
%\usepackage{MinionPro} % Minion senza numeri
%\usepackage[toc,bib,enum]{tabfigures}
%\figureversion{text, proportional}
%\usepackage{garamondx} % Da installare
%\usepackage{kpfonts} %Da provare!%***per la matematica!***
\usepackage{newpxmath}% % % % CARATTERI % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\DeclareUnicodeCharacter{0115}{\u{e}}
\DeclareUnicodeCharacter{0113}{\={e}}
\DeclareUnicodeCharacter{014D}{\={o}}
\DeclareUnicodeCharacter{00A0}{~}
\usepackage{semtrans} %permette di aggiungere \Ayn per le trascrizioni dall'arabo
%\usepackage{wsuipa}
\usepackage{tipa} %per la lista dei simboli ipa riferirsi alla doc
%\usepackage{arabtex}% % % % CITAZIONI E VIRGOLETTUME % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\setactivedoublequote %attiva, nelle versioni aggiornate, il vecchio comportamento delle virgolette%\usepackage{csquotes} %[ autostyle,italian=guillemets][babel=true]
\usepackage{csquotes}
\usepackage{quoting}
\quotingsetup{font=small}\newenvironment{citazione}
{\begin{quotation}\small}
{\end{quotation}}%nuovo comando per rendere direttamente le citazioni nel corpo del testo con virgolette e/o emph
%\newcommand{\citaz}[1]{“\textsf{#1}''} %virgoletta alte e corsivo
\newcommand{\citaz}[1]{«\textrm{#1}»} %caporali e tondo
%\newcommand{\citaz}[1]{\textquotedblleft\textrm{#1}\textquotedblright} %virgolette alte e tondo
%\newcommand{\citadir}[1]{“\emph{#1}''} %virgoletta alte e corsivo
\newcommand{\citadir}[1]{«\emph{#1}»} %caporali e corsivo\usepackage{epigraph} %per citazioni in epigrafe
\newcommand{\omissis}{[\ldots\negthinspace]}
% % % % PAGINA % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage[a4paper,
top=3.0cm,
bottom=2.5cm,
left=2.0cm,
right=2.0cm,%
bindingoffset=15mm,
marginpar=1.5cm,
reversemp]{geometry} % margini manuali pagina\usepackage{indentfirst} % Per indentare anche il primo paragrafro sotto i titoli delle sezioni
% % % % INTERLINEA % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage{setspace}
%\singlespacing % (interlinea singola),
\onehalfspacing % (interlinea 1,5)
%\doublespacing %(interlinea doppia)% % % % BIBLIOGRAFIA % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%backend=bibtex,
\usepackage[backend=biber,
style=philosophy-verbose,
backref,
natbib,
origfields=origed,
isbn=false,
doi=false,
url=false,
annotation=false,
scauthors=true,
useprefix=true,
clearlang=true]{biblatex}\addbibresource{Bibliografia.bib}
%\bibliography{Bibliografia.bib}% % % % ELENCHI % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage{enumitem}% % % % IMMAGINI E DIDASCALIE % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage{graphicx}
\graphicspath{{immagini/}} %\begin{figure}[tb]
%\centering
%\includegraphics[width=0.5\columnwidth]{ScienceEtVie}
%\caption[Lo schema sulla vita sessuale]{Lo schema presentato nella rivista Science et Vie per mostrare le diverse tappe della vita degli esseri umani di sesso maschile e femminile}
%\label{fig:science}
%\end{figure}
\usepackage{wrapfig} % Pacchetto per avvolgere un oggetto all'interno del testo
% (+ capoversi separati da righe bianche)
%
% Si usa in questo modo:
% \begin{wrapfloat}{oggetto}{posizionamento}{larghezza}
% oggetto può essere figure o table
% posizionamento: r,R lato destro del testo (l,L lato sinistro)
% i,I il margine interno (o,O esterno)
% larghezza se posta 0pt fa fede l'argomento dello larghezza espresso nell'oggetto\usepackage[hang,small, bf]{caption}
%\captionsetup{labelsep=newline, singlelinecheck=false}
\captionsetup{format=hang, indention=-2cm}
\setlength{\captionmargin}{20pt}\usepackage{hyperref}
% % % % FRONTESPIZIO % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\usepackage{eso-pic} % pacchetto per massimizzare il logo sulla pagina frontespizio
\usepackage{frontespizio} %per creare il frontespizio% % % % ACRONIMI E NUOVI COMANDI CORRELATI % % % % % % % % % % % % % % % % % % % % % %
\usepackage{acronym}\newcommand{\mfpf}{\foreignlanguage{french}{\em Mouvement Français pour le Planning Familial{ }}}
\newcommand{\mf}{\foreignlanguage{french}{\em M.F.P.F.{ }}}
\newcommand{\pf}{\foreignlanguage{french}{\em Planning Familial{ }}}
\newcommand{\pfbd}{\foreignlanguage{french}{\em Planning Familial 13{ }}}
\newcommand{\ccf}{\foreignlanguage{french}{\em C.C.F.{ }}}
\newcommand{\CCF}{\foreignlanguage{french}{\em Conseillère conjugale et familiale{ }}}
\newcommand{\cp}{\foreignlanguage{french}{\em C.P.E.F.{ }}}
\newcommand{\cpef}{\foreignlanguage{french}{\em Centre de Planification et d'Education Familiale{ }}}
\newcommand{\pmi}{\foreignlanguage{french}{\em P.M.I.{ }}}
\newcommand{\PMI}{\foreignlanguage{french}{\em Protection Maternelle et Infantile{ }}}
\newcommand{\cg}{\foreignlanguage{french}{\em Conseil Général{ }}}% % % % INDICE % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%profondità dell'indice da modificare a lavoro concluso
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}% % % % VARIA INUTILE % % % %
%\usepackage{eurosym} % Per abilitare il simbolo dell'euro con il comando \euro
%\usepackage{numprint} % Per poter scrivere i numeri con la spaziatura ogni 3 cifre \np{1000} –> 1 000
%\usepackage{gensymb} % Per poter usare \numprint[\textcelsius]{20} –> 20°C
%\usepackage{siunit}
`
e la parte riferita alla bibliografia:
`% % % % BIBLIOGRAFIA % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%backend=bibtex,
\usepackage[backend=biber,
style=philosophy-verbose,
backref,
natbib,
origfields=origed,
isbn=false,
doi=false,
url=false,
annotation=false,
scauthors=true,
useprefix=true,
clearlang=true]{biblatex}\addbibresource{Bibliografia.bib}`
Nel paragrafo 3.7.6 del manuale di biblatex viene scritto a proposito di \nocite
Like all other citation
commands, \nocite commands in the document body are local to the enclosing
refsection environment, if any.Da cui mi sembra di capire che il mio utilizzo sia corretto (benché in realtà mi chieda se debba racchiudere tutto il corpo del documento in un ambiente refsection).
Ringrazio chiunque mi dia consigli su come risolvere il mio problema.
-
25 Settembre 2015 alle 20:10 #95710::
Se ho capito bene, vuoi citare una voce senza che compaia in bibliografia.
In questo caso citi normalmente con \cite o altro comando opportuno.
Poi definisci una categoria, che chiamerai, poniamo, notbiblio, ci metti dentro le voci che vuoi escludere dalla bibliografia
e usi la chiave notcategry=notbiblio in \printbibliography.Ci sarebbe anche un modo più raffinato usando \DeclareSourcemap. Si tratta di aggiungere dinamicamente l’opzione skipbib nelle voci da escludere. Ho descritto trucchi simili in un mio articolo su ArsTeXnica, disponibile ai non soci GuIT dal 15 ottobre.
Ciao
Ivan
-
26 Settembre 2015 alle 16:48 #95711::
Grazie mille per la risposta.A dire il vero mi sembra che il metodo con la categoria sia più macchinoso, visto il mio modo di lavorare con continui cambiamenti sul file bib.
il suggerimento sull’uso di skipbib mi sembra invece interessante, sebbene non ideale.
Da quanto ho capito da due altri tue interventi sul forum (qui e qua), se mi va bene un comportamento globale, posso agire direttamente sul file bibliografico, aggiungendo l’opzione skipbib.Ho provato mettendo option = {skipbib=true} nel record interessato e skipbib=true tra le opzioni del pacchetto (mi sembra di aver capito di fare così dal paragrafo 3.1.3.1 del manuale di biblatex) ma ricevo questo errore:
`! Package xkeyval Error: `skipbib' undefined in families `blx@opt@pre'.`
che sembrerebbe dovuto ad un cattivo parametraggio (insomma skipbib non esisterebbe).
Dal manuale di xkeyval viene invece suggerito di verificare la presenza di ” = ” e il relativo valore.xkeyval will generate an error when the user omits =value for a key in the options list of
\setkeyse nella sezione 4
When input is lacking for a key, \setkeys will check whether there is a default
value for that key that can be used instead. If that is not the case, an error message will
be generated.Io però gli uguali con il valore dell’opzione ce li ho messi:
`\usepackage[backend=biber,
style=philosophy-verbose,
backref,
natbib,
origfields=origed,
isbn=false,
doi=false,
url=false,
annotation=false,
scauthors=true,
useprefix=true,
skipbib=true,
clearlang=true]{biblatex} `
e `@incollection{Mathieu2000,
titlebook = {Dictionnaire critique du féminisme},
isbn = {978-2-13-052417-5},
author = {Mathieu, Nicole-Claude},
title = {Sexe et genre},
pages = {191-200},
publisher = {Presses Universitaires de France},
editor = {Hirata, Helena Sumiko},
date = {2000},
location = {Parigi},
option = {skipbib=true}
}`
Dove sbaglio?
Mi sa che forse proverò anche la prima strada da te proposta, pur sembrandomi meno comoda.
Grazieps ho dimenticato di dire che sto usando la TexLive2015 installata su una macchina Debian a partire da CTAN ed ho rilanciato l’aggiornamento oggi.
-
30 Settembre 2015 alle 13:30 #95712::
Ciao,
allora con la categoria funziona.
Come spiegato nella guida di Pantieri, ho aggiunto nel preambolo
`\DeclareBibliographyCategory{no}\addtocategory{no}{Dorlin2008}`
e poi nel file /fine/bibliografia.tex
`
\printbibliography[notcategory=no]
`Il fatto è che però per ogni record che voglio citare ma non voglio che appaia nella bibliografia, devo modificare il preambolo nel il file principale.
Mi chiedevo se non potessi creare un comando o una macro (ma forse servirebbe Luatex?) che mi aggiunga automaticamente il record nella categoria, quando glielo chiedo.Magari sogno, ma mi farebbe tanto comodo uno strumento per escludere direttamente i record bibliografici…
Grazie in ogni caso!
-
1 Ottobre 2015 alle 11:18 #95713::
Altre due soluzioni.1)
`\DeclareBibliographyCategory{skipbib}
\newcommand{\skipcite}[1]{\cite{#1}\addtocategory{skipbib}{#1}}\begin{document}
\skipcite{mittelbach:2014}
\printbibliography[notcategory=skipbib]
\end{document}
`
Naturalmente dovrai definire \skipbib usando il comando di citazione che preferisci a seconda dello stile usato nel documento.2) (richiede Biber)
`
\usepackage{xparse}\ExplSyntaxOn
\NewDocumentCommand{\skipbib}{ m }
{
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\clist_map_inline:nn { #1 } {
\step[fieldsource=entrykey,
match=##1,
fieldset=options,
fieldvalue={skipbib}]
}
}
}
}
}\ExplSyntaxOff
\skipbib{key1,key2}
`
\skipbib ha come argomento le chiavi delle voci da escludere dalla bibliografia.La prima soluzione ha il vantaggio che se sai già quali voci escludere te la cavi con un comando dato nel testo.
Se poi cambi idea devi andare a modificare i singoli comandi.
La seconda soluzione, invece, ti permette di citare le voi come di consueto, senza preoccuparti
della bibliografia e decidere alla fine se escluderle o meno mettendole dentro al comando \skipbib.
Inoltre ti fa risparmiare l’opzione notcategory in \printbibliography.
Le due soluzioni possono essere usate contemporaneamente nello stesso documento.Ciao
Ivan
-
1 Ottobre 2015 alle 11:24 #95714
-
3 Ottobre 2015 alle 13:20 #95715::
Allora, il primo comando è proprio quello che cercavo!
Perfetto!
Solo una constatazione: non funziona l’argomento pagina.
Con cite e affini se scrivo \cite[58]{Record2015} nella presentazione dell’opera mi riporta p. 58
Con il nuovo comando, invece, se scrivo qualcosa tra parentesi, \skipcite[13]{Prova2015}, dopo compilazione con pdflatex biber e due pdflatex, mi restituisce solo la key.
Se do inveve solo \skipcite{Prova2015} mi restituisce correttamente il record sulla base del file bib.Ho provato modificando le stringhe che mi hai suggerito, specificando a cite un argomento (emh) :
`\newcommand{\skipcite}[1]{\cite[1]{#1}\addtocategory{skipbib}{#1}}`
ma non ha apportato nessuna modifica al comportamento che ho illustrato.Non capisco da dove possa venire il bug, ma posso sempre agire scrivendo a mano il numero della pagina, partendo dal presupposto che se non lo voglio in bibliografia è perché è solo un riferimento en passant e non lo citerò più volte, ne’, tanto meno più volte di fila.
In ogni caso, grazie mille per l’interessamento e la validità efficace delle tue risposte!!
-
4 Ottobre 2015 alle 9:08 #95716::
Per questo bisogna definire il nuovo comando \skipcite con la sintassi di biblatex.
Con l’occasione definiamo un nuovco comando \skip<*> per ogni comando di citazione
definito dallo stile verbose-trad2, che è quello su cui si basa lo stile philosophy-verbose.
Va comunque definita la categoria “skipbib”
`\DeclareBibliographyCategory{skipbib}
\DeclareCiteCommand{\skipcite}
{\addtocategory{skipbib}{\thefield{entrykey}}\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}\DeclareCiteCommand{\skipparencite}[\mkbibparens]
{\addtocategory{skipbib}{\thefield{entrykey}}\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}\DeclareCiteCommand{\skipfootcite}[\mkbibfootnote]
{\addtocategory{skipbib}{\thefield{entrykey}}\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}\DeclareCiteCommand{\skipfootcitetext}[\mkbibfootnotetext]
{\addtocategory{skipbib}{\thefield{entrykey}}\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}\DeclareCiteCommand{\skipsmartcite}[\iffootnote\mkbibparens\mkbibfootnote]
{\addtocategory{skipbib}{\thefield{entrykey}}\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
`Questi nuovi comandi aggiungono automaticamente la voce citata alla categoria “skipbib”.
Ovviamente se si citano due volte la tessa voce questa comparirà due volte nella lista della categoria
“skipbib”, ma ciò non dovrebbe determinare rallentamenti sensibili.Ciao
Ivan
-
4 Ottobre 2015 alle 11:21 #95717
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.