파일을 수정하지 않고 참고문헌 항목을 제공하는 알파 키를 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]: no one 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}
}
산출: