![lingproc 中的 Dashify](https://linux22.com/image/285429/lingproc%20%E4%B8%AD%E7%9A%84%20Dashify.png)
我正在使用 lingproc.bst (http://www.lel.ed.ac.uk/~pgc/archive/1998/lingproc.bst) 和 lingproc.sty (http://www.lel.ed.ac.uk/~pgc/archive/temp/latex/sty/lingproc.sty)。后者的底部说,您可以通过打开注释来关闭破折号和 & 符号,而不是“and”功能。然而,我只能让后者工作,而且真的想关闭破折号功能。当我尝试时,它只是完全删除破折号书目条目的第一个实例,然后继续破折号第二个实例。有什么想法吗?
这是我的文件的链接(包括.zip
所有文件的链接):https://drive.google.com/folderview?id=0B3Si8J4jDIwaVEF0NFNnRnVnekE&usp=sharing
这是我的文件的骨架(我已将文件主体取出)。
\documentclass[12pt, a4paper, twoside]{article}
\usepackage{lingproc}
\usepackage{filecontents}
%
\begin{filecontents*}{language_policy_in_belarus.bib}
@misc{beldig11a,
author = {{Belarus Digest}},
title = {Are the {B}elarusian and {R}ussian languages very similar?},
volume = {2013},
number = {25 December 2013},
year = {2011},
type = {Web Page},
note = {Available at: http://belarusdigest.com/myth/are-belarusian-and-russian-languages-very-similar-371 [Accessed 25 December 2013]}
}
@misc{beldig11b,
author = {{Belarus Digest}},
title = {Is the language issue important in {B}elarus?},
volume = {2013},
number = {25 December 2013},
year = {2011},
type = {Web Page},
note = {Available at: http://belarusdigest.com/myth/language-issue-important-belarus-2092 [Accessed 25 December 2013]}
}
\end{filecontents*}
%
\begin{document}
\nocite{*}
\bibliographystyle{lingproc}
\bibliography{language_policy_in_belarus}
\end{document}
答案1
首先lingproc.sty
这样做:
%\def\lsadashify#1{---\hspace*{-2pt}---}
%%
%\def\lsadashifynew#1{---\hspace*{-2pt}---}
\def\lsadashifynew#1{#1}
%\def\lsaand{\& }
\def\lsaand{and }
保存它(最好使用不同的名称(mylingproc.sty
)保存在与主 tex 文档相同的文件夹中)。
然后你的代码:
\documentclass[12pt, a4paper, twoside]{article}
\usepackage{mylingproc}
\usepackage{filecontents}
%
\begin{filecontents*}{language_policy_in_belarus.bib}
@article{bekus13,
author = {Bekus, Nelly and Me},
title = {Ethnic identity in post-{S}oviet {B}elarus: ethnolinguistic survival as an argument in the political struggle},
journal = {Journal of Multilingual and Multicultural Development},
pages = {1--16},
year = {2013},
type = {Journal Article}
}
@misc{beldig11a,
author = {{Bekus, Nelly and Me}},
title = {Are the {B}elarusian and {R}ussian languages very similar?},
volume = {2013},
number = {25 December 2013},
year = {2011},
type = {Web Page},
note = {Available at: http://belarusdigest.com/myth/are-belarusian-and-russian-languages-very-similar-371 [Accessed 25 December 2013]}
}
\end{filecontents*}
%
\begin{document}
\nocite{*}
\bibliographystyle{lingproc}
\bibliography{language_policy_in_belarus}
\end{document}
祈祷吧。希望它能在你的真实文件中发挥作用 :)
笔记
lingproc.sty
如果您将的名称更改为mylingproc.sty
(例如),则必须将其放在与主 tex 文件相同的文件夹中。另一方面,您也可以将其放在 localtexmf 文件夹中。您必须在 tex 文件中将其更改\usepackage{lingproc}
为。\usepackage{mylingproc}
该filecontents
包和filecontents*
环境仅供本 MWE 使用,不供您的 tex 文件中使用。\nocite{*}
由于您已经引用了所有参考资料,因此请勿在您的 tex 文件中使用它们。
*8最后编辑**
您的文件对我来说很好用。唯一的错误是使用了\usepackage{lingproc}
。请\usepackage{mylingproc}
改用。
答案2
解决方案
修改以下两个四行代码块.bst
...
% { "\lsadashifynew{" t * "}" *}
% { "\lsadashify{" t * "}" *}
{ "\lsadashifynew{}"}
{ "\lsadashify{}"}
... 和...
% { "\lsadashifynew{" t * "}." * 't :=}
% { "\lsadashify{" t * "}." * 't :=}
{ "\lsadashifynew{}" 't :=}
{ "\lsadashify{}" 't :=}
... 到:
{ "\lsadashifynew{" t * "}" *}
{ "\lsadashify{" t * "}" *}
% { "\lsadashifynew{}"}
% { "\lsadashify{}"}
... 和...
{ "\lsadashifynew{" t * "}." * 't :=}
{ "\lsadashify{" t * "}." * 't :=}
% { "\lsadashifynew{}" 't :=}
% { "\lsadashify{}" 't :=}
这可以有效地将该函数恢复到父.bst
文件“lsalike”上的功能。
然后修改结尾的部分.sty
......
\def\lsadashify#1{---\hspace*{-2pt}---}
\def\lsadashifynew#1{---\hspace*{-2pt}---}
%\def\lsadashifynew#1{#1}
\def\lsaand{\& }
%\def\lsaand{and }
... 到:
%\def\lsadashify#1{---\hspace*{-2pt}---}
\def\lsadashify#1{#1}
%\def\lsadashifynew#1{---\hspace*{-2pt}---}
\def\lsadashifynew#1{#1}
\def\lsaand{\& }
%\def\lsaand{and }
此外,如果您更喜欢在引用和参考书目中使用“and”而不是“&”,请交换最后一对行的注释。
感谢 Harish 为我指明正确的方向!