Como você diz ao LaTeX qual chave alfa deve fornecer uma entrada bibliográfica sem modificar o .bst
arquivo?
Exemplo: quero uma entrada com
author = {no one 910 (StackOverflow User 118593)}
para aparecer como [StO17], em vez de [noSU17].
Arquivo tex de trabalho:
\documentclass{article}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
bibliografia.bib:
@misc{myself,
author = {no one 910 (StackOverflow User 118593)},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
Saída:
Responder1
Isso seria muito fácil com 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}
Responder2
Como ninguém quer fazer as coisas da maneira correta, aqui está um truque:
- Isto funciona apenas com Autores que não contenham uma palavra que comece com letra minúscula
- Anexe
\Bibkeyhack StO
ao seu autor, sendo StO a chave.
Definição de comando:(Isso é tudo!)
\newcommand{\Bibkeyhack}[3]{}
Se você quiser chaves com comprimento diferente, substitua 3 pelo seu comprimento.
Para 1. existe uma solução alternativa:
\newcommand{\SmallHack}[1]{\lowercase{#1}}
Observe que ambos os comandos começam em letras maiúsculas, portanto a regra 1. não é violada.
Exemplo de trabalho:
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO}
O que resultará em [StO17]: ninguém 910. Prova de imagem:
Importante: Se você colocar um espaço entre )
e \Bibkeyhack
, o resultado ficará assim:
Arquivo tex completo:
\documentclass{article}
\newcommand{\SmallHack}[1]{\lowercase{#1}}
\newcommand{\Bibkeyhack}[3]{}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
bibliografia.bib:
@misc{myself,
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
Saída: