From biblatex 3.12 onwards, you can use \DeclareNameWrapperFormat and \DeclareListWrapperFormat to formt the complete output of a (name) list field (\DeclareNameFormat and \DeclareListFormat only format a single item). See https://github.com/plk/biblatex/issues/754 and https://github.com/plk/biblatex/pull/829.
So if you want to print the author (or editor and translator in author position) in square brackets, you can simply use
\DeclareNameWrapperFormat{sortname}{\mkbibbrackets{#1}}
In full
\documentclass{article}
\usepackage[
backend=biber,
style=authoryear-icomp,
]{biblatex}
\renewcommand*{\mkbibnamefamily}{\textsc}
\DeclareNameWrapperFormat{sortname}{\mkbibbrackets{#1}}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}
\DeclareFieldFormat{journaltitle}{#1}
\setlength{\bibitemsep}{0.5\baselineskip}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
![[Sigfridsson, Emma and Ulf Ryde] (1998). Comparison of methods for deriving atomic charges from the electrostatic potential and moments. In: Journal of Computational Chemistry 19.4, pp. 377–395. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.](../../images/6fe4c6ad50c4c529666ac0e0a8effecd.webp)
Since you mention dinat in your question, I suspect you actually want something slightly different. We can try and recreate the bibliography format of dinat, which introduces each entry with an author-year label, with biblatex-ext.
\documentclass{article}
\usepackage[
backend=biber,
citestyle=ext-authoryear-icomp,
bibstyle=ext-authortitle,
sorting=nyt,
introcite=plain,
]{biblatex}
\DeclareFieldFormat{bbx@introcite}{\mkbibbrackets{#1}}
\DeclareDelimAlias*[bbx@introcite]{nameyeardelim}[parencite]{nameyeardelim}
\UndeclareInnerCiteDelims{bbx@introcite}
\renewcommand*{\introcitepunct}{\quad}
\renewcommand*{\mkbibnamefamily}{\textsc}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}
\DeclareFieldFormat{journaltitle}{#1}
\setlength{\bibitemsep}{0.5\baselineskip}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
![[Sigfridsson and Ryde 1998] Sigfridsson, Emma and Ulf Ryde. Comparison of methods for deriving atomic charges from the electrostatic potential and moments. In: Journal of Computational Chemistry 19.4 (1998), pp. 377–395. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.](../../images/a8b8220b489895cd69dd0de5da4ee0b9.webp)
You can read more about introcite in the biblatex-ext documentation (pp. 15-19).
If you prefer square brackets for \parencite/\autocite, have a look at \DeclareOuterCiteDelims.
The
\DeclareListFormat{author}{\mkbibbrackets{#1}}
had no effect, since author is a name list, whose format needs to be set up with \DeclarNameFormat (and \DeclareNameWrapperFormat). Declarations using the incorrect field type (\DeclareListFormat{author} and \DeclareFieldFormat{author}) are silently ignored.
\DeclareNameFormat{author}{\mkbibbrackets{#1}}
would not have been ignored, but would not have produced the desired output, either, since name formats are quite special and don't work with the usual #1.
biblatex(at least v3.12, in particular the system run on Overleaf is much too old for that), the code block could simply be replaced with\DeclareNameWrapperFormat{author}{\mkbibbrackets{#1}}, though I would use\DeclareNameWrapperFormat{sortname}{\mkbibbrackets{#1}}, so thateditors andtranslators in the same position are treated the same way. – moewe Jun 30 '19 at 10:19