I have a modified plain.bst (@book template) where i have the demand for:
Code: Select all
address: publisher
Since (at least i believe that) the ',' is the seperator character in the bibtex output, which is produced by the "output"->"output.nonnull" functions, and I did not want to change this seperation character generally I decided to duplicate these two functions with different names, substitute the ',' for the ',' in the clone and use that.
Unfortunately the result does not show a ':' but still a ','. Obviously I get something wrong here.
Here is the modification i made:
Code: Select all
--- plain.bst.backup 2011-09-16 16:32:21.979569012 +0200
+++ sozsbg.bst 2011-09-27 18:11:47.969482722 +0200
@@ -46,6 +46,34 @@
STRINGS { s t }
+FUNCTION {outputcomma.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {outputcomma}
+{ duplicate$ empty$
+ 'pop$
+ 'outputcomma.nonnull
+ if$
+}
+
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
@@ -567,21 +595,21 @@
}
if$
new.block
+ format.date "year" output.check
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
format.number.series output
new.sentence
+ address outputcomma
publisher "publisher" output.check
- address output
}
{ new.block
format.book.crossref output.nonnull
}
if$
format.edition output
- format.date "year" output.check
new.block
note output
fin.entry
Any hints on what i could do to achieve my goal are very much appreciated.
Thanks in advance!
Kind regards,
-Alex