\setupbtxlist
[default]
[align={normal,verytolerant,stretch},
before={\blank[quarterline]},after={\blank[quarterline]},
numberalign=middle,
width=2.5em] % width 居然列表编号宽度,若设为 fit,则列表内容左侧不齐
\definebtx
[default:list:numbering]
[default:list]
[left={[},right={]}]
\setupbtx
[default:list:author]
[authorconversion=invertedshort,
separator:invertedinitials=\btxspace,
otherstext={\nospace,et al},
stopper:initials=\btxspace,
separator:names:2={\nospace,}]
\setupbtx[default:list:journal][style=normal]
\definebtx
[default:title:online]
[default:list:title]
\startsetups btx:default:list:article
\texdefinition{btx:default:author}\nospace.
\texdefinition{btx:default:title} [J].
\texdefinition{btx:default:journal}.
\stopsetups
\startsetups btx:default:list:online
\texdefinition{btx:default:author}\nospace.
\texdefinition{btx:default:title}.
\texdefinition{btx:default:url},
\btxdoif {year} {
\btxflush{year}.
}
\stopsetups
\starttexdefinition btx:default:url
「\underbar{\goto{\hyphenatedurl{\btxflush{url}}}
[url(\btxflush{url})]}」
\stoptexdefinition
\starttexdefinition btx:default:author
\btxflush{author}
\stoptexdefinition
\starttexdefinition btx:default:title
\btxflush{title}
\stoptexdefinition
\starttexdefinition btx:default:journal
\btxdoif {journal} {
\btxstartstyleandcolor [default:list:journal]
\btxusecommand [default:list:journal] {
\btxflush{journal},
}
\btxstopstyleandcolor
\btxdoif {year} {
\btxflush{year},\nospace
}
\btxdoifelse {volume} {
\btxspace
\btxflush{volume}
\btxdoif {number} {
\ignorespaces % brrr
\btxleftparenthesis
\btxflush{number}
\btxrightparenthesis
}
} {
\btxdoif {number} {
\btxlabeltext{default:number}
\btxspace
\btxflush{number}
}
}
\btxdoif {pages} {
\nospace:\kern-.1em\btxflush{pages}
}
}
\stoptexdefinition