如何在 bst 文件中使用 MACRO

如何在 bst 文件中使用 MACRO

如果我jun手动在 .bib 文件中输入一个字段,比如说将其放入期刊字段,那么当我编译宏时,它似乎不会像June我预期的那样将其替换。我是否误解了宏应该做什么?

由于我无法按照评论的要求提供一个小例子,所以我的.bib 文件

 %% This BibTeX bibliography file was created using BibDesk.
 %% http://bibdesk.sourceforge.net/


 %% Created for roberto at 2015-09-18 18:46:00 +0200 


 %% Saved with string encoding Unicode (UTF-8) 



 @article{Arkani-Hamed:2001dz2,
    Abstract = {},
    Adsnote = {Provided by the SAO/NASA Astrophysics Data System},
    Adsurl = {http://adsabs.harvard.edu/abs/2001JHEP...08..017A},
    Author = {{Arkani-Hamed}, N. and {Porrati}, M. and {Randall}, L.},
    Date-Added = {2015-09-18 16:45:41 +0000},
    Date-Modified = {2015-09-18 16:45:57 +0000},
    Doi = {10.1088/1126-6708/2001/08/017},
    Eid = {017},
    Eprint = {arXiv:hep-th/0012148},
    Journal = {jhep},
    Month = aug,
    Pages = {17},
    Title = {{Holography and phenomenology}},
    Volume = 8,
    Year = 2001,
    Bdsk-Url-1 = {http://dx.doi.org/10.1088/1126-6708/2001/08/017}}

 @article{Arkani-Hamed:2001dz,
    Abstract = {},
    Adsnote = {Provided by the SAO/NASA Astrophysics Data System},
    Adsurl = {http://adsabs.harvard.edu/abs/2001JHEP...08..017A},
    Author = {{Arkani-Hamed}, N. and {Porrati}, M. and {Randall}, L.},
    Date-Added = {2015-09-18 16:41:56 +0000},
    Date-Modified = {2015-09-18 16:41:56 +0000},
    Doi = {10.1088/1126-6708/2001/08/017},
    Eid = {017},
    Eprint = {arXiv:hep-th/0012148},
    Journal = {Journal of High Energy Physics},
    Month = aug,
    Pages = {17},
    Title = {{Holography and phenomenology}},
    Volume = 8,
    Year = 2001,
    Bdsk-Url-1 = {http://dx.doi.org/10.1088/1126-6708/2001/08/017}}

和我的 bst 文件(很长)该MACRO {jhep} {"JHEP"}命令应该将jhepbibitem Arkani-Hamed:2001dz 的日记帐分录转换为大写版本但在 PDF 输出中我得到的不是大写...

 %%
 %% This is file `mybibsty.bst',
 %% generated with the docstrip utility.
 %%
 %% The original source files were:
 %%
 %% merlin.mbs  (with options: `seq-no,nm-init,ed-au,nmlm,x1,m1,mcite,mct-1,mct-x2,xmth,tit-it,jtit-x,jttl-rm,thtit-x,jpg-1,pgsep-c,num-xser,isbn,issn,blk-com,com-blank,ppx,xedn,etal-xc,eprint,nfss,')
 %% ----------------------------------------
 %% *** boh ***
 %% 
 %% Copyright 1994-2007 Patrick W Daly
  % ===============================================================
  % IMPORTANT NOTICE:
  % This bibliographic style (bst) file has been generated from one or
  % more master bibliographic style (mbs) files, listed above.
  %
  % This generated file can be redistributed and/or modified under the terms
  % of the LaTeX Project Public License Distributed from CTAN
  % archives in directory macros/latex/base/lppl.txt; either
  % version 1 of the License, or any later version.
  % ===============================================================
  % Name and version information of the main mbs file:
  % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]
  %   For use with BibTeX version 0.99a or later
  %-------------------------------------------------------------------
  % This bibliography style file is intended for texts in ENGLISH
  % This is a numerical citation style, and as such is standard LaTeX.
  % It requires no extra package to interface to the main text.
  % The form of the \bibitem entries is
  %   \bibitem{key}...
  % Usage of \cite is as follows:
  %   \cite{key} ==>>          [#]
  %   \cite[chap. 2]{key} ==>> [#, chap. 2]
  % where # is a number determined by the ordering in the reference list.
  % The order in the reference list is that by which the works were originally
  %   cited in the text, or that in the database.
  %---------------------------------------------------------------------

 ENTRY
   { address
     archive
     author
     booktitle
     chapter
     edition
     editor
     eid
     eprint
     howpublished
     institution
     isbn
     issn
     journal
     key
     month
     note
     number
     organization
     pages
     publisher
     school
     series
     title
     type
     volume
     year
   }
   {}
   { label }
 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
 FUNCTION {init.state.consts}
 { #0 'before.all :=
   #1 'mid.sentence :=
   #2 'after.sentence :=
   #3 'after.block :=
 }
 STRINGS { s t}
 FUNCTION {output.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 {output}
 { duplicate$ empty$
     'pop$
     'output.nonnull
   if$
 }
 FUNCTION {output.check}
 { 't :=
   duplicate$ empty$
     { pop$ "empty " t * " in " * cite$ * warning$ }
     'output.nonnull
   if$
 }
 FUNCTION {fin.entry}
 { add.period$
   write$
   newline$
 }

 FUNCTION {new.block}
 { output.state before.all =
     'skip$
     { after.block 'output.state := }
   if$
 }
 FUNCTION {new.sentence}
 { output.state after.block =
     'skip$
     { output.state before.all =
         'skip$
         { after.sentence 'output.state := }
       if$
     }
   if$
 }
 FUNCTION {add.blank}
 {  " " * before.all 'output.state :=
 }

 FUNCTION {date.block}
 {
   skip$
 }

 FUNCTION {not}
 {   { #0 }
     { #1 }
   if$
 }
 FUNCTION {and}
 {   'skip$
     { pop$ #0 }
   if$
 }
 FUNCTION {or}
 {   { pop$ #1 }
     'skip$
   if$
 }
 FUNCTION {new.block.checka}
 { empty$
     'skip$
     'new.block
   if$
 }
 FUNCTION {new.block.checkb}
 { empty$
   swap$ empty$
   and
     'skip$
     'new.block
   if$
 }
 FUNCTION {new.sentence.checka}
 { empty$
     'skip$
     'new.sentence
   if$
 }
 FUNCTION {new.sentence.checkb}
 { empty$
   swap$ empty$
   and
     'skip$
     'new.sentence
   if$
 }
 FUNCTION {field.or.null}
 { duplicate$ empty$
     { pop$ "" }
     'skip$
   if$
 }
 FUNCTION {emphasize}
 { duplicate$ empty$
     { pop$ "" }
     { "\emph{" swap$ * "}" * }
   if$
 }
 FUNCTION {tie.or.space.prefix}
 { duplicate$ text.length$ #3 <
     { "~" }
     { " " }
   if$
   swap$
 }

 FUNCTION {capitalize}
 { "u" change.case$ "t" change.case$ }

 FUNCTION {space.word}
 { " " swap$ * " " * }
  % Here are the language-specific definitions for explicit words.
  % Each function has a name bbl.xxx where xxx is the English word.
  % The language selected here is ENGLISH
 FUNCTION {bbl.and}
 { "and"}

 FUNCTION {bbl.etal}
 { "et~al." }

 FUNCTION {bbl.editors}
 { "editors" }

 FUNCTION {bbl.editor}
 { "editor" }

 FUNCTION {bbl.edby}
 { "edited by" }

 FUNCTION {bbl.edition}
 { "edition" }

 FUNCTION {bbl.volume}
 { "volume" }

 FUNCTION {bbl.of}
 { "of" }

 FUNCTION {bbl.number}
 { "number" }

 FUNCTION {bbl.nr}
 { "no." }

 FUNCTION {bbl.in}
 { "in" }

 FUNCTION {bbl.pages}
 { "" }

 FUNCTION {bbl.page}
 { "" }

 FUNCTION {bbl.chapter}
 { "chapter" }

 FUNCTION {bbl.techrep}
 { "Technical Report" }

 FUNCTION {bbl.mthesis}
 { "Master's thesis" }

 FUNCTION {bbl.phdthesis}
 { "Ph.D. thesis" }

 MACRO {jan} {"January"}

 MACRO {feb} {"February"}

 MACRO {mar} {"March"}

 MACRO {apr} {"April"}

 MACRO {may} {"May"}

 MACRO {jun} {"June"}

 MACRO {jul} {"July"}

 MACRO {aug} {"August"}

 MACRO {sep} {"September"}

 MACRO {oct} {"October"}

 MACRO {nov} {"November"}

 MACRO {dec} {"December"}

 MACRO {acmcs} {"ACM Computing Surveys"}

 MACRO {acta} {"Acta Informatica"}

 MACRO {cacm} {"Communications of the ACM"}

 MACRO {ibmjrd} {"IBM Journal of Research and Development"}

 MACRO {ibmsj} {"IBM Systems Journal"}

 MACRO {ieeese} {"IEEE Transactions on Software Engineering"}

 MACRO {ieeetc} {"IEEE Transactions on Computers"}

 MACRO {ieeetcad}
  {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}

 MACRO {ipl} {"Information Processing Letters"}

 MACRO {jacm} {"Journal of the ACM"}

 MACRO {jcss} {"Journal of Computer and System Sciences"}

 MACRO {scp} {"Science of Computer Programming"}

 MACRO {sicomp} {"SIAM Journal on Computing"}

 MACRO {tocs} {"ACM Transactions on Computer Systems"}

 MACRO {tods} {"ACM Transactions on Database Systems"}

 MACRO {tog} {"ACM Transactions on Graphics"}

 MACRO {toms} {"ACM Transactions on Mathematical Software"}

 MACRO {toois} {"ACM Transactions on Office Information Systems"}

 MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}

 MACRO {tcs} {"Theoretical Computer Science"}

 MACRO {jhep} {"JHEP"}

 FUNCTION {bibinfo.check}
 { swap$
   duplicate$ missing$
     {
       pop$ pop$
       ""
     }
     { duplicate$ empty$
         {
           swap$ pop$
         }
         { swap$
           pop$
         }
       if$
     }
   if$
 }
 FUNCTION {bibinfo.warn}
 { swap$
   duplicate$ missing$
     {
       swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
       ""
     }
     { duplicate$ empty$
         {
           swap$ "empty " swap$ * " in " * cite$ * warning$
         }
         { swap$
           pop$
         }
       if$
     }
   if$
 }
 FUNCTION {format.eprint}
 { eprint duplicate$ empty$
     'skip$
     { "\eprint"
       archive empty$
         'skip$
         { "[" * archive * "]" * }
       if$
       "{" * swap$ * "}" *
     }
   if$
 }
 INTEGERS { nameptr namesleft numnames }


 STRINGS  { bibinfo}

 FUNCTION {format.names}
 { 'bibinfo :=
   duplicate$ empty$ 'skip$ {
   's :=
   "" 't :=
   #1 'nameptr :=
   s num.names$ 'numnames :=
   numnames 'namesleft :=
     { namesleft #0 > }
     { s nameptr
       "{f.~}{vv~}{ll}{, jj}"
       format.name$
       bibinfo bibinfo.check
       't :=
       nameptr #1 >
         {
           nameptr #1
           #1 + =
           numnames #1
           > and
             { "others" 't :=
               #1 'namesleft := }
             'skip$
           if$
           namesleft #1 >
             { ", " * t * }
             {
               s nameptr "{ll}" format.name$ duplicate$ "others" =
                 { 't := }
                 { pop$ }
               if$
               numnames #2 >
               t "others" = not and
                 { "," * }
                 'skip$
               if$
               t "others" =
                 {
                   " " * bbl.etal *
                 }
                 {
                   bbl.and
                   space.word * t *
                 }
               if$
             }
           if$
         }
         't
       if$
       nameptr #1 + 'nameptr :=
       namesleft #1 - 'namesleft :=
     }
   while$
   } if$
 }
 FUNCTION {format.names.ed}
 {
   format.names
 }
 FUNCTION {format.authors}
 { author "author" format.names
 }
 FUNCTION {get.bbl.editor}
 { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }

 FUNCTION {format.editors}
 { editor "editor" format.names duplicate$ empty$ 'skip$
     {
       "," *
       " " *
       get.bbl.editor
       *
     }
   if$
 }
 FUNCTION {format.isbn}
 { isbn "isbn" bibinfo.check
   duplicate$ empty$ 'skip$
     {
       "ISBN " swap$ *
     }
   if$
 }

 FUNCTION {format.issn}
 { issn "issn" bibinfo.check
   duplicate$ empty$ 'skip$
     {
       "ISSN " swap$ *
     }
   if$
 }

 FUNCTION {format.note}
 {
  note empty$
     { "" }
     { note #1 #1 substring$
       duplicate$ "{" =
         'skip$
         { output.state mid.sentence =
           { "l" }
           { "u" }
         if$
         change.case$
         }
       if$
       note #2 global.max$ substring$ * "note" bibinfo.check
     }
   if$
 }

 FUNCTION {format.title}
 { title
   duplicate$ empty$ 'skip$
     { "t" change.case$ }
   if$
   "title" bibinfo.check
   duplicate$ empty$ 'skip$
     {
       emphasize
     }
   if$
 }
 FUNCTION {output.bibitem}
 { newline$
   "\bibitem{" write$
   cite$ write$
   "}" write$
   newline$
   ""
   before.all 'output.state :=
 }

 FUNCTION {if.digit}
 { duplicate$ "0" =
   swap$ duplicate$ "1" =
   swap$ duplicate$ "2" =
   swap$ duplicate$ "3" =
   swap$ duplicate$ "4" =
   swap$ duplicate$ "5" =
   swap$ duplicate$ "6" =
   swap$ duplicate$ "7" =
   swap$ duplicate$ "8" =
   swap$ "9" = or or or or or or or or or
 }
 FUNCTION {n.separate}
 { 't :=
   ""
   #0 'numnames :=
   { t empty$ not }
   { t #-1 #1 substring$ if.digit
       { numnames #1 + 'numnames := }
       { #0 'numnames := }
     if$
     t #-1 #1 substring$ swap$ *
     t #-2 global.max$ substring$ 't :=
     numnames #5 =
       { duplicate$ #1 #2 substring$ swap$
         #3 global.max$ substring$
         "," swap$ * *
       }
       'skip$
     if$
   }
   while$
 }
 FUNCTION {n.dashify}
 {
   n.separate
   't :=
   ""
     { t empty$ not }
     { t #1 #1 substring$ "-" =
         { t #1 #2 substring$ "--" = not
             { "--" *
               t #2 global.max$ substring$ 't :=
             }
             {   { t #1 #1 substring$ "-" = }
                 { "-" *
                   t #2 global.max$ substring$ 't :=
                 }
               while$
             }
           if$
         }
         { t #1 #1 substring$ *
           t #2 global.max$ substring$ 't :=
         }
       if$
     }
   while$
 }

 FUNCTION {word.in}
 { bbl.in
   " " * }

 FUNCTION {format.date}
 {
   ""
   duplicate$ empty$
   year  "year"  bibinfo.check duplicate$ empty$
     { swap$ 'skip$
         { "there's a month but no year in " cite$ * warning$ }
       if$
       *
     }
     { swap$ 'skip$
         {
           swap$
           " " * swap$
         }
       if$
       *
     }
   if$
 }
 FUNCTION {format.btitle}
 { title "title" bibinfo.check
   duplicate$ empty$ 'skip$
     {
       emphasize
     }
   if$
 }
 FUNCTION {either.or.check}
 { empty$
     'pop$
     { "can't use both " swap$ * " fields in " * cite$ * warning$ }
   if$
 }
 FUNCTION {format.bvolume}
 { volume empty$
     { "" }
     { bbl.volume volume tie.or.space.prefix
       "volume" bibinfo.check * *
       series "series" bibinfo.check
       duplicate$ empty$ 'pop$
         { swap$ bbl.of space.word * swap$
           emphasize * }
       if$
       "volume and number" number either.or.check
     }
   if$
 }
 FUNCTION {format.number.series}
 { volume empty$
     { number empty$
         { series field.or.null }
         { series empty$
             { number "number" bibinfo.check }
             { output.state mid.sentence =
                 { bbl.number }
                 { bbl.number capitalize }
               if$
               number tie.or.space.prefix "number" bibinfo.check * *
               bbl.in space.word *
               series "series" bibinfo.check *
             }
           if$
         }
       if$
     }
     { "" }
   if$
 }

 FUNCTION {format.edition}
 { edition duplicate$ empty$ 'skip$
     {
       output.state mid.sentence =
         { "l" }
         { "t" }
       if$ change.case$
       "edition" bibinfo.check
       " " * bbl.edition *
     }
   if$
 }
 INTEGERS { multiresult }
 FUNCTION {multi.page.check}
 { 't :=
   #0 'multiresult :=
     { multiresult not
       t empty$ not
       and
     }
     { t #1 #1 substring$
       duplicate$ "-" =
       swap$ duplicate$ "," =
       swap$ "+" =
       or or
         { #1 'multiresult := }
         { t #2 global.max$ substring$ 't := }
       if$
     }
   while$
   multiresult
 }
 FUNCTION {format.pages}
 { pages duplicate$ empty$ 'skip$
     { duplicate$ multi.page.check
         {
           n.dashify
         }
         {
         }
       if$
       "pages" bibinfo.check
     }
   if$
 }
 FUNCTION {first.page}
 { 't :=
   ""
     {  t empty$ not t #1 #1 substring$ "-" = not and }
     { t #1 #1 substring$ *
       t #2 global.max$ substring$ 't :=
     }
   while$
 }

 FUNCTION {format.journal.pages}
 { pages duplicate$ empty$ 'pop$
     { swap$ duplicate$ empty$
         { pop$ pop$ format.pages }
         {
           ":" *
           swap$
           first.page
           "pages" bibinfo.check
           *
         }
       if$
     }
   if$
 }
 FUNCTION {format.journal.eid}
 { eid "eid" bibinfo.check
   duplicate$ empty$ 'pop$
     { swap$ duplicate$ empty$ 'skip$
       {
           ":" *
       }
       if$
       swap$ *
     }
   if$
 }
 FUNCTION {format.vol.num.pages}
 { volume field.or.null
   duplicate$ empty$ 'skip$
     {
       "volume" bibinfo.check
     }
   if$
   number "number" bibinfo.check duplicate$ empty$ 'skip$
     {
       swap$ duplicate$ empty$
         { "there's a number but no volume in " cite$ * warning$ }
         'skip$
       if$
       swap$
       "(" swap$ * ")" *
     }
   if$ *
   eid empty$
     { format.journal.pages }
     { format.journal.eid }
   if$
 }

 FUNCTION {format.chapter.pages}
 { chapter empty$
     'format.pages
     { type empty$
         { bbl.chapter }
         { type "l" change.case$
           "type" bibinfo.check
         }
       if$
       chapter tie.or.space.prefix
       "chapter" bibinfo.check
       * *
       pages empty$
         'skip$
         { ", " * format.pages * }
       if$
     }
   if$
 }

 FUNCTION {format.booktitle}
 {
   booktitle "booktitle" bibinfo.check
   emphasize
 }
 FUNCTION {format.in.ed.booktitle}
 { format.booktitle duplicate$ empty$ 'skip$
     {
       editor "editor" format.names.ed duplicate$ empty$ 'pop$
         {
           "," *
           " " *
           get.bbl.editor
           ", " *
           * swap$
           * }
       if$
       word.in swap$ *
     }
   if$
 }
 FUNCTION {empty.misc.check}
 { author empty$ title empty$ howpublished empty$
   month empty$ year empty$ note empty$
   and and and and and
     { "all relevant fields are empty in " cite$ * warning$ }
     'skip$
   if$
 }
 FUNCTION {format.thesis.type}
 { type duplicate$ empty$
     'pop$
     { swap$ pop$
       "t" change.case$ "type" bibinfo.check
     }
   if$
 }
 FUNCTION {format.tr.number}
 { number "number" bibinfo.check
   type duplicate$ empty$
     { pop$ bbl.techrep }
     'skip$
   if$
   "type" bibinfo.check
   swap$ duplicate$ empty$
     { pop$ "t" change.case$ }
     { tie.or.space.prefix * * }
   if$
 }
 FUNCTION {format.article.crossref}
 {
   key duplicate$ empty$
     { pop$
       journal duplicate$ empty$
         { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
         { "journal" bibinfo.check emphasize word.in swap$ * }
       if$
     }
     { word.in swap$ * " " *}
   if$
   " \cite{" * crossref * "}" *
 }
 FUNCTION {format.crossref.editor}
 { editor #1 "{vv~}{ll}" format.name$
   "editor" bibinfo.check
   editor num.names$ duplicate$
   #2 >
     { pop$
       "editor" bibinfo.check
       " " * bbl.etal
       *
     }
     { #2 <
         'skip$
         { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
             {
               "editor" bibinfo.check
               " " * bbl.etal
               *
             }
             {
              bbl.and space.word
               * editor #2 "{vv~}{ll}" format.name$
               "editor" bibinfo.check
               *
             }
           if$
         }
       if$
     }
   if$
 }
 FUNCTION {format.book.crossref}
 { volume duplicate$ empty$
     { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
       pop$ word.in
     }
     { bbl.volume
       swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
     }
   if$
   editor empty$
   editor field.or.null author field.or.null =
   or
     { key empty$
         { series empty$
             { "need editor, key, or series for " cite$ * " to crossref " *
               crossref * warning$
               "" *
             }
             { series emphasize * }
           if$
         }
         { key * }
       if$
     }
     { format.crossref.editor * }
   if$
   " \cite{" * crossref * "}" *
 }
 FUNCTION {format.incoll.inproc.crossref}
 {
   editor empty$
   editor field.or.null author field.or.null =
   or
     { key empty$
         { format.booktitle duplicate$ empty$
             { "need editor, key, or booktitle for " cite$ * " to crossref " *
               crossref * warning$
             }
             { word.in swap$ * }
           if$
         }
         { word.in key * " " *}
       if$
     }
     { word.in format.crossref.editor * " " *}
   if$
   " \cite{" * crossref * "}" *
 }
 FUNCTION {format.org.or.pub}
 { 't :=
   ""
   address empty$ t empty$ and
     'skip$
     {
       t empty$
         { address "address" bibinfo.check *
         }
         { t *
           address empty$
             'skip$
             { ", " * address "address" bibinfo.check * }
           if$
         }
       if$
     }
   if$
 }
 FUNCTION {format.publisher.address}
 { publisher "publisher" bibinfo.warn format.org.or.pub
 }

 FUNCTION {format.organization.address}
 { organization "organization" bibinfo.check format.org.or.pub
 }

 FUNCTION {article}
 { output.bibitem
   format.authors "author" output.check
   crossref missing$
     {
       journal
       "journal" bibinfo.check
       "journal" output.check
       format.vol.num.pages output
 %      format.date "year" output.check
     }
     { format.article.crossref output.nonnull
       format.pages output
     }
   if$
   format.issn output
   format.note output
   format.eprint output
   fin.entry
 }
 FUNCTION {book}
 { output.bibitem
   author empty$
     { format.editors "author and editor" output.check
     }
     { format.authors output.nonnull
       crossref missing$
         { "author and editor" editor either.or.check }
         'skip$
       if$
     }
   if$
   format.btitle "title" output.check
   crossref missing$
     { format.bvolume output
       format.number.series output
       format.publisher.address output
     }
     {
       format.book.crossref output.nonnull
     }
   if$
   format.edition output
   format.date "year" output.check
   format.isbn output
   format.note output
   format.eprint output
   fin.entry
 }


 FUNCTION {techreport}
 { output.bibitem
   format.authors "author" output.check
   format.title
   "title" output.check
   format.tr.number output.nonnull
   institution "institution" bibinfo.warn output
   address "address" bibinfo.check output
   format.date "year" output.check
   format.note output
   format.eprint output
   fin.entry
 }

 FUNCTION {unpublished}
 { output.bibitem
   format.authors "author" output.check
   format.title "title" output.check
   format.date output
   format.note "note" output.check
   format.eprint output
   fin.entry
 }

 FUNCTION {default.type} { misc }
 READ
 STRINGS { longest.label }
 INTEGERS { number.label longest.label.width }
 FUNCTION {initialize.longest.label}
 { "" 'longest.label :=
   #1 'number.label :=
   #0 'longest.label.width :=
 }
 FUNCTION {longest.label.pass}
 { number.label int.to.str$ 'label :=
   number.label #1 + 'number.label :=
   label width$ longest.label.width >
     { label 'longest.label :=
       label width$ 'longest.label.width :=
     }
     'skip$
   if$
 }
 EXECUTE {initialize.longest.label}
 ITERATE {longest.label.pass}
 FUNCTION {begin.bib}
 { preamble$ empty$
     'skip$
     { preamble$ write$ newline$ }
   if$
   "\begin{thebibliography}{"  longest.label  * "}" *
   write$ newline$
   "\providecommand{\url}[1]{\texttt{#1}}"
   write$ newline$
   "\providecommand{\urlprefix}{URL }"
   write$ newline$
   "\providecommand{\eprint}[2][]{\href{http://arxiv.org/abs/#2}{#2}}"
   write$ newline$
 }
 EXECUTE {begin.bib}
 EXECUTE {init.state.consts}
 ITERATE {call.type$}
 FUNCTION {end.bib}
 { newline$
   "\end{thebibliography}" write$ newline$
 }
 EXECUTE {end.bib}
 %% End of customized bst file
 %%
 %% End of file `mybibsty.bst'.

答案1

宏不应该用括号括起来。就像

Month = aug,

它应该是

Journal = jhep,

如果我修复它,我会得到大写字母:

在此处输入图片描述

答案2

%%=== BibLaTex Custom ===
%% Numbered Citation as footnotes 
%%http://www.texdev.net/2010/03/08/biblatex-numbered-citations-as-footnotes/

%\usepackage{csquotes}
%\usepackage{hyperref}


\makeatletter

\DeclareCiteCommand{\superfootcite}[\cbx@superscript]
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:superfoot}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{cite:superfoot}{%
  \xdef\cbx@citekey{\thefield{entrykey}}%
  \ifciteseen
    {}
    {\csnumgdef{cbx@instcount\cbx@citekey}{-100}}%
  \ifsamepage{\value{instcount}}{\number\csuse{cbx@instcount\cbx@citekey}}
    {}
    {\xappto\cbx@citehook{%
       \noexpand\footnotetext[\thefield{labelnumber}]{%
         \fullcite{\thefield{entrykey}}\addperiod}}}%
  \csnumgdef{cbx@instcount\cbx@citekey}{\value{instcount}}}

相关内容