저자 제목의 하이픈(giveninits=true로 biblatex 및 biber 사용)

저자 제목의 하이픈(giveninits=true로 biblatex 및 biber 사용)

이는 후속 조치입니다.미코의 질문로 저자의 제목을 지정하는 방법에 대해 알아보세요 giveninits=true. 하이픈을 포함하지 않는 제목에 대해 작동하는 두 가지 답변이 발견되었습니다.

이제 "Dr.-Ing."이라는 제목을 고려해 보겠습니다. 두 답변 모두 하이픈 앞에 추가 점이 표시됩니다.

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
    author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr.-Ing. R}},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {moewe's answer}
}
@unpublished{tet-skript-mico,
    author = {{{\relax Prof. Dr.-Ing. R}olf} Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {Mico's answer}
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

스크린샷

답변으로 게시할 해결 방법 중 하나를 알고 있습니다. 그러나 사용자 정의 명령을 정의하고 tex 파일에 bib 파일의 종속성을 생성해야 하기 때문에 마음에 들지 않습니다.

누군가 더 나은 해결책을 알고 있습니까?

답변1

왜 작동하는지 잘 모르겠지만 에서 점을 제거하면 Dr-Ing.추가된 점을 사용하여 원하는 결과를 얻을 수 있습니다.

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
    author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr-Ing. R}},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {moewe's answer}
}
@unpublished{tet-skript-mico,
    author = {{{\relax Prof. Dr-Ing. R}olf} Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
    note   = {Mico's answer}
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

이는 Mico와 moewe의 솔루션 모두에서 작동합니다.

여기에 이미지 설명을 입력하세요

답변2

명령에 하이픈을 넣으면 추가 점이 삽입되는 것을 방지할 수 있습니다.

나는 하이픈의 catcode가 여기서 다른 것으로 고정되어 활성화될 수 없기 때문에 이것이 작동한다고 가정합니다. Moewe의 의견에 따르면거스브르스의 대답이는 "TeX 명령을 확장하지 않는 Biber가 삽입을 수행"하기 때문에 작동합니다.

명령 주위에 중괄호가 왜 필요한지 잘 모르겠지만, 중괄호가 없으면 오류가 발생합니다.

해당 버팀대의 위치는 다음을 기준으로 합니다.미코의 대답.

\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript,
    author = {{\Prof{} \DrIng{} R}olf Schuhmann},
    title  = {Skriptum zu den {V}orlesungen 
              {T}heoretische {E}lektrotechnik {I} und {II}},
    date   = {2013-12-17},
}
\end{filecontents*}


\documentclass{article}

\usepackage[backend=biber, firstinits=true]{biblatex}
\addbibresource{mybib.bib}

\newcommand{\DrIng}{Dr.-Ing.\@}
\newcommand{\Prof}{Prof.\@}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보