So geben Sie den alphabetischen Schlüssel einer Bibliografie an, ohne die BST-Datei zu ändern oder BibLaTeX zu verwenden

So geben Sie den alphabetischen Schlüssel einer Bibliografie an, ohne die BST-Datei zu ändern oder BibLaTeX zu verwenden

Wie teilen Sie LaTeX mit, mit welcher alphabetischen Taste ein Bibliografieeintrag erfolgen soll, ohne die .bstDatei 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:

hässlicher Lätzchenschlüssel

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}

Bildbeschreibung hier eingeben

Antwort2

Da niemand die Dinge richtig machen möchte, hier ein Hack:

  1. Dies funktioniert nur bei Autoren, die kein Wort enthalten, das mit einem Kleinbuchstaben beginnt
  2. Fügen Sie \Bibkeyhack StOes 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: Bibkey-Hack

Wichtig): Wenn Sie zwischen und ein Leerzeichen setzen \Bibkeyhack, sieht das Ergebnis folgendermaßen aus:

hässlicher Bibkey-Hack


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:

besserer Bib-Schlüssel

verwandte Informationen