diff --git a/src/main/java/org/jabref/logic/bibtexkeypattern/BracketedPattern.java b/src/main/java/org/jabref/logic/bibtexkeypattern/BracketedPattern.java index 25f214ab164..2dc994a4f2e 100644 --- a/src/main/java/org/jabref/logic/bibtexkeypattern/BracketedPattern.java +++ b/src/main/java/org/jabref/logic/bibtexkeypattern/BracketedPattern.java @@ -811,8 +811,11 @@ public static String authEtal(String authorField, String delim, } else if (tokens.length > 2) { author.append(append); } - - return author.toString(); + if (author.toString().split("\\s")[1].charAt(0) == '{') { + return author.toString().split("\\s")[1].replace("EtAl", ""); + } else { + return (author.toString().split("\\s")[1]); + } } /** diff --git a/src/test/java/org/jabref/model/entry/AuthorTest.java b/src/test/java/org/jabref/model/entry/AuthorTest.java index 046c602b1e3..0d855441a8c 100644 --- a/src/test/java/org/jabref/model/entry/AuthorTest.java +++ b/src/test/java/org/jabref/model/entry/AuthorTest.java @@ -4,6 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.jabref.logic.bibtexkeypattern.BibtexKeyGenerator; + class AuthorTest { @Test @@ -39,4 +41,12 @@ void addDotIfAbbreviationDoNotAddDot() { assertEquals("Moore, O. and O. Moore", Author.addDotIfAbbreviation("Moore, O. and O. Moore")); assertEquals("Moore, O. and O. Moore and Moore, O. O.", Author.addDotIfAbbreviation("Moore, O. and O. Moore and Moore, O. O.")); } + + @Test + public void testAuthEtAlBraces() { + assertEquals("{\\v{S}}pan{\\v{e}}l", + BibtexKeyGenerator.authEtal("Patrik {\\v{S}}pan{\\v{e}}l and Kseniya Dryahina and David Smith", "", "EtAl")); + assertEquals("\\v{S}pan\\v{e}lEtAl", + BibtexKeyGenerator.authEtal("Patrik \\v{S}pan\\v{e}l and Kseniya Dryahina and David Smith", "", "EtAl")); + } }