Can biblatex exclude all bib entries of one author from the index or indices it generates?Highlight an author in bibliography using biblatex allowing bibliography style to format itbiblatex: separating publications of a specific author in the bibliographyIndexing with biblatex - how to filter out publication titles of indexed authors?Cited Authors with Biblabels in IndexAn entry with multiple keys in the related field: is Biblatex expected to split multiple related entries into multiple paragraphs?Citation of short titlesCite all references from one authorBibLaTeX crashing when using multiple entries from same author with no dateCan one set up 2 kinds of shorthand lists in biblatex?Change sorting of authors in the index generated by BiblatexBiblatex after partial bibliograph sets markers to [0]
PTIJ: Which Dr. Seuss books should one obtain?
How are passwords stolen from companies if they only store hashes?
What is the difference between something being completely legal and being completely decriminalized?
Friend wants my recommendation but I don't want to give it to him
Could any one tell what PN is this Chip? Thanks~
Why is this tree refusing to shed its dead leaves?
Is xar preinstalled on macOS?
label a part of commutative diagram
Unfrosted light bulb
Can other pieces capture a threatening piece and prevent a checkmate?
How can a new country break out from a developed country without war?
Determine voltage drop over 10G resistors with cheap multimeter
How to test the sharpness of a knife?
What are the consequences of changing the number of hours in a day?
What happens when the centripetal force is equal and opposite to the centrifugal force?
Air travel with refrigerated insulin
Exposing a company lying about themselves in a tightly knit industry: Is my career at risk on the long run?
PTIJ: Where did Achashverosh's years wander off to?
Would this string work as string?
How to balance a monster modification (zombie)?
Why doesn't the fusion process of the sun speed up?
PTIJ: Why do we make a Lulav holder?
Print last inputted byte
How can an organ that provides biological immortality be unable to regenerate?
Can biblatex exclude all bib entries of one author from the index or indices it generates?
Highlight an author in bibliography using biblatex allowing bibliography style to format itbiblatex: separating publications of a specific author in the bibliographyIndexing with biblatex - how to filter out publication titles of indexed authors?Cited Authors with Biblabels in IndexAn entry with multiple keys in the related field: is Biblatex expected to split multiple related entries into multiple paragraphs?Citation of short titlesCite all references from one authorBibLaTeX crashing when using multiple entries from same author with no dateCan one set up 2 kinds of shorthand lists in biblatex?Change sorting of authors in the index generated by BiblatexBiblatex after partial bibliograph sets markers to [0]
I know one can use bibfilters and bibchecks to exclude entries from a bibliography, but is it possible to do something equivalent for indexing? I've looked at the examples of multiple indexes, but as far as I understand them, they put all the entries, or all the cited entries, into the index, or into an author and a title index. But I'd like to exclude all entries, cited or not, of a single author from any index generated by biblatex. The reason is simple: I would like not to index myself, even though I do cite my papers.
biblatex indexing
add a comment |
I know one can use bibfilters and bibchecks to exclude entries from a bibliography, but is it possible to do something equivalent for indexing? I've looked at the examples of multiple indexes, but as far as I understand them, they put all the entries, or all the cited entries, into the index, or into an author and a title index. But I'd like to exclude all entries, cited or not, of a single author from any index generated by biblatex. The reason is simple: I would like not to index myself, even though I do cite my papers.
biblatex indexing
This is not the most automatic, but you could useindexing=false
as an bibentry option (that is, in your bib file) for your own papers.
– gusbrs
Mar 21 '18 at 0:51
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
No, it should be used asoptions = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.
– gusbrs
Mar 21 '18 at 10:12
add a comment |
I know one can use bibfilters and bibchecks to exclude entries from a bibliography, but is it possible to do something equivalent for indexing? I've looked at the examples of multiple indexes, but as far as I understand them, they put all the entries, or all the cited entries, into the index, or into an author and a title index. But I'd like to exclude all entries, cited or not, of a single author from any index generated by biblatex. The reason is simple: I would like not to index myself, even though I do cite my papers.
biblatex indexing
I know one can use bibfilters and bibchecks to exclude entries from a bibliography, but is it possible to do something equivalent for indexing? I've looked at the examples of multiple indexes, but as far as I understand them, they put all the entries, or all the cited entries, into the index, or into an author and a title index. But I'd like to exclude all entries, cited or not, of a single author from any index generated by biblatex. The reason is simple: I would like not to index myself, even though I do cite my papers.
biblatex indexing
biblatex indexing
asked Mar 21 '18 at 0:31
ss1789ss1789
32019
32019
This is not the most automatic, but you could useindexing=false
as an bibentry option (that is, in your bib file) for your own papers.
– gusbrs
Mar 21 '18 at 0:51
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
No, it should be used asoptions = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.
– gusbrs
Mar 21 '18 at 10:12
add a comment |
This is not the most automatic, but you could useindexing=false
as an bibentry option (that is, in your bib file) for your own papers.
– gusbrs
Mar 21 '18 at 0:51
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
No, it should be used asoptions = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.
– gusbrs
Mar 21 '18 at 10:12
This is not the most automatic, but you could use
indexing=false
as an bibentry option (that is, in your bib file) for your own papers.– gusbrs
Mar 21 '18 at 0:51
This is not the most automatic, but you could use
indexing=false
as an bibentry option (that is, in your bib file) for your own papers.– gusbrs
Mar 21 '18 at 0:51
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
No, it should be used as
options = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.– gusbrs
Mar 21 '18 at 10:12
No, it should be used as
options = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.– gusbrs
Mar 21 '18 at 10:12
add a comment |
1 Answer
1
active
oldest
votes
We can filter what goes to the index by checking for the name hash. You can learn more about the name hash in my answer to "Highlight an author in bibliography using biblatex allowing bibliography style to format it". Suffice it to say that Biber creates a unique hash for each name it encounters, you can find the hash for each name in the .bbl
. That hash is a convenient way to check if two names are the same without having to expand all name parts and comparing the strings separately.
So you need to find our "your" hash first. Then replace Sir Humphrey's hash with yours in the code below
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
DeclareIndexNameFormatdefault%
iffieldequalstrhashdd90e644e3018ab2c6a7ffa2a58522d0
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
The index does not list Sir Humphrey. It does, however, list his co-author Bernard Woolley. This is different from putting options = indexing=false
in the bibliography where the entire entry would not be indexed.
If you don't like the fact that you have to look up the hash in the .bbl
file, you can try the following approach based on my automatic solution to Highlight an author in bibliography using biblatex allowing bibliography style to format it. Using this you can give the names you want to exclude to addnamehash
as you would input them in the .bib
file. The code then writes the names to a temporary .bib
file and extracts the name hashes automatically.
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
makeatletter
defnhblx@bibfile@namejobname -namehashes.bib
newwritenhblx@bibfile
immediateopenoutnhblx@bibfile=nhblx@bibfile@name
newcounternhblx@name
setcounternhblx@name0
newcommand*nhblx@writenametobib[1]%
stepcounternhblx@name%
edefnhblx@tmp@nocite%
noexpandAfterPreamble%
noexpandsetbox0noexpandvbox%
noexpandnhblx@getmethehashnhblx@name@thevaluenhblx@name%
%
nhblx@tmp@nocite
immediatewritenhblx@bibfile%
@miscnhblx@name@thevaluenhblx@name, author = unexpanded#1, %
options = dataonly=true,%
%
AtEndDocument%
closeoutnhblx@bibfile
addbibresourcenhblx@bibfile@name
newcommand*nhblx@hashes
DeclareNameFormatnhblx@hashextract%
xifinlistthefieldhashnhblx@hashes
listxaddnhblx@hashesthefieldfullhash
DeclareCiteCommandnhblx@getmethehash
printnames[nhblx@hashextract][1-999]author
newcommand*addnamehashforcsvlistnhblx@writenametobib
newcommand*resetnamehashesdefnhblx@hashes
DeclareIndexNameFormatdefault%
savefield*hashnhblx@currentnamehash%
xifinlistnhblx@currentnamehashnhblx@hashes
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
makeatother
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
addnamehashHumphrey Appleby
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f422252%2fcan-biblatex-exclude-all-bib-entries-of-one-author-from-the-index-or-indices-it%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
We can filter what goes to the index by checking for the name hash. You can learn more about the name hash in my answer to "Highlight an author in bibliography using biblatex allowing bibliography style to format it". Suffice it to say that Biber creates a unique hash for each name it encounters, you can find the hash for each name in the .bbl
. That hash is a convenient way to check if two names are the same without having to expand all name parts and comparing the strings separately.
So you need to find our "your" hash first. Then replace Sir Humphrey's hash with yours in the code below
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
DeclareIndexNameFormatdefault%
iffieldequalstrhashdd90e644e3018ab2c6a7ffa2a58522d0
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
The index does not list Sir Humphrey. It does, however, list his co-author Bernard Woolley. This is different from putting options = indexing=false
in the bibliography where the entire entry would not be indexed.
If you don't like the fact that you have to look up the hash in the .bbl
file, you can try the following approach based on my automatic solution to Highlight an author in bibliography using biblatex allowing bibliography style to format it. Using this you can give the names you want to exclude to addnamehash
as you would input them in the .bib
file. The code then writes the names to a temporary .bib
file and extracts the name hashes automatically.
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
makeatletter
defnhblx@bibfile@namejobname -namehashes.bib
newwritenhblx@bibfile
immediateopenoutnhblx@bibfile=nhblx@bibfile@name
newcounternhblx@name
setcounternhblx@name0
newcommand*nhblx@writenametobib[1]%
stepcounternhblx@name%
edefnhblx@tmp@nocite%
noexpandAfterPreamble%
noexpandsetbox0noexpandvbox%
noexpandnhblx@getmethehashnhblx@name@thevaluenhblx@name%
%
nhblx@tmp@nocite
immediatewritenhblx@bibfile%
@miscnhblx@name@thevaluenhblx@name, author = unexpanded#1, %
options = dataonly=true,%
%
AtEndDocument%
closeoutnhblx@bibfile
addbibresourcenhblx@bibfile@name
newcommand*nhblx@hashes
DeclareNameFormatnhblx@hashextract%
xifinlistthefieldhashnhblx@hashes
listxaddnhblx@hashesthefieldfullhash
DeclareCiteCommandnhblx@getmethehash
printnames[nhblx@hashextract][1-999]author
newcommand*addnamehashforcsvlistnhblx@writenametobib
newcommand*resetnamehashesdefnhblx@hashes
DeclareIndexNameFormatdefault%
savefield*hashnhblx@currentnamehash%
xifinlistnhblx@currentnamehashnhblx@hashes
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
makeatother
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
addnamehashHumphrey Appleby
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
add a comment |
We can filter what goes to the index by checking for the name hash. You can learn more about the name hash in my answer to "Highlight an author in bibliography using biblatex allowing bibliography style to format it". Suffice it to say that Biber creates a unique hash for each name it encounters, you can find the hash for each name in the .bbl
. That hash is a convenient way to check if two names are the same without having to expand all name parts and comparing the strings separately.
So you need to find our "your" hash first. Then replace Sir Humphrey's hash with yours in the code below
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
DeclareIndexNameFormatdefault%
iffieldequalstrhashdd90e644e3018ab2c6a7ffa2a58522d0
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
The index does not list Sir Humphrey. It does, however, list his co-author Bernard Woolley. This is different from putting options = indexing=false
in the bibliography where the entire entry would not be indexed.
If you don't like the fact that you have to look up the hash in the .bbl
file, you can try the following approach based on my automatic solution to Highlight an author in bibliography using biblatex allowing bibliography style to format it. Using this you can give the names you want to exclude to addnamehash
as you would input them in the .bib
file. The code then writes the names to a temporary .bib
file and extracts the name hashes automatically.
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
makeatletter
defnhblx@bibfile@namejobname -namehashes.bib
newwritenhblx@bibfile
immediateopenoutnhblx@bibfile=nhblx@bibfile@name
newcounternhblx@name
setcounternhblx@name0
newcommand*nhblx@writenametobib[1]%
stepcounternhblx@name%
edefnhblx@tmp@nocite%
noexpandAfterPreamble%
noexpandsetbox0noexpandvbox%
noexpandnhblx@getmethehashnhblx@name@thevaluenhblx@name%
%
nhblx@tmp@nocite
immediatewritenhblx@bibfile%
@miscnhblx@name@thevaluenhblx@name, author = unexpanded#1, %
options = dataonly=true,%
%
AtEndDocument%
closeoutnhblx@bibfile
addbibresourcenhblx@bibfile@name
newcommand*nhblx@hashes
DeclareNameFormatnhblx@hashextract%
xifinlistthefieldhashnhblx@hashes
listxaddnhblx@hashesthefieldfullhash
DeclareCiteCommandnhblx@getmethehash
printnames[nhblx@hashextract][1-999]author
newcommand*addnamehashforcsvlistnhblx@writenametobib
newcommand*resetnamehashesdefnhblx@hashes
DeclareIndexNameFormatdefault%
savefield*hashnhblx@currentnamehash%
xifinlistnhblx@currentnamehashnhblx@hashes
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
makeatother
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
addnamehashHumphrey Appleby
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
add a comment |
We can filter what goes to the index by checking for the name hash. You can learn more about the name hash in my answer to "Highlight an author in bibliography using biblatex allowing bibliography style to format it". Suffice it to say that Biber creates a unique hash for each name it encounters, you can find the hash for each name in the .bbl
. That hash is a convenient way to check if two names are the same without having to expand all name parts and comparing the strings separately.
So you need to find our "your" hash first. Then replace Sir Humphrey's hash with yours in the code below
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
DeclareIndexNameFormatdefault%
iffieldequalstrhashdd90e644e3018ab2c6a7ffa2a58522d0
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
The index does not list Sir Humphrey. It does, however, list his co-author Bernard Woolley. This is different from putting options = indexing=false
in the bibliography where the entire entry would not be indexed.
If you don't like the fact that you have to look up the hash in the .bbl
file, you can try the following approach based on my automatic solution to Highlight an author in bibliography using biblatex allowing bibliography style to format it. Using this you can give the names you want to exclude to addnamehash
as you would input them in the .bib
file. The code then writes the names to a temporary .bib
file and extracts the name hashes automatically.
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
makeatletter
defnhblx@bibfile@namejobname -namehashes.bib
newwritenhblx@bibfile
immediateopenoutnhblx@bibfile=nhblx@bibfile@name
newcounternhblx@name
setcounternhblx@name0
newcommand*nhblx@writenametobib[1]%
stepcounternhblx@name%
edefnhblx@tmp@nocite%
noexpandAfterPreamble%
noexpandsetbox0noexpandvbox%
noexpandnhblx@getmethehashnhblx@name@thevaluenhblx@name%
%
nhblx@tmp@nocite
immediatewritenhblx@bibfile%
@miscnhblx@name@thevaluenhblx@name, author = unexpanded#1, %
options = dataonly=true,%
%
AtEndDocument%
closeoutnhblx@bibfile
addbibresourcenhblx@bibfile@name
newcommand*nhblx@hashes
DeclareNameFormatnhblx@hashextract%
xifinlistthefieldhashnhblx@hashes
listxaddnhblx@hashesthefieldfullhash
DeclareCiteCommandnhblx@getmethehash
printnames[nhblx@hashextract][1-999]author
newcommand*addnamehashforcsvlistnhblx@writenametobib
newcommand*resetnamehashesdefnhblx@hashes
DeclareIndexNameFormatdefault%
savefield*hashnhblx@currentnamehash%
xifinlistnhblx@currentnamehashnhblx@hashes
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
makeatother
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
addnamehashHumphrey Appleby
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
We can filter what goes to the index by checking for the name hash. You can learn more about the name hash in my answer to "Highlight an author in bibliography using biblatex allowing bibliography style to format it". Suffice it to say that Biber creates a unique hash for each name it encounters, you can find the hash for each name in the .bbl
. That hash is a convenient way to check if two names are the same without having to expand all name parts and comparing the strings separately.
So you need to find our "your" hash first. Then replace Sir Humphrey's hash with yours in the code below
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
DeclareIndexNameFormatdefault%
iffieldequalstrhashdd90e644e3018ab2c6a7ffa2a58522d0
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
The index does not list Sir Humphrey. It does, however, list his co-author Bernard Woolley. This is different from putting options = indexing=false
in the bibliography where the entire entry would not be indexed.
If you don't like the fact that you have to look up the hash in the .bbl
file, you can try the following approach based on my automatic solution to Highlight an author in bibliography using biblatex allowing bibliography style to format it. Using this you can give the names you want to exclude to addnamehash
as you would input them in the .bib
file. The code then writes the names to a temporary .bib
file and extracts the name hashes automatically.
documentclass[british]report
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebabel
usepackagecsquotes
usepackage[style=authoryear, backend=biber, indexing=true]biblatex
makeatletter
defnhblx@bibfile@namejobname -namehashes.bib
newwritenhblx@bibfile
immediateopenoutnhblx@bibfile=nhblx@bibfile@name
newcounternhblx@name
setcounternhblx@name0
newcommand*nhblx@writenametobib[1]%
stepcounternhblx@name%
edefnhblx@tmp@nocite%
noexpandAfterPreamble%
noexpandsetbox0noexpandvbox%
noexpandnhblx@getmethehashnhblx@name@thevaluenhblx@name%
%
nhblx@tmp@nocite
immediatewritenhblx@bibfile%
@miscnhblx@name@thevaluenhblx@name, author = unexpanded#1, %
options = dataonly=true,%
%
AtEndDocument%
closeoutnhblx@bibfile
addbibresourcenhblx@bibfile@name
newcommand*nhblx@hashes
DeclareNameFormatnhblx@hashextract%
xifinlistthefieldhashnhblx@hashes
listxaddnhblx@hashesthefieldfullhash
DeclareCiteCommandnhblx@getmethehash
printnames[nhblx@hashextract][1-999]author
newcommand*addnamehashforcsvlistnhblx@writenametobib
newcommand*resetnamehashesdefnhblx@hashes
DeclareIndexNameFormatdefault%
savefield*hashnhblx@currentnamehash%
xifinlistnhblx@currentnamehashnhblx@hashes
usebibmacroindex:name
index
namepartfamily
namepartgiven
namepartprefix
namepartsuffix
makeatother
usepackagefilecontents
beginfilecontentsjobname.bib
@bookappleby,
author = Humphrey Appleby,
title = On the Importance of the Civil Service,
date = 1980,
@bookapplebywoolley,
author = Humphrey Appleby and Bernard Woolley,
title = On the Ablative in Greek,
date = 1980,
endfilecontents
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib
usepackageimakeidx
makeindex
addnamehashHumphrey Appleby
begindocument
citesigfridsson,appleby,applebywoolley
printbibliography
printindex
enddocument
edited 2 mins ago
answered Mar 21 '18 at 7:44
moewemoewe
94k10115354
94k10115354
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f422252%2fcan-biblatex-exclude-all-bib-entries-of-one-author-from-the-index-or-indices-it%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
This is not the most automatic, but you could use
indexing=false
as an bibentry option (that is, in your bib file) for your own papers.– gusbrs
Mar 21 '18 at 0:51
@gusbrs Do you mean adding indexing=false, to the bib file? This suggests maybe one could use DeclareSourceMap somehow to add this field to any set of bib entries which one want to exclude?
– ss1789
Mar 21 '18 at 3:22
No, it should be used as
options = indexing=false
, as mentioned in moewe's answer. But in their answer, you have already a good set of possibilities, I suppose.– gusbrs
Mar 21 '18 at 10:12