I’ve found an answer to my first problem. The functions, that print out the names in the list, are defined in publ-imp-author.mkvi. I copied the responsible function to publ-imp-iso690.mkiv, edited one line (see code below) and everything works as intended. Tomáš % publ-imp-iso690.mkiv \startbtxrenderingdefinitions[iso690] \definebtx [iso690] [ default=default, specification=iso690, ] \definebtxrendering [iso690] [ specification=iso690, numbering=yes, ] \setupbtx[default:list] [ authorconversion=inverted, ] % field definitions \starttexdefinition btx:iso690:author \btxdoif {author} { \btxflush{author} \btxperiod } \stoptexdefinition % book definition \startsetups btx:iso690:list:book \texdefinition{btx:iso690:author} \removeunwantedspaces \stopsetups % surname to small caps in list \startsetups \s!btx:\s!list:\s!author:inverted \fastsetup{\s!btx:\s!list:\s!author:concat} \ifx\currentbtxvons\empty \else \texdefinition{\s!btx:\s!cite:\s!author:\s!de} \doifnotmode {\s!btx:\s!de} { \currentbtxvons \btxparameter{\c!separator:vons} } \fi \ifx\currentbtxsurnames\empty \else \WORDS{\currentbtxsurnames} % <-- changed line \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \ifx\currentbtxfirstnames\empty % firstnames are optional \else \btxparameter{\c!separator:invertedfirstnames} \currentbtxfirstnames \fi \ifx\currentbtxvons\empty \else \doifmode {\s!btx:\s!de} { \btxparameter{\c!separator:vons} \currentbtxvons } \fi \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups