ファイルを変更せずに、参考文献のエントリにどのアルファキーを割り当てるかを LaTeX に指示するにはどうすればよいでしょうか.bst
?
例: 次のようなエントリが欲しい
author = {no one 910 (StackOverflow User 118593)}
[noSU17]ではなく[StO17]として表示されます。
作業用 tex ファイル:
\documentclass{article}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
参考文献.bib:
@misc{myself,
author = {no one 910 (StackOverflow User 118593)},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
出力:
答え1
これは次のようにすると非常に簡単になります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}
答え2
誰も正しいやり方で物事をやりたくないので、ここにハックがあります:
- これは小文字で始まる単語を含まない著者名にのみ有効です。
\Bibkeyhack StO
StO をキーとして、著者に追加します。
コマンド定義:(それだけです!)
\newcommand{\Bibkeyhack}[3]{}
異なる長さのキーが必要な場合は、3 を長さに置き換えます。1
. の場合、回避策があります。
\newcommand{\SmallHack}[1]{\lowercase{#1}}
両方のコマンドが大文字で始まるため、ルール 1 に違反していないことに注意してください。
動作例:
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO}
結果は[StO17]: 誰もいない910になります。画像証拠:
重要)
:との間にスペースを入れると\Bibkeyhack
、結果は次のようになります。
完全なTexファイル:
\documentclass{article}
\newcommand{\SmallHack}[1]{\lowercase{#1}}
\newcommand{\Bibkeyhack}[3]{}
\begin{document}
Hereby I cite \cite{myself}.
\bibliographystyle{alpha}
\bibliography{bibliography}
\end{document}
参考文献.bib:
@misc{myself,
author = {\SmallHack No \SmallHack One 910 (StackOverflow User 118593)\Bibkeyhack StO},
title = {{StackOverflow Answer}},
howpublished = "https://stackoverflow.com",
year = {2017}
}
出力: