TemplateJournalsbiologymedicine
BMC (BioMed Central)
Official bmcart class for BioMed Central journals such as BMC Biology, BMC Bioinformatics, and Genome Biology, with the bmc-mathphys bibliography style.
LPPL 1.0+
Loading PDF preview…
What’s inside
- Starter files
main.tex2.1 KB
% Trimmed from the official BMC LaTeX template (bmc_article.tex), % http://media.biomedcentral.com/content/production/bmc_article-tex.zip \documentclass{bmcart} \usepackage[utf8]{inputenc} \startlocaldefs \endlocaldefs \begin{document} \begin{frontmatter} \begin{fmbox} \dochead{Research} \title{A sample article title} \author[ addressref={aff1}, corref={aff1}, email={first.author@example.edu} ]{\inits{FA}\fnm{First} \snm{Author}} \author[ addressref={aff2}, email={second.author@example.org} ]{\inits{SA}\fnm{Second} \snm{Author}} \address[id=aff1]{% \orgname{Department of Biology, Example University}, \city{City}, \cny{Country} } \address[id=aff2]{% \orgname{Example Research Institute}, \city{City}, \cny{Country} } \end{fmbox} \begin{abstractbox} \begin{abstract} \parttitle{Background} BMC journals use a structured abstract; replace these part titles with the ones your target journal asks for. \parttitle{Results} Summarize the key findings here. \parttitle{Conclusions} State the take-home message. \end{abstract} \begin{keyword} \kwd{sample} \kwd{article} \kwd{template} \end{keyword} \end{abstractbox} \end{frontmatter} \section*{Background} Introduce the problem and cite prior work~\cite{darwin1859,doudna2014}. BMC journals use unnumbered sections; check your journal's instructions for the required section order. \section*{Methods} Display equations are numbered: \begin{equation} \frac{dS}{dt} = -\beta S I, \qquad \frac{dI}{dt} = \beta S I - \gamma I. \label{eq:sir} \end{equation} \section*{Results} Refer to Eq.~(\ref{eq:sir}) in the text. Small tables go in standard \texttt{table} environments; figures are referenced by caption at submission. \section*{Conclusions} Summarize the findings. Ask the agent in the chat to draft sections, structure the abstract, or format your reference list for you. \begin{backmatter} \section*{Competing interests} The authors declare that they have no competing interests. \section*{Acknowledgements} Thanks and funding notes go here. \bibliographystyle{bmc-mathphys} \bibliography{references} \end{backmatter} \end{document}- Libraries and docs
bmc-mathphys.bst60 KB
%% This is file `bmc-mathphys.bst' (created: 2011-12-27) %% Compatible with bibtex version 0.99d. %% %% Please submit bugs or your comments to vtex@vtex.lt %% Start subject with a "[BMC] bibtex: " + subject %% %% Sorting entries is done by name and year fields! %% %% You are free to use this style file as you see fit, provided %% that you do not make changes to the file. %% If you DO make changes, you are required to rename this file. %% %% It may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% %% LIMITATIONS: %% If you are getting error like %% "Sorry---you've exceeded BibTeX's number of string global-variables" %% that means you are using to old bibtex version. You should download latest version 0.99d. %% (One of the binaries location is minimals.contextgarden.net/current/bin/common/) %% %% BibTeX programming: Linas Stonys, VTeX, Lithuania, lstonys@vtex.lt % % Changes: % 2013-07-15 -- added XML output (taken from bmc_article.bst) v2.0 % % Settings: % It's possible to pass few options to bibtex style via @settings reference. % To validate options, need to write that reference (@settings) citeing key (f.e: \citation{foo}) % to aux file. From tex file it can be done with \nocite{} command. % % Examples: % 1) To make unsorted bibliography (bibs listed as cited) % a) write to bib file: % @settings{label, options="unsort"} % b) write in tex file \nocite{label} % % 2) To make author-year bibliography % a) write to bib file: % @settings{label, options="nameyear"} % b) write in tex file \nocite{label} % % 3) To make alphanumerical unsorted bibliography (bibs listed as cited) % a) write to bib file: % @settings{label, options="alpha,unsort"} % b) write in tex file \nocite{label} % % By default, style produces unsorted bibliography. % ENTRY { address author booktitle bnumber chapter doi edition editor howpublished institution isbn journal key month note number organization pages publisher school series title type volume year url info options urldate eprint } {} { label extra.label sort.label short.list} INTEGERS { output.state before.all mid.sentence after.sentence after.block after.authors between.elements bother Nisbn Nmonth slen set.settings tmp month.printed} FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := #4 'after.authors := #5 'between.elements := } STRINGS { s t element} STRINGS { longest.label last.label list.string default.list} STRINGS { v l f j b temp.str} FUNCTION {output.nonnull} { 's := output.state mid.sentence = { " " * write$ newline$} { output.state after.block = { add.period$ write$ newline$ } { output.state after.authors = { ": " * write$ newline$ } { output.state between.elements = { ", " * write$ newline$} { output.state before.all = 'write$ { add.period$ " " * write$ newline$} if$ } if$ } 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} { write$ newline$ } FUNCTION {stupid.colon} { after.authors 'output.state := } FUNCTION {insert.comma} { output.state before.all = 'skip$ { between.elements 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {sort.format.month} { 't := t #1 #2 substring$ "01" = t #1 #1 substring$ "1" = t #2 #2 substring$ "" = and or { "January" } { t #1 #2 substring$ "02" = t #1 #1 substring$ "2" = t #2 #2 substring$ "" = and or { "February" } { t #1 #2 substring$ "03" = t #1 #1 substring$ "3" = t #2 #2 substring$ "" = and or { "March" } { t #1 #2 substring$ "04" = t #1 #1 substring$ "4" = or { "April" } { t #1 #2 substring$ "05" = t #1 #1 substring$ "5" = or { "May" } { t #1 #2 substring$ "06" = t #1 #1 substring$ "6" = or { "June" } { t #1 #2 substring$ "07" = t #1 #1 substring$ "7" = or { "July" } { t #1 #2 substring$ "08" = t #1 #1 substring$ "8" = or { "August" } { t #1 #2 substring$ "09" = t #1 #1 substring$ "9" = or { "September" } { t #1 #2 substring$ "10" = { "October" } { t #1 #2 substring$ "11" = { "November" } { t #1 #2 substring$ "12" = { "December" } { t } % No match if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } INTEGERS {sk} FUNCTION {is.num} { chr.to.int$ duplicate$ "0" chr.to.int$ < not swap$ "9" chr.to.int$ > not and } FUNCTION {make.tag} { 't := duplicate$ empty$ { pop$ "" } { bother #0 = { t "volume" = {"\textbf{" swap$ * "}" * } 'skip$ if$ } { "\b" t * "{" * swap$ * "}" * } if$ } if$ } FUNCTION {springer.publisher} {publisher #1 #8 substring$ "Springer" = { "Springer" } { publisher } if$ } FUNCTION {format.pub.address} { publisher empty$ howpublished empty$ and { address empty$ 'skip$ { volume empty$ 'insert.comma 'new.sentence if$ address type$ "inproceedings" = {"conflocation"} {"location"} if$ make.tag output } if$ } { address empty$ { publisher empty$ {howpublished} {springer.publisher} if$ "publisher" make.tag #1 bother = {", \blocation{???}" * } 'skip$ if$ output } { publisher empty$ {howpublished } {springer.publisher } if$ "publisher" make.tag output insert.comma address "location" make.tag output } if$ } if$ } INTEGERS { nameptr namesleft numnames } FUNCTION {mk.tag} { 'temp.str := duplicate$ empty$ { pop$ "" } { b "nothing" = 'skip$ { "\b" temp.str * "{" * swap$ * "}" * } if$ } if$ } FUNCTION {space.after.dot} {'j := t 'f := j 't := s 'j := "" 'l := "" 's := { t empty$ not } { t #1 #3 substring$ "{-}" = { l " {q}. " * 'l := t #4 global.max$ substring$ 't := } 'skip$ if$ t #1 #1 substring$ 's := l s * 'l := s "." = { t #2 #1 substring$ " " = 'skip$ { l " " * 'l := t #2 #4 substring$ "{\,}" = { t #5 global.max$ substring$ 't := } 'skip$ if$ } if$ } 'skip$ if$ t #2 global.max$ substring$ 't := } while$ f 't := j 's := l } FUNCTION {fix.inits}{ 't := "" 'element := { t empty$ not } { t #1 #3 substring$ ".q." = { element ".-" * 'element := t #3 global.max$ substring$ 't := } {element t #1 #1 substring$ * 'element :=} if$ t #2 global.max$ substring$ 't := } while$ element } FUNCTION {fix.snm}{ 't := "" 'element := { t empty$ not } { t #1 #3 substring$ "{-}" = {element "-" * 'element := t #3 global.max$ substring$ 't := } {element t #1 #1 substring$ * 'element :=} if$ t #2 global.max$ substring$ 't := } while$ element } FUNCTION {enbrace.dash}{ 't := "" 'element := { t empty$ not } { t #1 #1 substring$ "-" = {element "{-}" * 'element :=} {element t #1 #1 substring$ * 'element :=} if$ t #2 global.max$ substring$ 't := } while$ element } FUNCTION {fix.name}{ enbrace.dash 's := "" 'l := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}" format.name$ s nameptr "{, ff}" format.name$ space.after.dot * 'l := #1 nameptr = {l 't :=} {t " and " * l * 't := } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ t } FUNCTION {name.separator}{ namesleft #1 > {", " * } 'skip$ if$ } FUNCTION {format.author.editor} { 'b := bother #1 = b "nothing" = or 'skip$ {"b" b * 'b :=} if$ b "editor" = b "beditor" = b "nothing" = or or {editor 's :=} {author 's :=} if$ %% modifying name s fix.name 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := s numnames "{ll}" format.name$ 'l := l "others" = l "{others}" = l "et al." = l "{et al.}" = or or or {#1 'tmp :=} {#0 'tmp :=} if$ { namesleft #0 > } { s nameptr "{vv}" format.name$ "particle" mk.tag 'v := s nameptr "{ll}" format.name$ fix.snm "snm" mk.tag 'l := s nameptr "{f{.}.}" format.name$ fix.inits "inits" mk.tag 'f := s nameptr "{jj}" format.name$ "suffix" mk.tag 'j := namesleft #1 = tmp #1 = and { b "bauthor" = b "beditor" = or {"et al."} {"\betal"} if$ #1 'tmp := } { b "bauthor" = b "beditor" = or {"\oauthor{"} { b "nothing" = {""} {"\b" b * "{" *} if$ } if$ v empty$ 'skip$ {v * " " *} if$ l empty$ 'skip$ { l *} if$ f empty$ 'skip$ {", " * f *} if$ j empty$ 'skip$ {" " * j *} if$ b "nothing" = {""} {"}"} if$ * "" 't := } if$ name.separator write$ namesleft #1 > b "nothing" = not and { namesleft #2 = tmp #1 = and 'skip$ 'newline$ if$ } 'skip$ if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.editors} { editor empty$ 'skip$ { bother #0 = { author empty$ {"editor"} {"nothing"} if$ } {"editor"} if$ format.author.editor editor num.names$ #1 > { " (eds.)" } { " (ed.)" } if$ write$ } if$ } FUNCTION {format.authors} { author empty$ 'skip$ {"author" format.author.editor} if$ } FUNCTION {cite.author.editor} { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " et~al." * } { #2 = { s #2 "{vv~}{ll}{ jj}{ f}" format.name$ "others" = { " et~al." * } { " and " * s #2 "{vv~}{ll}" format.name$ * } if$ } 'skip$ if$ } if$ } FUNCTION {check.auth.edit.org} {author empty$ { editor empty$ { organization empty$ {""} {organization} if$ } {editor cite.author.editor} if$ } {author cite.author.editor} if$ } FUNCTION {check.year} { year empty$ {""} {year extra.label *} if$ } INTEGERS { multiresult char.num k int} INTEGERS {str.length count return save.num1 save.num2} FUNCTION {is.in.list}{ 'f := %%%% saveing "s" and "t" s 'j := f 's := t 'f := list.string text.length$ 'str.length := list.string 't := % s text.length$ 'slen := int 'save.num1 := count 'save.num2 := #1 'int := #1 'count := #0 'return := { count str.length = not #0 str.length = not and } { count #1 + 'count := t int #1 substring$ "," = { t #1 int substring$ s "," * = { #1 'return := str.length 'count := } 'skip$ if$ int #1 + 'int := t int global.max$ substring$ 't := #0 'int := } 'skip$ if$ int #1 + 'int := } while$ save.num1 'int := save.num2 'count := #0 return = { s t = {#1 'return :=} 'skip$ if$ } 'skip$ if$ %%%% returning original "s" and "t" j 's := f 't := return } INTEGERS {bibitem.count} FUNCTION {print.count} { bibitem.count #1 + 'bibitem.count := newline$ "%%% " bibitem.count int.to.str$ * write$ } FUNCTION {output.bibitem} { print.count newline$ "\bibitem" "nameyear" is.in.list { "[\protect\citeauthoryear{" * write$ check.auth.edit.org write$ "}{" write$ check.year write$ "}]" } 'skip$ if$ "alpha" is.in.list { "[" * write$ label write$ "]" } 'skip$ if$ "{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {string.to.integer} { 't := t text.length$ 'k := #1 'char.num := { t char.num #1 substring$ 's := s is.num s "." = or char.num k = not and } { char.num #1 + 'char.num := } while$ char.num #1 - 'char.num := t #1 char.num substring$ } FUNCTION {find.integer} { 't := #0 'int := { int not t empty$ not and } { t #1 #1 substring$ 's := s is.num {#1 'int :=} { t #2 global.max$ substring$ 't := } if$ } while$ int } function{title.lowerwords}{ "a,an,and,of,the,for,in,to,over,from,on,or,so,than,that,this,as,but,with,by,at,down,up,upon,al,ale,aus,aux,d'Analyse,d'Analystes,d'Architecture,d'Etudes,d'Histoire,da,dans,de,degli,dei,del," "dell',dell'Accademia,dell'Istituto,dell'Universita,della,delle,dem,der,des,detta,di,die,din,dlia,do,du,e,eXpress,ed,ego,el,em,en,et,fur,i,iz,l'Academie,l'Age,l'Antiquite," * "l'Approximation,l'Ecole,l'Histoire,l'I.S.U.P.,l'INSA,l'IREM,l'Indirizzo,l'Institut,l'Institute,l'UFR,l'Union,l'Universite,la,las,les,na,nella,per,po,si,sue,sur,ta,tes,und,van,voor,zu,zum,zur" * } FUNCTION {upercase.first.letters}{ 't := "" 's := #1 'int := #1 'count := list.string 'v := "" 'b := title.lowerwords 'list.string := t text.length$ 'slen := {count slen = not } {t int #1 substring$ " " = { int #1 - 'int := t #1 int substring$ 'b := % if word not in title.lowerwords - uppercase first letter b is.in.list not { b "l" change.case$ b = { b "u" change.case$ "t" change.case$ 'b := } 'skip$ if$ } 'skip$ if$ int #1 + 'int := s b " " * * 's := int #1 + 'int := t int global.max$ substring$ 't := #0 'int := } 'skip$ if$ int #1 + 'int := count #1 + 'count := % "count=" count int.to.str$ * " slen=" * slen int.to.str$ * top$ } while$ v 'list.string := % last word is "t" and need to check it too s t t "l" change.case$ t = { "u" change.case$ "t" change.case$ } 'skip$ if$ * } FUNCTION {format.title} { title empty$ { "" } { title "article" type$ = type$ "techreport" = type$ "inbook" = type$ "inproceedings" = type$ "incollection" = type$ "phdthesis" = type$ "mastersthesis" = or or or or or or {"t" change.case$} { type$ "unpublished" = type$ "misc" = or 'skip$ 'upercase.first.letters if$ } if$ } if$ } FUNCTION {note.presented} { note #1 #9 substring$ "presented" = note #1 #9 substring$ "Presented" = or } FUNCTION {n.filter} { 't := "" { t empty$ not } { t #1 #1 substring$ "," = t #1 #1 substring$ "\" = t #1 #1 substring$ "~" = or or { "" * t #2 global.max$ substring$ 't := } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {byear} { duplicate$ empty$ { pop$ "" } { 't := t text.length$ 'sk := #5 sk = { t #1 #4 substring$ 's := t #5 #1 substring$ 'longest.label := longest.label is.num not {s "year" make.tag "nameyear" is.in.list {longest.label * } 'skip$ if$ } {t "year" make.tag } if$ } { t "year" make.tag "nameyear" is.in.list {extra.label *} 'skip$ if$ } if$ } if$ } FUNCTION {format.date} { year empty$ { "" } { year byear } if$ } FUNCTION {parens} { "(" swap$ * ")" * } FUNCTION {format.date.parens} { year empty$ { "" } { year byear parens } if$ } FUNCTION {format.month}{ month empty$ {""} {month sort.format.month "confdate" make.tag} if$ } FUNCTION {formatpatent.date} { year empty$ 'skip$ { month empty$ { year } {format.month " " * year *} if$ } if$ } FUNCTION {month.year.date} { year empty$ {""} { month empty$ {year byear} { format.month " " * year byear * } if$ type$ "inproceedings" = 'skip$ {"(" swap$ * ")" * } if$ } if$ } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {format.volume} { volume empty$ { "book" type$ = {number empty$ {""} {"vol. " number "seriesno" make.tag *} if$ } {""} if$ } {"vol. " volume "seriesno" make.tag *} if$ } FUNCTION {format.volume2} { volume empty$ {""} {"vol. " volume "seriesno" make.tag *} if$ } FUNCTION {format.art.vol} { volume empty$ {""} {volume n.filter "volume" make.tag} if$ number empty$ 'skip$ { "(" number "issue" make.tag * ")" * * } if$ } FUNCTION {format.series} { series empty$ 'skip$ {series "sertitle" make.tag} if$ } FUNCTION {format.edition} { edition empty$ { "" } { "" 'v := "" 'l := "" 'f := edition "l" change.case$ 's := "1" s = "first" s = or { "1" 'v := "st" 'l := } { "2" s = "second" s = or { "2" 'v := "nd" 'l := } { "3" s = "third" s = or { "3" 'v := "rd" 'l := } { "4" s = "fourth" s = or { "4" 'v := "th" 'l := } { "5" s = "fifth" s = or { "5" 'v := "th" 'l := } { "6" s = "sixth" s = or { "6" 'v := "th" 'l := } { "7" s = "seventh" s = or { "7" 'v := "th" 'l := } { "8" s = "eighth" s = or { "8" 'v := "th" 'l := } { "9" s = "nineth" s = or { "9" 'v := "th" 'l := } { edition "t" change.case$ 'f := } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ } if$ #0 bother = { f "" = { v l * 'f :=} 'skip$ if$ } { f "" = { "\bedition{" v * "}" * l * 'f :=} { "\bedition{" f * "}" * 'f :=} if$ } if$ f " edn." * } if$ } FUNCTION {format.isbn} { isbn empty$ { "" } { isbn "isbn" make.tag} if$ } INTEGERS {default.info} FUNCTION {multi.page.check} { 't := #0 'multiresult := "" 'l := {t empty$ not} { t #1 #1 substring$ 's := s is.num not { "" l = not {t find.integer {#1 'multiresult := } {#0 'multiresult := } if$ "" 't := } { t #2 global.max$ substring$ 't := } if$ } { l s * 'l := t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {clearpage} { 't := "" 's := "" 'l := { t empty$ not } { t #1 #1 substring$ 's := s is.num not 'skip$ { l s * 'l := } if$ t #2 global.max$ substring$ 't := } while$ l } FUNCTION {do.pages} {'t := "" 'j := "" 'v := {t empty$ not} { t #1 #1 substring$ 's := s is.num not s "," = not and { "" j = { t #2 global.max$ substring$ 't := } {t find.integer { t clearpage 'v := } 'skip$ if$ "" 't := } if$ } { j s * 'j := t #2 global.max$ substring$ 't := } if$ } while$ j clearpage 'j := j "fpage" make.tag "cnd" is.in.list 'skip$ {"--" * v "lpage" make.tag *} if$ } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check {type$ "article" = {""} {"cnd" is.in.list {"p. "} {"pp. "} if$ } if$ pages do.pages * } {type$ "article" = {""} {"p. "} if$ pages clearpage "fpage" make.tag * } if$ } if$ } FUNCTION {replace.tilde} { 't := "" { t empty$ not } { t #1 #1 substring$ "~" = { { t #1 #1 substring$ "~" = } { "\texttildelow " * t #2 global.max$ substring$ 't := } while$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {format.url} { url empty$ 'skip$ { type$ "article" = 'skip$ { #0 bother = { "\url{" } { "\burl{" } if$ url replace.tilde * "}" * output } if$ urldate empty$ 'skip$ { "Accessed " urldate * output } if$ } if$ } FUNCTION {publisher.month.pages}{ publisher empty$ series empty$ and { address empty$ 'skip$ 'new.sentence if$ format.pub.address pages empty$ 'skip$ {insert.comma} if$ format.pages output } { pages empty$ 'skip$ {insert.comma} if$ format.pages output publisher empty$ 'skip$ {new.sentence} if$ format.pub.address } if$ } function{process.doi}{ doi 't := "" 'b := #1 'int := % "doi =" t * top$ t text.length$ 'slen := {int slen = not } {t int #3 substring$ "10." = { t int #1 - #1 substring$ 'b := b "" = {"a" 'b :=} % if b is empty need to set a letter 'skip$ if$ b is.num not { t int slen int - #1 + substring$ 't := slen #1 - 'int := } 'skip$ if$ } 'skip$ if$ int #1 + 'int := } while$ t } FUNCTION {format.doi} { doi empty$ {""} { "nodoi" is.in.list {""} {"doi:\doiurl{" process.doi * "}" * } if$ } if$ } FUNCTION {format.in.ed.booktitle} { booktitle empty$ {#1 bother = "cnd" is.in.list not and { editor empty$ 'skip$ { "In: " output write$ format.editors } if$ } 'skip$ if$ } { editor empty$ { "In: " booktitle upercase.first.letters "btitle" make.tag * output} { "In: " output write$ format.editors "" %%% pushing empty string to the empty stack booktitle upercase.first.letters "btitle" make.tag output } if$ } if$ } FUNCTION {format.in.ed} { title empty$ 'skip$ { editor empty$ { title "btitle" make.tag output} { author empty$ { format.editors stupid.colon %format.date output title "btitle" make.tag output } { "In: " output write$ format.editors "" %%% pushing empty string to the empty stack title "btitle" make.tag output } if$ } if$ } if$ } FUNCTION {format.tr.number} { type empty$ { "Technical Report" } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {patent.number} { number empty$ 'skip$ { number } if$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.inpres} { "l" change.case$ 't := "in press: " #10 "in press. " #10 "in press " #9 t chop.word chop.word chop.word #1 global.max$ substring$ } FUNCTION {bcomment.note} { note empty$ 'skip$ {note format.inpres "comment" make.tag output} 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 empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.chapter.and.note} { note empty$ chapter empty$ organization empty$ and and 'skip$ { chapter empty$ "notnumber" last.label = or {organization empty$ { note "comment" make.tag output } { note empty$ { organization "comment" make.tag output } { organization ". " * note * "comment" make.tag output } if$ } if$ } { note empty$ { "Chap. " chapter * "comment" make.tag output} { type empty$ { "Chap. " } { type "t" change.case$ "Section" = { "Sect. " } { "Chap. " } if$ } if$ chapter * ". " * note * "comment" make.tag output } if$ } if$ } if$ } FUNCTION {item.end} { chapter empty$ type$ "unpublished" = not type$ "misc" = not and and { new.sentence format.doi output } 'skip$ if$ type$ "unpublished" = type$ "misc" = or { note empty$ 'skip$ {note.presented 'skip$ {new.sentence note output} if$ } if$ format.date.parens output } { new.sentence type$ "proceedings" = { author empty$ editor empty$ and 'bcomment.note 'format.chapter.and.note if$ } 'format.chapter.and.note if$ } if$ list.string 'v := default.list 'list.string := type$ ".isbn" * is.in.list "cnd" is.in.list or { new.sentence format.isbn output } 'skip$ if$ new.sentence eprint empty$ 'skip$ {"\arxivurl{" eprint * "}" * output} if$ chapter empty$ type$ "unpublished" = not type$ "misc" = not and and 'skip$ { new.sentence format.doi output } if$ new.sentence format.url v 'list.string := fin.entry } FUNCTION {insert.element} { #0 bother = { element "{botherref}" * write$ newline$} { type$ "article" = {element "{barticle}" * write$ newline$} 'skip$ if$ type$ "book" = type$ "proceedings" = type$ "manual" = type$ "booklet" = or or or {element "{bbook}" * write$ newline$} 'skip$ if$ type$ "inbook" = { "notnumber" last.label = {element "{bchapter}" * write$ newline$} {element "{bbook}" * write$ newline$} if$ } 'skip$ if$ type$ "incollection" = type$ "inproceedings" = type$ "conference" = or or {element "{bchapter}" * write$ newline$} 'skip$ if$ } if$ } FUNCTION {end.element} { "\end" 'element := item.end insert.element "\endbibitem" write$ newline$ } FUNCTION {begin.element} { "\begin" 'element := insert.element } function {set.options}{ options empty$ 'skip$ {options 'list.string :=} if$ } FUNCTION {settings} {} FUNCTION {article} { output.bibitem author empty$ institution empty$ editor empty$ and and journal empty$ or year empty$ or % above tagging rule means: % nead: (volume & (pages or number) ) or (doi [without volume, pages and number]) volume empty$ not pages empty$ not bnumber empty$ not or and volume empty$ pages empty$ bnumber empty$ and and doi empty$ not and or not or {#0 'bother :=} {#1 'bother :=} if$ begin.element author empty$ { editor empty$ 'skip$ {format.editors stupid.colon} if$ } { format.authors stupid.colon} if$ "cnd" is.in.list { journal empty$ {format.title "atitle" make.tag "title" output.check} {journal "jtitle" make.tag output} if$ } { format.title "atitle" make.tag "title" output.check journal empty$ 'skip$ {new.sentence journal "jtitle" make.tag output} if$ } if$ format.art.vol output pages empty$ 'skip$ {insert.comma} if$ format.pages output format.date.parens output end.element } FUNCTION {patent} { output.bibitem #0 'bother := begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ format.title "title" output.check add.period$ patent.number output insert.comma formatpatent.date output end.element } FUNCTION { other } { patent } FUNCTION {book} { output.bibitem author empty$ institution empty$ organization empty$ editor empty$ and and and title empty$ year empty$ or or {#0 'bother :=} { publisher empty$ address empty$ not and {#0 'bother :=} {#1 'bother :=} if$ } if$ begin.element author empty$ { editor empty$ 'skip$ {format.editors stupid.colon} if$ } { format.authors stupid.colon} if$ format.title "btitle" make.tag "title" output.check series empty$ { format.volume output insert.comma format.edition output } { edition empty$ 'skip$ 'insert.comma if$ format.edition output new.sentence format.series output insert.comma format.volume output } if$ publisher.month.pages format.date.parens output end.element } FUNCTION {booklet} {output.bibitem author empty$ title empty$ year empty$ howpublished empty$ or or or {#0 'bother :=} {#1 'bother :=} if$ begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ format.title "btitle" make.tag "title" output.check address empty$ publisher empty$ howpublished empty$ and and 'skip$ 'new.sentence if$ format.pub.address format.date.parens output end.element } FUNCTION {misc} {output.bibitem #0 'bother := begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ format.title "btitle" make.tag "title" output.check address empty$ publisher empty$ howpublished empty$ and and 'skip$ 'new.sentence if$ format.pub.address end.element } FUNCTION {inbook} { output.bibitem author empty$ institution empty$ organization empty$ editor empty$ and and and title empty$ year empty$ or or {#0 'bother :=} { publisher empty$ address empty$ not and {#0 'bother :=} {#1 'bother :=} if$ } if$ chapter empty$ { "" 'last.label :=} { chapter string.to.integer empty$ author empty$ not and { "notnumber" 'last.label :=} { "" 'last.label :=} if$ } if$ begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ "notnumber" last.label = { chapter "ctitle" make.tag output add.period$ } 'skip$ if$ format.in.ed series empty$ { insert.comma format.volume output insert.comma format.edition output new.sentence } { insert.comma format.edition output new.sentence format.series output volume empty$ 'skip$ 'insert.comma if$ format.volume output } if$ publisher.month.pages publisher empty$ address empty$ edition empty$ series empty$ pages empty$ volume empty$ and and and and and 'insert.comma 'skip$ if$ format.date.parens output end.element } FUNCTION {incollection} { output.bibitem author empty$ institution empty$ and booktitle empty$ title empty$ year empty$ or or or {#0 'bother :=} { publisher empty$ address empty$ not and {#0 'bother :=} {#1 'bother :=} if$ } if$ begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ "cnd" is.in.list { booktitle empty$ title empty$ not and { format.title "ctitle" make.tag "title" output.check new.sentence } 'skip$ if$ } { format.title "ctitle" make.tag "title" output.check title empty$ 'skip$ {new.sentence} if$ } if$ format.in.ed.booktitle series empty$ { format.volume output insert.comma format.edition output } { edition empty$ 'skip$ { insert.comma format.edition output } if$ new.sentence format.series output insert.comma format.volume output } if$ publisher.month.pages format.date.parens output end.element } FUNCTION {inproceedings} { output.bibitem author empty$ institution empty$ and title empty$ year empty$ or or {#0 'bother :=} {#1 'bother :=} if$ begin.element author empty$ 'skip$ {format.authors stupid.colon} if$ "cnd" is.in.list { booktitle empty$ title empty$ not and { format.title "ctitle" make.tag "title" output.check new.sentence } 'skip$ if$ } { format.title "ctitle" make.tag "title" output.check title empty$ booktitle empty$ not and 'skip$ {new.sentence} if$ } if$ format.in.ed.booktitle series empty$ 'skip$ {new.sentence format.series output} if$ volume empty$ address empty$ publisher empty$ and and 'skip$ 'insert.comma if$ format.volume output publisher.month.pages format.date.parens output end.element } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem author empty$ organization empty$ title empty$ year empty$ address empty$ or or or or {#0 'bother :=} {#1 'bother :=} if$ begin.element author empty$ { organization empty$ 'skip$ { organization "publisher" make.tag output.nonnull stupid.colon% add.period$ } if$ } { format.authors stupid.colon} if$ title empty$ 'skip$ {format.title "btitle" make.tag output} if$ edition empty$ {new.sentence} {insert.comma} if$ format.edition output edition empty$ 'skip$ {new.sentence} if$ author empty$ organization empty$ or 'skip$ { organization "publisher" make.tag output.nonnull insert.comma } if$ address empty$ 'skip$ {addresbmcart-biblio.sty11 KB
%% %% LaTeX 2e packagee for the processing of LaTeX2e files %% for the BioMed Central %% Additional commands for the processing of structured reference list %% %% Macros written by Vytas Statulevicius, VTeX, Lithuania %% for the BioMed Central %% Please submit bugs or your comments to vytas@vtex.lt %% %% The original distribution is located at: %% http://support.e-publications.org/bmc %% %% This class file loads standart "article.cls" with appropriate %% settings and then redefines layout according to BMC style %% A lot of efforts are done for the possibility of extraction of %% information from the LaTeX file %% %% You are free to use this style class as you see fit, provided %% that you do not make changes to the file. %% If you DO make changes, you are required to rename this file. %% %% It may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %% %% Bug fixes and changes: %% at end of file \def\bmc@common@bibl@date{2012/03/06} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bmcart-biblio}[\bmc@common@bibl@date additional macros for the bibliography tagging A++ XML DTD (VS)] % Default bibliography style: \def\bibliography@style{10} \def\bibliography@style@name{BMC Reference Style} \def\bibliography@key{bmc} % vykdoma tik pirma opcija (t.y. tai leidzia "permusti" opcija per % \documentclass[foo,..] \def\only@first#1{\@ifundefined{o@f@}{\def\o@f@{}#1}{}} \DeclareOption{undef} {\only@first{\def\bibliography@style{0}\def\bibliography@key{undef} \def\bibliography@style@name{undefined}}} \DeclareOption{basic} {\only@first{\def\bibliography@style{1}\def\bibliography@key{basic} \def\bibliography@style@name{Basic Springer}}} \DeclareOption{chemistry}{\only@first{\def\bibliography@style{2}\def\bibliography@key{chemistry} \def\bibliography@style@name{Chemistry}}} \DeclareOption{mathphys} {\only@first{\def\bibliography@style{3}\def\bibliography@key{mathphys} \def\bibliography@style@name{Math and Physical Sciences}}} \DeclareOption{aps} {\only@first{\def\bibliography@style{4}\def\bibliography@key{aps} \def\bibliography@style@name{American Physical Society}}} \DeclareOption{cs} {\only@first{\def\bibliography@style{5}\def\bibliography@key{cs} \def\bibliography@style@name{Computer Science}}} \DeclareOption{vancouver}{\only@first{\def\bibliography@style{6}\def\bibliography@key{vancouver} \def\bibliography@style@name{Vancouver}}} \DeclareOption{apa} {\only@first{\def\bibliography@style{7}\def\bibliography@key{apa} \def\bibliography@style@name{APA}}} \DeclareOption{chicago} {\only@first{\def\bibliography@style{8}\def\bibliography@key{chicago} \def\bibliography@style@name{Chicago}}} \DeclareOption{ams} {\only@first{\def\bibliography@style{9}\def\bibliography@key{ams} \def\bibliography@style@name{AMS}}} \DeclareOption{bmc} {\only@first{\def\bibliography@style{10}\def\bibliography@key{bmc} \def\bibliography@style@name{BMC Reference Style}}} \ProcessOptions* %%% Common macros: \def\xml@attr{\@ifnextchar[{\get@attr}{\get@attr[]}} \def\get@attr[#1]#2{#2} \let\betal@style\relax \def\common@pub@types{% \let\binstitute\@firstofone% \def\betal{{\betal@style et al.}}% \let\byear\@firstofone% \let\bfpage\@firstofone% \let\blpage\@firstofone% \let\binterref\xml@attr% \def\burl##1{{\csname burl@style\endcsname\surl{##1}}} \let\bcomment\@firstofone% \let\oauthor\@firstofone% \csname common@pub@types@hook\endcsname% } % Setting a "style" for a command: % \set@bibl@cmd{bvolume} == \def\bvolume#1{{\bvolume@style #1}} \def\set@bibl@cmd#1{\expandafter\def\csname #1\endcsname##1{{\csname #1@style\endcsname##1}}} \AtBeginDocument{\let\doiurlchapter\doiurl} %%% BibEditorName \def\xml@beditor#1{% \let\bprefix\@firstofone% \let\binits\@firstofone% \let\bsnm\@firstofone% \let\bparticle\@firstofone% \let\bsuffix\@firstofone% \let\bdegs\@firstofone% #1} %%% BibAuthorName \def\xml@bauthor#1{% \let\bprefix\@firstofone% \let\binits\@firstofone% % \let\bsnm\@firstofone% \def\bsnm##1{{\csname bsnm@style\endcsname##1}}% \let\bparticle\@firstofone% \let\bsuffix\@firstofone% \let\bdegs\@firstofone% #1} %%% bsertitle \def\xml@bsertitle{\@ifnextchar[{\@xml@bsertitle}{\@xml@bsertitle[]}} \def\@xml@bsertitle[#1]#2{{\csname bsertitle@style\endcsname #2}}% \def\xml@batitle{\@ifnextchar[{\@xml@batitle}{\@xml@batitle[]}} \def\@xml@batitle[#1]#2{{\csname batitle@style\endcsname #2}}% \def\xml@bctitle{\@ifnextchar[{\@xml@bctitle}{\@xml@bctitle[]}} \def\@xml@bctitle[#1]#2{{\csname bctitle@style\endcsname #2}}% \def\xml@bbtitle{\@ifnextchar[{\@xml@bbtitle}{\@xml@bbtitle[]}} \def\@xml@bbtitle[#1]#2{{\csname bbtitle@style\endcsname #2}}% %%% BibArticle % \begin{barticle} % ... % \end{barticle} \def\barticle{% \common@pub@types% \let\bauthor\xml@bauthor% \let\batitle\xml@attr% \set@bibl@cmd{bjtitle}% \set@bibl@cmd{bvolume}% \set@bibl@cmd{bissue}% \let\bnumber\@firstofone% } \def\endbarticle{} %%% BibIssue % \begin{bissue} % ... % \end{bissue} \def\bissue{% \common@pub@types% \let\bauthor\xml@bauthor% \set@bibl@cmd{bjtitle}% \set@bibl@cmd{bvolume}% \set@bibl@cmd{bissue}% \set@bibl@cmd{bmonth}% } \def\endbissue{} %%% BibChapter % \begin{bchapter} % ... % \end{bchapter} \def\bchapter{% \common@pub@types% \let\bauthor\xml@bauthor% \let\bctitle\xml@attr% \let\beditor\xml@beditor% \let\binstitutionaled\@firstofone% \def\beds{eds.}% \let\bbtitle\xml@bbtitle \let\bedition\xml@attr% \set@bibl@cmd{bconfname}% \set@bibl@cmd{bconflocation}% \set@bibl@cmd{bconfdate}% \let\bsertitle\xml@bsertitle% \set@bibl@cmd{bseriesno}% \let\bpublisher\@firstofone% \let\blocation\@firstofone% \let\bisbn\@firstofone% } \def\endbchapter{} %%% BibUnstructured % \begin{botherref} % ... % \end{botherref} \def\botherref{\let\binterref\xml@attr\let\oauthor\xml@bauthor\let\bauthor\xml@bauthor} \def\endbotherref{} %%% BibBook % \begin{bbook} % ... % \end{bbook} \def\bbook{% \common@pub@types% \let\bauthor\xml@bauthor% \let\beditor\xml@beditor% \let\binstitutionaled\@firstofone% \def\beds{eds.}% \let\bbtitle\xml@bbtitle \let\bedition\xml@attr% \let\bconfname\@firstofone% \let\bconflocation\@firstofone% \let\bconfdate\@firstofone% \let\bsertitle\xml@bsertitle% \set@bibl@cmd{bseriesno}% \let\bpublisher\@firstofone% \let\blocation\@firstofone% \let\bisbn\@firstofone% }% \def\endbbook{} %%% \let\endbibitem\relax %%%%%% vancouver puslapi nr. formavimas %% 17-19 -> 17-9 %% 17-21 -> 17-21 %% 1234-1345 -> 345 \def\vcr@bfpage#1{% #1\nobreak% \test@if@number{#1}% \let\blpage\@firstofone% \if@page@isnumber\ifnum#1>9\def\@vcr@bfpage{#1}\let\blpage\fmt@blpage\fi\fi} \def\fmt@blpage#1{% \test@if@number{#1}% \if@page@isnumber% \ifnum\@vcr@bfpage<#1% \vcr@blpage{#1}% \else% #1\@latex@error{sprbibl: [\cur@bibitem] \string\bfpage\space > \string\blpage!}{??}% \fi% \else% #1% \fi} % algoritmas % a) bfpage ir blpage daliname is 10 % b) if bfpage=blpage goto d % c) if bfpage<10 end else goto a % d) x:= blpage - int(blpage/10^i)*10^1 \def\vcr@blpage#1{% \@tempcnta=\@vcr@bfpage% \@tempcntb=#1% \@tempcntc=1% \def\control@cnt{1}% \@whilenum\control@cnt>0\do{% \divide\@tempcnta by10% \divide\@tempcntb by10% \multiply\@tempcntc by10% \ifnum\@tempcnta=\@tempcntb\def\control@cnt{0}\@tempswatrue% \else% \ifnum\@tempcnta<10\relax\def\control@cnt{0}\@tempswafalse\fi% \fi}% \if@tempswa% \@tempcnta=#1% \@tempcntb=#1% \divide\@tempcntb by\@tempcntc% \multiply\@tempcntb by\@tempcntc% \advance\@tempcnta by-\@tempcntb% \the\@tempcnta% \else% #1% \fi}% \newif\if@page@isnumber \def\test@if@number#1{% \@page@isnumberfalse% \setbox\@tempboxa=\hbox{\@tempcnta=0#1\relax\ignorespaces}% \ifdim\wd\@tempboxa>\z@\else\@page@isnumbertrue\fi} %%%%%% Set bibliography styles: \ifcase\bibliography@style\relax \message{^^J Reference style: \bibliography@style@name^^J}% \or % basic \message{^^J Reference style: \bibliography@style@name^^J}% \def\common@pub@types@hook{\def\betal{{\betal@style et al}}}% \or % chemistry \message{^^J Reference style: \bibliography@style@name^^J}% \or % mathphys \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bvolume}{style}{\bfseries} \or % aps \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bvolume}{style}{\bfseries} \setattribute{bbtitle}{style}{\itshape} \or % cs \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bvolume}{style}{\bfseries} \or % vancouver \message{^^J Reference style: \bibliography@style@name^^J}% \def\common@pub@types@hook{\let\bfpage\vcr@bfpage} \or % apa \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bjtitle}{style}{\itshape} \setattribute{bvolume}{style}{\itshape} \setattribute{bbtitle}{style}{\itshape} \setattribute{bsertitle}{style}{\itshape} \setattribute{bseriesno}{style}{\itshape} \or % chicago \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bbtitle} {style}{\itshape} \setattribute{bjtitle} {style}{\itshape} \setattribute{bsertitle}{style}{\itshape} \or % ams \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{batitle}{style}{\itshape}% \setattribute{bctitle}{style}{\itshape}% \g@addto@macro\barticle{\let\batitle\xml@batitle}% \setattribute{bvolume}{style}{\bfseries}% \setattribute{bseriesno}{style}{\bfseries}% \g@addto@macro\bbook{\setattribute{bbtitle}{style}{\itshape}}% \g@addto@macro\bchapter{\let\bctitle\xml@bctitle% \setattribute{bbtitle}{style}{\upshape}% }% \or % bmc \message{^^J Reference style: \bibliography@style@name^^J}% \setattribute{bvolume}{style}{\bfseries}% \setattribute{batitle}{style}{\bfseries\mathversion{bold}}% \g@addto@macro\barticle{\let\batitle\xml@batitle}% \setattribute{bjtitle}{style}{\itshape}% \setattribute{bbtitle}{style}{\itshape}% \setattribute{bsertitle}{style}{\itshape} \setattribute{bctitle}{style}{\bfseries\mathversion{bold}}% \g@addto@macro\bchapter{\let\bctitle\xml@bctitle}% \fi \endinputbmcart.cls54 KB
%% %% LaTeX 2e class file for the processing of LaTeX2e files %% for the BioMed Central %% %% Macros written by Vytas Statulevicius, VTeX, Lithuania %% for the BioMed Central %% Please submit bugs or your comments to vytas@vtex.lt %% %% The original distribution is located at: %% http://www.biomedcentral.com/authors/tex %% %% This class file loads standart "article.cls" with appropriate %% settings and then redefines layout according to BMC style %% A lot of efforts are done for the possibility of extraction of %% information from the LaTeX file %% %% You are free to use this style class as you see fit, provided %% that you do not make changes to the file. %% If you DO make changes, you are required to rename this file. %% %% It may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %% %% Bug fixes and changes: %% at end of file \def\bmcart@name{bmcart.cls} \def\bmcart@version{2014/01/24} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bmcart} [\bmcart@version BioMed Central class (VS)] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% General options: % Print id line at bottom of the page: \DeclareOption{noinfoline}{\AtBeginDocument{\let\info@line\@empty}} \DeclareOption{infoline} {\AtBeginDocument{\let\info@line\infoline@text}} % Put lines numbers in margins \newif\ifnumberlines@ \numberlines@false \DeclareOption{linenumbers}{\numberlines@true} \DeclareOption{nolinenumbers}{\numberlines@false} % Spacing \DeclareOption{doublespacing}{\AtBeginDocument{\renewcommand{\baselinestretch}{1.4}\large\normalsize}} \DeclareOption{singlespacing}{\AtBeginDocument{\renewcommand{\baselinestretch}{1.0}\large\normalsize}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading standart "article" class \PassOptionsToClass{twoside}{article} \PassOptionsToPackage{fleqn}{amsmath} \PassOptionsToPackage{sort&compress,numbers}{natbib} \PassOptionsToPackage{colorlinks,citecolor=blue,urlcolor=blue,linkcolor=blue,pagecolor=blue}{hyperref} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions* \LoadClass{article} %%% start of "vsfleqn2.sty" \newdimen\mathindent \AtEndOfClass{\mathindent\leftmargini} % \def\mathtrivlist{\parsep\parskip\topsep\abovedisplayskip \ifnum\@listdepth>0 \advance\mathindent by-\leftmargin\fi% \@trivlist \labelwidth\z@ \leftmargin\z@ \itemindent\z@ \def\makelabel##1{##1}} \def\endmathtrivlist{\endtrivlist} % \[ \] \renewcommand\[{\relax \ifmmode\@badmath \else \begin{mathtrivlist}% \@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty \item[]\leavevmode \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$ \hskip\mathindent\bgroup \fi} \renewcommand\]{\relax \ifmmode \egroup $\hfil% $ \egroup \end{mathtrivlist}% \else \@badmath \fi} % EQUATION \renewenvironment{equation}% {\@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty \refstepcounter{equation}% \mathtrivlist \item[]\leavevmode \hb@xt@\linewidth\bgroup $\m@th% $ \displaystyle \hskip\mathindent}% {$\hfil % $ \displaywidth\linewidth\hbox{\@eqnnum}% \egroup \endmathtrivlist} % EQNARRAY \renewenvironment{eqnarray}{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\mathindent \let\\=\@eqncr % \setlength\abovedisplayskip{\topsep}% % \ifvmode % \addtolength\abovedisplayskip{\partopsep}% % \fi % \addtolength\abovedisplayskip{\parskip}% % \setlength\belowdisplayskip{\abovedisplayskip}% \setlength\belowdisplayshortskip{\abovedisplayskip}% \setlength\abovedisplayshortskip{\abovedisplayskip}% $$\everycr{}\halign to\linewidth% $$ \bgroup \hskip\@centering $\displaystyle\tabskip\z@skip{##}$\@eqnsel&% \global\@eqcnt\@ne \hskip \tw@\arraycolsep \hfil${##}$\hfil&% \global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil \tabskip\@centering&% \global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup\tabskip\z@skip\cr}% {\@@eqncr \egroup \global\advance\c@equation\m@ne$$% $$ \@ignoretrue } %%% end of "vsfleqn2.sty" \RequirePackage{keyval} \RequirePackage{xcolor} \definecolor{bmcblue}{rgb}{0,0.2,0.4} \RequirePackage{lastpage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Modifications and "add-on" for article.cls starts: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initiate some info: %\def\journal@name{Submitted to BioMed Central} \let\journal@name\@empty \def\journal@url{http://www.biomedcentral.com/} \def\journal@id{-bmc} \def\paper@url{} \def\info@line{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Page dimensions %% dimensions: text \setlength\parindent {8\p@} \def\true@parindent {8\p@} \if@twocolumn \setlength\textheight {651\p@}% 648bp \setlength\textwidth {484\p@}% 170mm \else \setlength\textheight {653\p@}% 650.9bp \setlength\textwidth {361\p@}% 127mm \fi \setlength\columnsep {5mm} \@settopoint\columnsep \@tempdima=\textwidth \advance\@tempdima by-\columnsep \divide\@tempdima by2 \setlength\columnwidth {\@tempdima} \@settopoint\columnwidth \setlength\columnseprule{0\p@} \mathindent20\p@ %% dimensions: heads \setlength\headheight{12\p@} \setlength\headsep {44\p@} \setlength\topskip {14\p@} \setlength\footskip {2\p@} \setlength\maxdepth {.5\topskip} %% dimensions: side margins \setlength\topmargin {27\p@} % 12mm \if@twocolumn \setlength\oddsidemargin {57\p@}% 20mm gutter margin \setlength\evensidemargin {57\p@}% 20mm outer margin \else \setlength\oddsidemargin {118\p@}% 41.5mm gutter margin \setlength\evensidemargin {118\p@}% 41.5mm outer margin \fi \advance\oddsidemargin by-1in \advance\evensidemargin by-1in \advance\topmargin by-1in \def\set@fp@margins{% \setlength\oddsidemargin {179\p@}% 63mm first page gutter margin \setlength\evensidemargin {57\p@}% 20mm outer first page margin \advance\oddsidemargin by-1in \advance\evensidemargin by-1in } \if@twocolumn\else \let\set@fp@margin@hook\set@fp@margins \fi %% dimensions: skips \if@twocolumn \setlength\smallskipamount{6\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount {12\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount {18\p@ \@plus 6\p@ \@minus 3\p@} \else \setlength\smallskipamount{7\p@ \@plus 1\p@ \@minus 1\p@} \setlength\medskipamount {14\p@ \@plus 3\p@ \@minus 3\p@} \setlength\bigskipamount {22\p@ \@plus 6\p@ \@minus 3\p@} \fi %% dimensions: page-breaking penalties \clubpenalty=10000 \widowpenalty=10000 \if@twocolumn \displaywidowpenalty=50 \fi \predisplaypenalty=10000 % Breaking before a math display. \pretolerance=100 % Badness tolerance for the first pass (before hyphenation) \tolerance=800 % Badness tolerance after hyphenation \hbadness=800 % Badness above which bad hboxes will be shown \emergencystretch=3\p@ \hfuzz=1\p@ % do not be to critical about boxes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fontsizes \if@twocolumn \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt{12\p@ \@plus.25\p@ \@minus.4\p@}% \abovedisplayskip 12\p@ \@plus2\p@ \@minus2\p@ \abovedisplayshortskip 7\p@ \@plus2\p@ \belowdisplayshortskip 7\p@ \@plus2\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \else \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt{14.2\p@ \@plus.3\p@ \@minus.5\p@}% \abovedisplayskip 14.15\p@ \@plus2\p@ \@minus2\p@ \abovedisplayshortskip 7\p@ \@plus2\p@ \belowdisplayshortskip 7\p@ \@plus2\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \fi \renewcommand\small{% \@setfontsize\small\@ixpt{11\p@ plus .2\p@ minus .2\p@}% \abovedisplayskip 7.5\p@ \@plus4\p@ \@minus1\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip} \renewcommand\footnotesize{% \@setfontsize\footnotesize\@viiipt{9\p@ plus .1pt minus .1pt}%% \abovedisplayskip 6\p@ \@plus4\p@ \@minus1\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% setattribute, getattribute, do@option@list \def\setattribute{\@ifnextchar[\@setattribute{\@setattribute[]}} \def\@setattribute[#1]#2#3#4{\expandafter\gdef\csname #2@#3\endcsname{#4}} \def\getattribute#1#2{\csname #1@#2\endcsname} \def\sep@key@value#1=#2/?/#3{\setattribute{#3}{#1}{#2}} \def\do@option@list#1#2{% \@for\curr@option:={#2}\do{% \expandafter\sep@key@value\curr@option/?/{#1}\relax }% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% newpseudoenvironment % same as \newenvironment, but new environment do not have additional groups \bgroup \egroup % (i.e. all definitions are not local \let\org@begin\begin \let\org@end\end \def\begin#1{% \@ifundefined{pseudo@#1}% {\org@begin{#1}}{\csname pseudo@#1\endcsname[0]\relax}% } \def\end#1{% \@ifundefined{pseudo@#1}% {\org@end{#1}}{\csname pseudo@#1\endcsname[1]\relax}% } \def\newpseudoenvironment#1#2#3{% \expandafter\gdef\csname pseudo@#1\endcsname[##1]{% \relax\ifcase##1\relax\def\@@next@@{#2}\or\def\@@next@@{#3}\else\let\@@next@@\relax\fi\@@next@@}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% startlocaldefs, endlocaldefs \def\startlocaldefs{\makeatletter} \def\endlocaldefs{\makeatother} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% thanksref, thanksmark, thankslabel, thankstext % to be safe with hyperref we will use original LaTeX definitions: % \def\saferef#1{\expandafter\safe@setref\csname r@#1\endcsname\@firstoftwo{#1}} \let\safe@setref\@setref \def\safelabel#1{% \@ifundefined{thanksnewlabel@#1}% {\@bsphack\protected@write\@auxout{}{\string\thanksnewlabel{#1}{{\@currentlabel}{\thepage}}}\@esphack} {}% \@namedef{thanksnewlabel@#1}{}} \let\thanksnewlabel\newlabel % we want to use various counters: \def\usethankscounter#1{% \@ifundefined{current@thankscounter}{\gdef\previous@thankscounter{#1}}{\xdef\previous@thankscounter{\current@thankscounter}}% \def\current@thankscounter{#1}} \def\restorethankscounter{\xdef\current@thankscounter{\previous@thankscounter}} \newcounter{thanks} %\def\thethanks{\@fnsymbol\c@thanks} \def\thethanks{\@arabic\c@thanks} \usethankscounter{thanks} \def\thanksmark@fmt#1{\hbox{$^{#1}$}} \def\thanksref@sep{,} % hooks for the hyperref: \def\thankref@hyperlink#1{\saferef{#1thanks}} \def\thanks@hypertarget#1{} % Isvedame zymes \def\thanksref{\@ifnextchar[{\@tempswatrue\@thanksref}{\@tempswafalse\@thanksref[]}} \def\@thanksref[#1]#2{% \if@tempswa% [] \thanksmark@fmt{#1}% \else% \let\@tempa\@empty% \thanksmark@fmt{\@for\@tempb:=#2\do{% \@tempa\let\@tempa\thanksref@sep% \edef\@tempb{\expandafter\@firstofone\@tempb\@empty}% \thankref@hyperlink{\@tempb}}}% \fi} % Suformuojame ir isvedame zyme \def\thanksmark{\@ifnextchar[{\@tempswatrue\@thanksmark}{\@tempswafalse\@thanksmark[]}} \def\@thanksmark[#1]#2{% \@thankslabel[#1]{#2}% \safelabel{#2thanks}% \thanksmark@fmt{\expandafter\saferef{#2thanks}\thanks@hypertarget{#2}}} % Suformuojame tik zyme \def\thankslabel{\@ifnextchar[{\@tempswatrue\@thankslabel}{\@tempswafalse\@thankslabel[]}} \def\@thankslabel[#1]#2{% \if@tempswa% [] \protected@edef\@currentlabel{#1}% \else% \refstepcounter{\current@thankscounter}% \fi% \safelabel{#2thanks}}% % Suformuojame zyme ir idedame teksta i \@thanks: \def\thankstext{\@ifnextchar[{\@tempswatrue\@thankstext}{\@tempswafalse\@thankstext[]}} \def\@thankstext[#1]#2#3{% \@thankslabel[#1]{#2}% \protected@xdef\@thanks{\@thanks\protect\thanks@thefnmark{#2thanks}% \protect\@footnotetext{\thanks@hypertarget{#2}#3}}}% \def\thanks@thefnmark#1{\begingroup\unrestored@protected@xdef\@thefnmark{\saferef{#1}}\endgroup}% % ST makrosas savo numeracijos sistemos sukurimui \def\setvaluelist#1#2{\@tempcnta=0\relax \@for\@curr@val:=#2\do{% \advance\@tempcnta by1\relax \expandafter\protected@xdef\csname #1@item@\the\@tempcnta\endcsname{\@curr@val}% }% \expandafter\protected@xdef\csname #1@item@0\endcsname{\the\@tempcnta}% } \xdef\getitemvalue#1#2{\noexpand\csname #1@item@#2\endcsname} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ead, \printead \def\email@text{} \def\url@text{http://} \def\ead@sep{;~} % naudojame keyval paketa \define@key{ead}{email}[true]{\def\ead@type{email}} \define@key{ead}{url}[true]{\def\ead@type{url}} \define@key{ead}{label}{\def\ead@label{#1}} \DeclareRobustCommand\ead[2][label= ,email]{{% \def\ead@type{email}% default \setkeys{ead}{#1}% \def\texttildelow{\noexpand\texttildelow}% \protected@edef\@currentlabel{#2}% \safelabel{\ead@label @\ead@type}}} \newif\ifnot@ead@star \DeclareRobustCommand{\printead}{\@ifstar{\not@ead@starfalse\@printead}{\not@ead@startrue\@printead}} \def\@printead{\@ifnextchar[{\@tempswatrue\@@printead}{\@tempswafalse\@@printead[]}} \def\@@printead[#1]#2{% \if@tempswa% [] {\ead@size #1}% \else% \def\ead@type{email}% \def\ead@prefix{mailto:}% \let\ead@text\email@text% \let\@ead@sep\relax% \@for\ead@ref:=#2\do{% \@ead@sep\let\@ead@sep\ead@sep% \@ifundefined{r@\ead@ref @url}{}{\let\ead@text\url@text\def\ead@type{url}\def\ead@prefix{http://}}% \ifnot@ead@star\ead@text\fi{\ead@size\def\null{}\ims@href{\ead@prefix\saferef{\ead@ref @\ead@type}}{\saferef{\ead@ref @\ead@type}}}% \let\ead@text\relax}% \fi% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% normaltext, nohyphen, no@harm % normalus tekstas (justify) \def\normaltext{\let\\=\@normalcr% \leftskip\z@ \@rightskip\z@ \rightskip\@rightskip% \parfillskip\@flushglue} % skiemenavimo isjungimas \def\nohyphen{\pretolerance=\@M \tolerance=\@M \hyphenpenalty=\@M \exhyphenpenalty=\@M} \def\no@harm{\let\thanks=\@gobble\let\thanksref=\@gobble\let~\space\def\ead[##1]##2{}\let\\=\@empty \def\protect{\noexpand\protect\noexpand}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% url@fmt \def\journalurl#1{\def\journal@url{#1}} \def\paperurl#1{\def\paper@url{#1}} \def\doi#1{% \gdef\@doi{#1}% \gdef\doi@text{\url@fmt{DOI: }{\ttfamily}{#1}{\doi@base\@doi}}% } \def\@doi{} \def\doi@base{http://dx.doi.org/} % {url}{text} \def\ims@href#1#2{#2} % {prefix}{font}{text}{url} \def\url@fmt#1#2#3#4{% \edef\@tempa{#3}% \ifx\@tempa\@empty% \else% #1{#2\ims@href{#4}{#3}}% \fi} %%%%%%%%%%%%%%%%%%% doiurl \@ifundefined{doi@base}{\def\doi@base{http://dx.doi.org/}}{} \DeclareRobustCommand\doiurl[1]{{% \def\\{}% \check@doiurl@prefix#1http://\end% \check@doiurl@break#1\\\end\relax% \if@doiurlbreak% \@ifundefined{doi@url}{% \ims@href{\doi@base\@tempx\@tempy}{\csname doi@size\endcsname\@tempx}% \break% \ims@href{\doi@base\@tempx\@tempy}{\csname doi@size\endcsname\@tempy}}% {% \expandafter\ims@href{\@tempx\@tempy}{\csname doi@size\endcsname\@tempx}% \break% \ims@href{\@tempx\@tempy}{\csname doi@size\endcsname\@tempy}}% \else% \@ifundefined{doi@url}% {\ims@href{\doi@base#1}{\csname doi@size\endcsname #1}}% {\ims@href{#1}{\csname doi@size\endcsname #1}}% \fi}} \def\check@doiurl@prefix#1http://#2\end{\ifx.#2.\else\def\doi@url{fullurl}\fi} \newif\if@doiurlbreak \@doiurlbreakfalse \def\check@doiurl@break#1\\#2\end{% \ifx.#2.\@doiurlbreakfalse% \else% \@doiurlbreaktrue% \def\@tempx{#1}% \def\@tempy{#2}% \fi} %%%%%%%%%%%%%%%%%%% arxivurl %% \arxivurl{http://arxiv.org/abs/math.PR/0603300} %% \arxivurl{math.PR/0603300} %% \arxivurl{http://\\arxiv.org/abs/math.PR/0603300} %% \arxivurl{math.PR/\\0603300} \@ifundefined{arxiv@base}{\def\arxiv@base{http://arxiv.org/abs/}}{} \DeclareRobustCommand\arxivurl[1]{{% \def\\{}% \check@arxivurl@prefix#1http://\end% \check@arxivurl@break#1\\\end\relax% \if@arxivurlbreak% \@ifundefined{arxiv@url}{% \ims@href{\arxiv@base\@tempx\@tempy}{\csname arxivurl@size\endcsname\@tempx}% \break% \ims@href{\arxiv@base\@tempx\@tempy}{\csname arxivurl@size\endcsname\@tempy}}% {% \expandafter\ims@href{\@tempx\@tempy}{\csname arxivurl@size\endcsname\@tempx}% \break% \ims@href{\@tempx\@tempy}{\csname arxivurl@size\endcsname\@tempy}}% \else% \@ifundefined{arxiv@url}% {\ims@href{\arxiv@base#1}{\csname arxivurl@size\endcsname #1}}% {\ims@href{#1}{\csname arxivurl@size\endcsname #1}}% \fi}} \def\check@arxivurl@prefix#1http://#2\end{\ifx.#2.\else\def\arxiv@url{fullurl}\fi} \newif\if@arxivurlbreak \@arxivurlbreakfalse \def\check@arxivurl@break#1\\#2\end{% \ifx.#2.\@arxivurlbreakfalse% \else% \@arxivurlbreaktrue% \def\@tempx{#1}% \def\@tempy{#2}% \fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RUNNING HEADS \def\runtitle#1{\gdef\@runtitle{#1}} \def\runauthor#1{\gdef\@runauthor{#1}\global\let\copauthor\@runauthor} \def\@runauthor{} \def\@lastpage{0} \def\thepage@fmt#1{Page #1 of \@lastpage} \def\thepage@fmt#1{Page #1 of \pageref{LastPage}} \def\headline@hook{} \let\ps@copyright@hook\relax % normal RH \def\ps@bmcheadings{% \def\etal{\textit{et al.}}% \let\@mkboth\@gobbletwo% \def\@evenfoot{\csname footline@hook\endcsname\hfill}% \let\@oddfoot\@evenfoot \def\@oddhead{\headline@hook\hskip-\rhindent@width\hbox to\z@{\parbox[t]{\textarea@width}{\runninghead@size\runninghead@text}\hss}\hfill}% \let\@evenhead\@oddhead% }% % First page RH \def\ps@copyright{\csname set@fp@margin@hook\endcsname% \def\etal{\textit{et al.}}% \let\@mkboth\@gobbletwo% \def\@evenhead{\ps@copyright@hook\headline@hook\hskip-\leftarea@width\parbox[t]{\textarea@width}{\copyright@size\copyright@text}\hfill}% \let\@oddhead\@evenhead% \def\@oddfoot{\csname footline@hook\endcsname\hfill\hfill}% \let\@evenfoot\@oddfoot} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LIST ENVIRONMENTS \parsep\z@ \topsep\z@ \partopsep\z@ \itemsep\z@ \labelsep.5em \def\@listI{\leftmargin\leftmargini \parsep\z@ \topsep\z@ \itemsep\z@} \def\list@parindent{8\p@} \def\labelenumi{\theenumi\hskip6\p@} % quotation \let\quotation@size\normalsize \def\quotation@itemindent{\list@parindent} \def\quotation@parindent{\list@parindent} \def\quotation@leftmargin{\list@parindent} \let\quotation@rightmargin\z@ \let\quotation@topsep\smallskipamount \def\quotation{% \list{}{\quotation@size% \listparindent\quotation@parindent% \itemindent \quotation@itemindent% \rightmargin\quotation@rightmargin \leftmargin\quotation@leftmargin% \partopsep\z@ \topsep\quotation@topsep \parsep\z@% }% \item[\Q@strut]\relax} \def\endquotation{\endlist} \def\Q@strut{\leavevmode\hbox{\vrule height9pt depth1pt width0pt}} % quote \let\quote@size\normalsize \def\quote@indent{\z@} \def\quote@leftmargin{2pc} \def\quote@rightmargin{\z@} \let\quote@topsep\smallskipamount \def\quote{% \list{}{\quote@size% \listparindent\quote@indent% \itemindent \listparindent% \rightmargin\quote@rightmargin \leftmargin\quote@leftmargin% \partopsep\z@ \topsep\quote@topsep \parsep\z@% }% \item\relax} \def\endquote{\endlist} \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep\z@ \parsep\z@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep\z@ \parsep z@ \partopsep\z@ \itemsep\topsep} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TABLE, FIGURE % settings for table caption \setattribute{floatcaption} {size}{\footnotesize\bfseries\mathversion{bold}\raggedright} \setattribute{floatcaptionname}{size}{\bfseries} \setlength\abovecaptionskip{0\p@} \setlength\belowcaptionskip{4\p@} \long\def\@makecaption#1#2{ \vskip\abovecaptionskip \parbox[t]{\hsize}{\floatcaption@size{\floatcaptionname@size #1}\hskip.5em #2\par}% \vskip\belowcaptionskip} \def\@floatboxreset{% \reset@font \footnotesize \sffamily \@setminipage \centering } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIGURE - in box \newbox\bmcfloat@box \newif\if@figurestar \setattribute{figure}{sep}{6.25\p@} \def\figure{\@figurestarfalse\@ifnextchar[{\@figure}{\@figure[t]}} \def\@figure[#1]{\def\figure@pars{#1}% \def\@captype{figure}% \def\csentence##1{{\mathversion{bold}\bfseries ##1}}% % \csname @figure@hook\endcsname% % \let\@makecaption\@makefigurecaption% % \let\@floatboxreset\figure@boxreset% \setbox\bmcfloat@box=\vbox\bgroup\figure@settings} \def\endfigure{% \par% \egroup% \edef\reserved@a{\noexpand\@xfloat{figure}[\figure@pars]} \reserved@a\makefigure@float\end@float } \DeclareRobustCommand\fig@textbf[1]{{\floatcaptionname@size #1}}% \def\figure@settings{% \let\textbf\fig@textbf% \setattribute{floatcaption}{size}{\footnotesize\sffamily\raggedright} \if@figurestar\hsize=\textwidth\fi% \@tempdima\hsize% \advance\@tempdima by-\figure@sep% \advance\@tempdima by-\figure@sep% \hsize\@tempdima% \parindent\z@% \centering% \setlength\abovecaptionskip{6\p@}% \setlength\belowcaptionskip{0\p@}% } \def\makefigure@float{ \setlength{\fboxsep}{\figure@sep}% \setlength{\fboxrule}{0.25\p@}% \fcolorbox{bmcblue}{white}{\box\bmcfloat@box}} \@namedef{figure*}{\@figurestartrue\@ifnextchar[{\@figure}{\@figure[t]}} \@namedef{endfigure*}{% \egroup% \edef\reserved@a{\noexpand\@xdblfloat{figure}[\figure@pars]} \reserved@a\makefigure@float\end@dblfloat } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FOOTNOTE \def\footnoterule{\kern-3\p@ \hrule \@width \footnoterule@width \kern 2.6\p@} % the \hrule is .4pt high \let\orig@footnoterule\footnoterule \renewcommand\@makefntext[1]{\noindent\parindent8\p@\@makefnmark #1} \def\@makefnmark{\csname makefnmark@hook\endcsname\@textsuperscript{\normalfont[\@thefnmark]}}% % hook for hyperref \def\@makefntext@fmt#1{\@makefnmark} \def\freefootnotetext[#1]{% \begingroup\unrestored@protected@xdef\@thefnmark{#1}\endgroup\@footnotetext} \def\footnote@size{\fontsize{7}{8}\raggedright} \long\def\@footnotetext#1{\insert\footins{% \reset@font\footnote@size \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MAIN SETTINGS - COMMON FOR 1 and 2 col's layouts \setattribute{frontmatter} {style} {\raggedright} \setattribute{address} {style} {\raggedright} \setattribute{affiliation} {style} {\raggedright} \setattribute{abstract} {style} {\raggedright} \setattribute{keyword} {style} {\normaltext\raggedright} \setattribute{backmatter} {style} {\raggedright} % FRONT MATTER SKIPS %\setattribute{dochead} {skip} {-\topskip} \setattribute{title} {skip} {\z@} \setattribute{subtitle} {skip} {5\p@} \setattribute{authors} {skip} {10\p@} \setattribute{note} {skip} {8\p@} \setattribute{copyright} {skip} {23\p@} \setattribute{address} {skip} {4\p@ plus 2\p@} \setattribute{history} {skip} {\Smallskipamount} \setattribute{abstract} {skip} {0\p@} \setattribute{keyword} {skip} {5\p@} \setattribute{abbr} {skip} {\medskipamount} \setattribute{frontmatter} {skip} {\bigskip} \setattribute{copyrightlogo}{cmd}{} % FRONT MATTER FONTS \setattribute{dochead} {size} {\sffamily\fontsize{13pt}{13pt}\bfseries\selectfont\color{white}} \setattribute{title} {size} {\sffamily\fontsize{24pt}{26pt}\selectfont\raggedright} \setattribute{subtitle} {size} {\sffamily\fontsize{20pt}{22pt}\selectfont\raggedright} \setattribute{author} {size} {\sffamily\fontsize{11pt}{14pt}\selectfont\raggedright} \setattribute{address} {size} {} \setattribute{note} {size} {\sffamily\fontsize{10pt}{13pt}\selectfont\raggedright} \setattribute{thanksbox} {size} {\sffamily\fontsize{7pt}{9pt}\selectfont\raggedright} \setattribute{history} {size} {\mdseries} \setattribute{abstract} {size} {\sffamily\fontsize{10}{12}\selectfont} \setattribute{abstractname}{size} {\bfseries} \setattribute{keyword} {size} {\sffamily\fontsize{10}{12}\selectfont} \setattribute{keywordname} {size} {\bfseries} \setattribute{runninghead} {size} {\sffamily\fontsize{8}{10}\selectfont} \setattribute{footline} {size} {\sffamily\fontsize{7}{8}\selectfont} \setattribute{copyright} {size} {\sffamily\fontsize{8}{10}\selectfont} \setattribute{backmatter} {size} {\sffamily\fontsize{7}{9}\selectfont\raggedright} \setattribute{ead} {size} {} % COPYRIGHT TEXT, etc. \setattribute{address} {text} {Author details} \setattribute{corref} {text} {Correspondence: } \setattribute{authorinfo} {text} {Full list of author information is available at the end of the article\endgraf} \setattribute{presentaddress} {text} {\textit{Present address: }} \setattribute{copyright} {text} {\@runauthor\ \textit{\journal@name}} \setattribute{runninghead} {text} {\@runauthor\ \textit{\journal@name} \hfill \thepage@fmt{\thepage}} \setattribute{footline} {text} {\textcopyright\ \@copyrt\ \copyrightowner@text} \setattribute{pdfsubject} {text} {\journal@name} % URL \setattribute{article} {url} {} % SEPARATIONS \setattribute{author} {sep} {, } \setattribute{authorand} {sep} {~and } \setattribute{address} {sep} {. } % KEYWORDS \setattribute{keyword} {AMS} {AMS Subject Classification} \setattribute{keyword} {MSC} {Mathematics Subject Classification} \setattribute{keyword} {MSC2010} {Mathematics Subject Classification (2010)} \setattribute{keyword} {MSCnoyear}{Mathematics Subject Classification} \setattribute{keyword} {KWD} {Keywords} \setattribute{keyword} {JEL} {JEL Classification} \setattribute{keyword} {PACS} {PACS Codes} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FRONT MATTER FORMATTING PARAMETERS % FRONT MATTER SKIPS \if@twocolumn \setattribute{abstractbox} {skip} {24\p@} \else \setattribute{abstractbox} {skip} {-1\p@} \fi \setattribute{frontmatter} {cmd} {% \frontmatter@skip% \global\@afterindentfalse% \@afterheading} % FRONT MATTER DIMENSIONS \setattribute{textarea} {width} {484\p@} %170mm 1 puslapio maksimalus plotis \if@twocolumn \setattribute{leftarea} {width} {\z@} \setattribute{rhindent} {width} {\z@} \else \setattribute{leftarea} {width} {122\p@} %38mm+5mm=43mm \setattribute{rhindent} {width} {61\p@} %21.5mm = 41.5-20 rh issikisimas normaliuose puslapiuose \fi \setattribute{leftcol} {width} {108\p@} %38mm 1 puslapio isnasu dezutes plotis \setattribute{colsep} {width} {14\p@} %5mm \if@twocolumn \setattribute{footnoterule}{width} {\columnwidth}% \else \setattribute{footnoterule}{width} {\textwidth}% \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FRONTMATTER % COUNTERS, ETC \newcounter{author} \newcounter{address} \newdimen\sv@mathsurround \let\hy@frontmatter\relax \let\hy@endfrontmatter\relax \def\frontmatter{% \global\c@author\z@ \global\c@address\z@ % \thispagestyle{copyright}% % \csname frontmatter@hook \endcsname% \sv@mathsurround\mathsurround% \m@th \set@frontmatter@cmd \set@frontmatter@keys \parindent\z@ \frontmatter@style \hy@frontmatter \ignorespaces} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENDFRONTMATTER \def\endfrontmatter{% \global\@topnum\z@ % \@thanks% % \write@pdfinfo{\hy@fauthor}{\csname fauthor@\firstauthor@id\endcsname} \write@pdfinfo{\hy@author}{\the\authors@list} \write@pdfinfo{\hy@subject}{\pdfsubject@text} \write@pdfinfo{\hy@keywords}{\the\keywords@list} % \hy@endfrontmatter % \immediate\write\@mainaux{\string\global\string\@namedef{num@address}{\the\c@address}}% \immediate\write\@mainaux{\string\global\string\@namedef{num@author}{\the\c@author}}% \set@authorcorref@notset% % \global\mathsurround\sv@mathsurround \global\let\@thanks\@empty % \set@runauthor % \csname frontmatter@hook\endcsname% \aftergroup\frontmatter@cmd \aftergroup\insert@thanksbox } \if@twocolumn \def\insert@thanksbox{\insert\footins{\unvbox\thanks@box}} \else \let\insert@thanksbox\relax \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \set@frontmatter@cmd \def\set@frontmatter@cmd{% \let\maketitle\relax \let\fmbox\bmc@fmbox \let\endfmbox\bmc@endfmbox \let\dochead\bmc@dochead \let\title\bmc@title \let\subtitle\bmc@subtitle \let\author\bmc@author \let\address\bmc@address \let\artnotes\bmc@artnotes \let\endartnotes\bmc@endartnotes \let\abstractbox\bmc@abstractbox \let\endabstractbox\bmc@endabstractbox \let\abstract\bmc@abstract \let\endabstract\bmc@endabstract \let\keyword\bmc@keyword \let\endkeyword\bmc@endkeyword \let\thanksbox\bmc@thanksbox \let\endthanksbox\bmc@endthanksbox } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FMBOX \newif\if@fmbox \@fmboxfalse \newbox\fm@box \def\bmc@fmbox{% \setbox\fm@box=\vbox\bgroup \@fmboxtrue \hsize=\textarea@width } \def\bmc@endfmbox{% \par \auto@set@thanksbox% \csname endfmbox@hook\endcsname% \egroup% \if@twocolumn \emergencystretch=1pc \twocolumn[\box\fm@box\medskip] \else \hbox to\textwidth{\hss\box\fm@box} \vskip\abstract@skip \vbox to\z@{\llap{\box\thanks@box\hskip\colsep@width}\vss} \fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DOCHEAD \let\dochead@hook\relax \def\bmc@dochead{\@ifnextchar[{\dochead@fmt}{\dochead@fmt[]}} \def\dochead@fmt[#1]#2{% \bgroup% \@tempdima=\hsize% \advance\@tempdima by-8\p@% \setlength{\fboxsep}{4\p@}% \setlength{\fboxrule}{\z@}% \fcolorbox{bmcblue}{bmcblue}{\hbox to\@tempdima{\dochead@size\MakeUppercase{#2}\hfill\fontshape{n}\selectfont\smash{\dochead@hook}}} \egroup} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TITLE \let\PREHOOK@title@fmt\@gobble \def\bmc@title{\@ifnextchar[{\title@fmt}{\title@fmt[]}} \def\title@fmt[#1]#2{% \vskip\title@skip% \setkeys{title}{#1}% \bgroup% \no@harm% \let\protect\relax% \xdef\@runtitle{#2}% \egroup% \bgroup% \no@harm% \let\protect\relax% \xdef\@argi{#2}% \egroup% \write@pdfinfo{\hy@title}{\@argi}% \bgroup \PREHOOK@title@fmt{#2}% \title@size\csname pretitle@text\endcsname #2\par% \egroup} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SUBTITLE \def\bmc@subtitle{\@ifnextchar[{\subtitle@fmt}{\subtitle@fmt[]}} \def\subtitle@fmt[#1]#2{% \vskip\subtitle@skip \setkeys{title}{#1}% \bgroup% \subtitle@size #2\par% \egroup} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% set@frontmatter@keys \def\set@frontmatter@keys{% \@tempcnta=0\relax% \@ifundefined{num@address}{}{\@tempcnta=\num@address\relax}% \ifnum\@tempcnta=1\relax% % \define@key{author}{addressref}{}% % \define@key{author}{presentaddressref}{}% \define@key{author}{corref}{}% \global\let\address@thanksref\@gobble \global\let\printaddresses\relax \fi% \@tempcnta=0\relax% \@ifundefined{num@author}{}{\@tempcnta=\num@author\relax}% \ifnum\@tempcnta=1\relax% \global\@namedef{num@address}{1} % \define@key{author}{addressref}{}% % \define@key{author}{presentaddressref}{\expandafter\gdef\csname presentaddressref@##1\endcsname{}}% % \gdef\printauthor##1{\unskip}% \global\let\address@thanksref\@gobble \global\let\printaddresses\relax \global\let\corref@thanksmark\@gobble \global\let\corref@thanksref\@gobble \fi% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \thanksmark etc \def\thanksmark@fmt#1{{\textsuperscript{#1}}} \def\thethanks{\getitemvalue{bmcsymbol}{\@arabic\c@thanks}} \setvaluelist{bmcsymbol}{*,\textdagger,\^{}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AUTHOR - keys % \author[id=au1,addressref={aff1,aff2},presentaddressref=aff3,corref={aff1,aff2},thanksref={t1}]{\inits{}\fnm{} \snm{} \suffix{}\ead{}} % \author@au1 =\inits \snm \suffix % \fauthor@au1=\fnm \snm \suffix % \corref@au1 =\corref@text % % automatiniam formatavimui: % \def\addressref@aff1{} % \emaillist@au1 ={e1,e2} % \authorslist@aff1 ={au1,au2} % \authorslist@present@aff1 ={au1,au2} % \correflist@au1 ={aff1,aff2} % \authors@id@list ={au1,au2,au3...} % % tikriname ar nebuvo panaudotas id: \def\check@xx@id#1#2{\@ifundefined{#1@#2}{}{\@latex@error{Command <#1>: id=#2 was allready used!}{}}} \newif\ifauthor@corref \newif\ifauthor@email \define@key{author}{id}{% \def\author@id{#1}% \check@xx@id{author}{#1}% \@ifundefined{authors@id@list}{\xdef\authors@id@list{#1}}{\xdef\authors@id@list{\authors@id@list,#1}}} \define@key{author}{email}{% \author@emailtrue% \ead[label=\author@id]{#1}} \define@key{author}{thanksref}{% % \current@thanksref@list={aff1,aff2} % \def\thanksref@aff1{} \edef\current@thanksref@list{#1}% \@for\thanksref@id:=#1\do{\expandafter\gdef\csname thanksref@\thanksref@id\endcsname{}}} % alias for thanksref \define@key{author}{noteref}{% % \current@thanksref@list={aff1,aff2} % \def\thanksref@aff1{} \edef\current@thanksref@list{#1}% \@for\thanksref@id:=#1\do{\expandafter\gdef\csname thanksref@\thanksref@id\endcsname{}}} \define@key{author}{addressref}{% % \current@address@list={aff1,aff2} % \def\addressref@aff1{} \edef\current@address@list{#1}% \@for\addressref@id:=#1\do{\expandafter\gdef\csname addressref@\addressref@id\endcsname{}}} \define@key{author}{presentaddressref}{% % \current@address@list={aff1,aff2}% % \def\presentaddressref@aff1{}% \@ifundefined{addressref@#1}{\edef\current@paddress@list{#1}}{}% \@for\addressref@id:=#1\do{\expandafter\gdef\csname presentaddressref@\addressref@id\endcsname{}}% \@for\addressref@id:=#1\do{\expandafter\gdef\csname addressref@\addressref@id\endcsname{}}} \define@key{author}{corref}[]{% % \corref@list={aff1,aff2}% \global\let\set@authorcorref@notset\relax% \global\author@correftrue% \ifx.#1.\else\xdef\corref@list{#1}\fi% } \def\add@to@addressref@list#1{\@ifundefined{addressref@list}{\edef\addressref@list{#1}}{\edef\addressref@list{\addressref@list, #1}}} \def\add@to@thanksref@list#1{\@ifundefined{thanksref@list}{\edef\thanksref@list{#1}}{\edef\thanksref@list{\thanksref@list, #1}}} \def\set@authorcorref@notset{\immediate\write\@mainaux{\string\global\string\authorcorref@notsettrue}} \def\set@author@lists{% \let\thanksref@list\relax% \let\addressref@list\relax% \@ifundefined{current@address@list}{}{\add@to@addressref@list{\current@address@list}}% \@ifundefined{current@paddress@list}{}{\add@to@addressref@list{\current@paddress@list}}% \@ifundefined{current@thanksref@list}{}{\add@to@thanksref@list{\current@thanksref@list}}% } \def\print@author@lists{% \@ifundefined{addressref@list}{}{\address@thanksref{\addressref@list}}% \ifauthor@corref\def\thanksref@sep{}\corref@thanksref{\corr@author@id}\fi% \@ifundefined{thanksref@list}{}{\def\thanksref@sep{}\thanksref{\thanksref@list}}% } \let\address@thanksref\thanksref \let\corref@thanksref\thanksref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% AUTHOR % if corref is not set, we will use first author with an email as a corresponding author % \corr@author@id -> {au1} % \corref@list -> {aff1,aff2} \newif\ifauthorcorref@notset \authorcorref@notsetfalse \def\bmc@author{\@ifnextchar[{\author@fmt}{\author@fmt[]}} \def\author@fmt[#1]#2{% \stepcounter{author}{% \csname author@cmd\endcsname% \author@correffalse% \xdef\author@id{au\the\c@author}% \setkeys{author}{#1}% \@ifundefined{num@author}{\@tempcnta=10\relax}{\@tempcnta=\num@author\relax}% \def\a@sep{, }% \ifnum\@tempcnta>1\relax% \ifnum\c@author=\@tempcnta% \let\a@sep\authorand@sep% \else% \let\a@sep\author@sep% \fi% \fi% % \ifauthorcorref@notset% \ifauthor@email% email is set \author@correftrue% \global\authorcorref@notsetfalse% \fi% \fi% \ifauthor@corref% \xdef\corr@author@id{\author@id}% \@ifundefined{corref@list}% {\@ifundefined{current@address@list}{}{\xdef\corref@list{\current@address@list}}}% {}% \fi% % \ifnum\c@author=1 \author@fmt@init \let\a@sep\relax \xdef\first@author@id{\author@id}\fi% \bgroup% F. Author \def\inits##1{##1}\def\fnm##1{}\def\snm##1{##1}\def\particle##1{##1}\def\suffix##1{##1}% \no@harm% \xdef\author@arg{#2}% \egroup% \expandafter\protected@xdef\csname author@\author@id\endcsname{\author@arg}% \bgroup% First Author \def\inits##1{}\def\fnm##1{##1}\def\particle##1{##1}\def\snm##1{##1}\def\suffix##1{##1}% \no@harm% \xdef\author@arg{#2}% \ifnum\c@author=1\addto@authors@list{#2}\xdef\firstauthor@id{\author@id}\else\addto@authors@list{, #2}\fi% \egroup% \expandafter\protected@xdef\csname fauthor@\author@id\endcsname{\author@arg}% \bgroup% Author \def\inits##1{}\def\fnm##1{\ignorespaces}\def\particle##1{}\def\snm##1{##1}\def\suffix##1{}% \no@harm% \expandafter\xdef\csname runauthor@\the\c@author @snm\endcsname{#2}% \egroup% \bgroup% \author@size% \def\inits##1{}\def\fnm##1{##1}\def\snm##1{##1}\def\particle##1{##1}\def\suffix##1{##1}% \set@author@lists% \a@sep\authorname@fmt{#2}\print@author@lists% \egroup}% \ignorespaces} \def\author@fmt@init{% \vskip\authors@skip% \author@size% \leavevmode} \def\authorname@fmt#1{#1} \def\set@runauthor{% \ifnum\c@author=1\relax \gdef\@runauthor{\@nameuse{runauthor@1@snm}}% \else \ifnum\c@author=2\relax \gdef\@runauthor{\@nameuse{runauthor@1@snm} and \@nameuse{runauthor@2@snm}}% \else \@ifundefinereferences.bib500 B
@book{darwin1859, author = {Darwin, Charles}, title = {On the Origin of Species by Means of Natural Selection}, publisher = {John Murray}, address = {London}, year = {1859} } @article{doudna2014, author = {Doudna, Jennifer A. and Charpentier, Emmanuelle}, title = {The New Frontier of Genome Engineering with CRISPR-Cas9}, journal = {Science}, volume = {346}, number = {6213}, pages = {1258096}, year = {2014}, doi = {10.1126/science.1258096} }main.pdfprebuilt · 96 KBReplaced by the first recompile.
Binary file, seeded as-is.
main.synctex.gzprebuilt · 6.1 KBReplaced by the first recompile.
Binary file, seeded as-is.