本文整理汇总了Python中pybtex.style.template.join函数的典型用法代码示例。如果您正苦于以下问题:Python join函数的具体用法?Python join怎么用?Python join使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了join函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: format_address_organization_publisher_date
def format_address_organization_publisher_date(
self, e, include_organization=True):
"""Format address, organization, publisher, and date.
Everything is optional, except the date.
"""
# small difference from unsrt.bst here: unsrt.bst
# starts a new sentence only if the address is missing;
# for simplicity here we always start a new sentence
if include_organization:
organization = optional_field('organization')
else:
organization = None
return first_of[
# this will be rendered if there is an address
optional [
join(sep=' ') [
sentence[
field('address'),
date,
],
sentence[
organization,
optional_field('publisher'),
],
],
],
# if there is no address then we have this
sentence[
organization,
optional_field('publisher'),
date,
],
]
示例2: format_volume_and_series
def format_volume_and_series(self, e, as_sentence=True):
volume_and_series = optional [
words [
'volume', field('volume'), optional [
words ['of', field('series')]
]
]
]
number_and_series = optional [
words [
join(sep=Symbol('nbsp')) ['number', field('number')],
optional [
words ['in', field('series')]
]
]
]
series = optional_field('series')
result = first_of [
volume_and_series,
number_and_series,
series,
]
if as_sentence:
return sentence(capfirst=False) [result]
else:
return result
示例3: format_proceedings
def format_proceedings(self, e):
template = toplevel [
first_of [
# there are editors
optional [
join(' ')[
self.format_editor(e),
sentence [
self.format_btitle(e, 'title', as_sentence=False),
self.format_volume_and_series(e, as_sentence=False),
self.format_address_organization_publisher_date(e),
],
],
],
# there is no editor
optional_field('organization'),
sentence [
self.format_btitle(e, 'title', as_sentence=False),
self.format_volume_and_series(e, as_sentence=False),
self.format_address_organization_publisher_date(
e, include_organization=False),
],
],
sentence(capfirst=False) [ optional_field('note') ],
]
return template.format_data(e)
示例4: format_url
def format_url(self, e):
# based on urlbst format.url
return href [
field('url'),
join(' ') [
'http',
]
]
示例5: format_url
def format_url(self, e):
# based on urlbst format.url
return href [
field('url'),
join(' ') [
'URL:',
field('url')
]
]
示例6: format_chapter_and_pages
def format_chapter_and_pages(self, e):
return join(sep=', ') [
field('title', apply_func=dquote),
words [
optional [words ['chapter', field('chapter'), 'of']],
tag('emph') [field('booktitle')]
],
optional [words ['pages', pages]],
]
示例7: format_doi
def format_doi(self, e):
# based on urlbst format.doi
return href [
join [
'http://dx.doi.org/' ,
field('doi')
#field('doi')
],
join(' ') [
'doi'
]
]
示例8: format_editor
def format_editor(self, e, as_sentence=True):
editors = self.format_names('editor', as_sentence=False)
if 'editor' not in e.persons:
# when parsing the template, a FieldIsMissing exception
# will be thrown anyway; no need to do anything now,
# just return the template that will throw the exception
return editors
if len(e.persons['editor']) > 1:
word = 'editors'
else:
word = 'editor'
result = join(sep=', ') [editors, word]
if as_sentence:
return sentence(capfirst=False) [result]
else:
return result
示例9: format_volume_and_series
def format_volume_and_series(self, e):
volume_and_series = optional [
sentence(capfirst=False, sep=' ') [
'Volume', field('volume'), optional [
words ['of', field('series')]
]
]
]
number_and_series = optional [
sentence(capfirst=False, sep=' ') [
join(sep=Symbol('nbsp')) ['Number', field('number')],
optional [
words ['in', field('series')]
]
]
]
series = optional [ sentence(capfirst=False) [field('series')] ]
return first_of [
volume_and_series,
number_and_series,
series,
]
示例10: names
def names(children, data, role, **kwargs):
assert not children
persons = data.persons[role]
return join(**kwargs)[[NameStyle().format(person, abbr=True)
for person in persons]].format_data(data)
示例11: format_chapter_and_pages
def format_chapter_and_pages(self, e):
return join(sep=', ') [
optional [words ['chapter', field('chapter')]],
optional [words ['pages', pages]],
]
示例12: format_isbn
def format_isbn(self, e):
return join(sep=' ') [ 'ISBN', field('isbn') ]
示例13: toplevel
def toplevel(children, data):
return join(sep=Symbol('newblock')) [children].format_data(data)
示例14: toplevel
def toplevel(children, data):
return join(sep=' ') [children].format_data(data)