2017-02-20 47 views
1

我想通過bibtex文件中的@string條目定義作者名,並在解析文件時替換它們。bibtex-ruby:在作者字段中替換多個字符串

@string { author1 = "J. Doe" } 
@string { author2 = "J. Smith" } 

到目前爲止這麼好。棘手的部分是,當進入例如應使用這些縮寫的文章條目。我試了幾個組合像

author = {author1 and author2} 
author = "author1 and author2" 

但似乎工作的唯一版本是下面,在這裏我不得不串聯三個字符串:

author = author1 # " and " # author2 

其中:a)看起來很笨拙和b)使事情而比簡單更復雜,特別是對於較長的作者列表。有人知道如何有效地使用字符串來更新bibtex文件中的多個作者嗎?

這是bibtex-ruby上的一個有效的功能請求/錯誤報告,還是我錯過了一些不使用該功能的理由?

+0

'@string {作者1 = 「J. Doe的」}' - 是發送到'@ string'可變的塊。這確實是你的意思嗎? –

+0

@AndreyDeineko雖然看起來這可能是Ruby,但事實並非如此。這是一個Bibtex聲明。檢查標籤。 :) – coreyward

回答

0

我有同樣的問題,我目前的最佳解決方案如下。 定義另一個@string,將" and "指定爲單個字母,例如。 「y」和西班牙語中的「and」;然後在作者字符串之間使用#y#。它是略小於重複和難看

% define authors as strings 
@string{alice = "A. Alice"} 
@string{bob = "B.~B. Bob"} 
@string{cal = "C. Callum"} 

% define repetitive " and " string. I've used "y" as in the Spanish for "and" 
@string{y = " and "} 

@misc {citationkey, 
    author = alice #y# bob #y# cal, 
    title = "A title", 
    } 

Voila