我有一个作者索引,我正在尝试改变一个特定名称的输出。
在我的 ME 中,有一位作者是“Archimandrite Vladimir”,但是我:
- 我不想让他在 A 字母,但在 V
- 我不想要输出“Archimandrite Vladimir”,但是 Vladimir,拱。
我尝试过(至少对于排序问题)此解决方案没有任何成功。有人能帮忙吗?
梅威瑟:
% !BIB TS-program = biber
% !BIB program = biber
% !TEX encoding = UTF-8 Unicode
% !TeX TS-program = xelatexmk
\begin{filecontents}{archivio.bib}
@book{Vla:Sin,
Address = {Moskwa},
Author = {{Archimandrite Vladimir}},
Publisher = {Sinodal'naja tip.},
Title = {Sistematičeskoe opisanie rukopisej moskovskoj Sinodal'noj (patriaršej) biblioteki},
Year = {1894}}
\end{filecontents}
\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}
\usepackage[]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
language=auto,
ibidpage=true,
autolang=other,
useprefix=true,
giveninits=true,
indexing=cite,
dateabbrev=false,
backend=biber,
]{biblatex}
\addbibresource{archivio.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{imakeidx}
\makeindex[name=nomi, intoc=true, title=Indice dei nomi]
\renewbibmacro*{citeindex}{% Rimuovo i titoli che verrebbero indicizzati di default
\ifciteindex
{\indexnames{labelname}}
{}}
\DeclareIndexNameFormat{default}{% Formato del nome dell'autore
\usebibmacro{index:name}
{\index[nomi]}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
\begin{document}
I am citing \cite[]{Vla:Sin}\\
But I want to add also John Smith\index[nomi]{Smith, J.} to my index of names.
\printindex[nomi] % Indice dei nomi
\end{document}
答案1
title
不幸的是,与which 有indextitle
and不同indexsorttitle
,它没有indexauthor
or indexname
。我们不能使用shortauthor
either,所以我们必须自己想一个名字。
我们可以用来namea
为索引定义不同的名称格式。
\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}
\usepackage[]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
language=auto,
ibidpage=true,
autolang=other,
useprefix=true,
giveninits=true,
indexing=cite,
dateabbrev=false,
backend=biber,
]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Vla:Sin,
Address = {Moskwa},
Author = {{Archimandrite Vladimir}},
namea = {{Vladimir, \emph{arch.}}},
Publisher = {Sinodal'naja tip.},
Title = {Sistematičeskoe opisanie rukopisej moskovskoj Sinodal'noj (patriaršej) biblioteki},
Year = {1894},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\usepackage{imakeidx}
\makeindex[name=nomi, intoc=true, title=Indice dei nomi]
\renewbibmacro*{citeindex}{%
\ifciteindex
{\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
{}}
\renewbibmacro*{bibindex}{%
\ifbibindex
{\ifnameundef{namea}{\indexnames{labelname}}{\indexnames{namea}}}
{}}
\DeclareIndexNameFormat{default}{%
\usebibmacro{index:name}
{\index[nomi]}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
\begin{document}
I am citing \cite[]{Vla:Sin}
\cite{sigfridsson}
I am citing \cite[]{Vla:Sin}
But I want to add also John Smith\index[nomi]{Smith, J.} to my index of names.
\printindex[nomi]
\end{document}