Wie teilen Sie LaTeX mit, mit welcher alphabetischen Taste ein Bibliografieeintrag erfolgen soll, ohne die .bst
Datei zu ändern?
Beispiel: Ich möchte einen Eintrag mit
author = {no one 910 (StackOverflow User 118593)}
als [StO17] statt [noSU17] erscheinen.
Funktionierende Tex-Datei:
\documentclass{article}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
bibliographie.bib:
@misc{myself,
author = {no one 910 (StackOverflow User 118593)},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
Ausgabe:
Antwort1
Dies wäre sehr einfach mit biblatex
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{myself,
shorthand = {StO17},
author = {no one 910 (StackOverflow User 118593)},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
\end{filecontents*}
\usepackage[style=alphabetic]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Hereby I cite \cite{myself}.
\printbibliography
\end{document}
Antwort2
Da niemand die Dinge richtig machen möchte, hier ein Hack:
- Dies funktioniert nur bei Autoren, die kein Wort enthalten, das mit einem Kleinbuchstaben beginnt
- Fügen Sie
\Bibkeyhack StO
es Ihrem Autor hinzu, wobei StO der Schlüssel ist.
Befehlsdefinition:(Das ist alles!)
\newcommand{\Bibkeyhack}[3]{}
Wenn Sie Schlüssel mit einer anderen Länge wünschen, ersetzen Sie 3 durch Ihre Länge.
Für 1. gibt es einen Workaround:
\newcommand{\SmallHack}[1]{\lowercase{#1}}
Beachten Sie, dass beide Befehle mit einem Großbuchstaben beginnen, sodass Regel 1 nicht verletzt wird.
Arbeitsbeispiel:
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO}
Das Ergebnis wäre [StO17]: niemand 910. Bildbeweis:
Wichtig)
: Wenn Sie zwischen und ein Leerzeichen setzen \Bibkeyhack
, sieht das Ergebnis folgendermaßen aus:
Vollständige Tex-Datei:
\documentclass{article}
\newcommand{\SmallHack}[1]{\lowercase{#1}}
\newcommand{\Bibkeyhack}[3]{}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
bibliographie.bib:
@misc{myself,
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
Ausgabe: