将群友的某个需求移动到这里。
有一个私有的mystyle.bst
文件:mystyle.bst
以及下面的MWE:
% main.tex
\documentclass[fontset=fandol]{ctexart}
\begin{filecontents*}[overwrite]{ref.bib}
@phdthesis {满红2014CSTR,
author = { 满红 },
title = {CSTR过程的模型辨识及其非线性预测控制方法研究},
school = {大连理工大学},
year = {2014}
}
\end{filecontents*}
\bibliographystyle{mystyle}
% \usepackage{gbt7714}
% \bibliographystyle{gbt7714-numerical}
\begin{document}
你好,世界\cite{满红2014CSTR}。
\bibliography{ref.bib}
\end{document}
目前得到的效果是:
希望得到的效果是:
[S.l.]
address={}
等entry而显示更多的信息效果示例如下:
[1] 满红.CSTR过程的模型辨识及其非线性预测控制方法研究[D].大连理工大学,2014.
如何魔改mystyle.bst
? 诚邀S老师@u79794 解答~
Notes: 比较希望得到定位.bst
关键信息的过程,同时又是根据什么参考文档做修改的思路,而不仅仅是得到魔改后的结果。
谢邀. 在这里主要介绍下查找思路:
首先编译你的这个 MWE,而后会生成一个 *.bbl
文件,这个是可以直观的查看最终 PDF 输出的内容的,发现里面:
\bibitem{满红2014CSTR}
满红.
CSTR过程的模型辨识及其非线性预测控制方法研究~[D].
[S.~l.]: 大连理工大学, 2014.
根据你的要求,那么我们检索 S.~l.
,发现 *.bst
里 140 行
FUNCTION {bbl.sine.loco} { language empty$ { "S.~l." } { "出版地不详" } if$ }
得知这个输出由函数 bbl.sine.loco
控制,那么我们就搜索这个函数,这时会在额外 5 处搜到(可能对应不同的 if
判断,实测只有第 1861 行有效)
1860 -- 1862 行原始如下:
address empty$
{
"[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
school empty$
很好理解,意思就是
"[" bbl.sine.loco * "]" * bbl.colon
左方括号 S.~l. 右方括号 冒号
刚好和你的截图对应. 这几行处理后如下
address empty$
{
% "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
"" school empty$
注意到在注释掉这个function同时,还要在 school empty$
前加 ""
,否则会报错(你理解为“助动词”好了)
不过其他基础我也给你改了,改好的 *.bst
见附件.
这一行实际上就是把
bbl.sine.loco
做替换然后输出而已😋实际上的5处分别在:
Function format.address.publisher
Function format.address.publisher
Function format.address.publisher.year
已经被注释Function format.address.publisher.year
已经被注释Function format.address.school.year
注意到Line 1854中的注释为:
仅有此处与学校『大连理工大学』有关,因此:
只要将:
修改为:
即可。
非常感谢S老师!