更改 authoryear biblatex-style 中年份字段的位置

更改 authoryear biblatex-style 中年份字段的位置

我应该让这个书目风格适应日文版的 JSME-Journal。

在此处输入图片描述

我已经对authoryear风格进行了很多修补,但有两件事我无法正确完成:

  1. 放置(年)总是在前面,页或者出版商,以防万一最后没有得到所有的东西
  2. 获取不。大写?

有任何想法吗?

这就是我得到的成果:

\documentclass{article}
\usepackage{filecontents}

\RequirePackage[
    natbib, 
    style=authoryear,           
    maxnames = 99,
    maxcitenames = 1,
    uniquelist=false,
    url=false,
    isbn=false,
    sorting=nyt,                
    abbreviate=true,            
    firstinits=true,            
    backend=biber,              
    bibencoding=utf8,           
]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}

\renewcommand*{\multinamedelim}{\addspace\addcomma\addspace}
\renewcommand*{\finallistdelim}{\addspace\addcomma\addspace}
\renewcommand*{\labelnamepunct}{\addcomma\addspace}
\renewcommand*{\finentrypunct}{}


\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit{\addcomma\space}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}


\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{subtitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{booksubtitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[periodical]{issuetitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{number}{\bibstring{number}\addnbspace#1}
\DeclareFieldFormat*{volume}{\bibstring{jourvol}\addnbspace#1}

\renewcommand*{\labelalphaothers}{}
\renewcommand*{\intitlepunct}{}
\DefineBibliographyStrings{german}{in={}}
\DefineBibliographyStrings{english}{in={}}

\begin{filecontents*}{\jobname.bib}
@ARTICLE{Sun,
author={Yanhua Sun and Yick-Sing Ho and Lie Yu},
journal={IEEE Transactions on Magnetics},
title={Dynamic Stiffnesses of Active Magnetic Thrust Bearing Including Eddy-Current Effects},
year={2009},
month={Jan},
volume={45},
number={1},
pages={42-142},
}
@book{Moon,
  title={Field Theory Handbook},
  author={Moon, P. and Spencer, D.E.},
  year={1961},
  location={Berlin, Heidelberg},
  publisher={Springer}
}
@InProceedings{Kucera,
  author    = {Kucera, Ladislav and Ahrens, Markus},
  title     = {A Model for Axial Magnetic Bearings Including Eddy Currents},
  booktitle = {Third International Symposium on Magnetic Suspension Technology},
  year      = {1996},
  volume    = {45},
  number    = {2},
  month     = {Jul},
  pages     = {421-437},
}
\end{filecontents*}

\bibliography{\jobname.bib} 
\begin{document}
\cite{Sun,Moon,Kucera}
\printbibliography
\end{document}

在此处输入图片描述

答案1

你可以用bibstyle=authortitlecitestyle=authoryear作为基础。那么年份已经临近尾声了。

然后使用

\renewbibmacro*{in:}{}

\newbibmacro*{pubinstorg+location+date}[1]{%
  \setunit{\addspace}%
  \usebibmacro{date}%
  \newunit
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit\newblock
  \printlist{#1}%
  \newunit}

\renewbibmacro*{organization+location+date}{\usebibmacro{pubinstorg+location+date}{organization}}
\renewbibmacro*{institution+location+date}{\usebibmacro{pubinstorg+location+date}{institution}}
\renewbibmacro*{publisher+location+date}{\usebibmacro{pubinstorg+location+date}{publisher}}

\renewbibmacro*{chapter+pages}{}

\renewbibmacro*{date}{\printtext[parens]{\printdate}}
\renewbibmacro*{issue+date}{%
  \printtext[parens]{%
    \printfield{issue}%
    \setunit*{\addspace}%
     \printdate}%
  \newunit}

对于体积和数量的大写,请使用

\DeclareFieldFormat*{number}{\bibsentence\bibstring{number}\addnbspace#1}
\DeclareFieldFormat*{volume}{\bibsentence\bibstring{jourvol}\addnbspace#1}

完整 MWE

\documentclass{article}
\usepackage{filecontents}

\RequirePackage[
  natbib, 
  citestyle=authoryear,           
  bibstyle=authortitle,
  sorting=nyt,
  maxnames = 99,
  maxcitenames = 1,
  uniquelist=false,
  uniquename=false,
  url=false,
  isbn=false,
  abbreviate=true,            
  giveninits=true,            
  backend=biber,              
]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}

\renewcommand*{\multinamedelim}{\addspace\addcomma\addspace}
\renewcommand*{\finallistdelim}{\multinamedelim}
\renewcommand*{\labelnamepunct}{\newunitpunct}
\renewcommand*{\finentrypunct}{}


\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit{\addcomma\space}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}


\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{subtitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{booksubtitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[periodical]{issuetitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{number}{\bibsentence\bibstring{number}\addnbspace#1}
\DeclareFieldFormat*{volume}{\bibsentence\bibstring{jourvol}\addnbspace#1}

\renewcommand*{\labelalphaothers}{}
\renewcommand*{\intitlepunct}{}

\renewbibmacro*{in:}{}

\newbibmacro*{pubinstorg+location+date}[1]{%
  \setunit{\addspace}%
  \usebibmacro{date}%
  \newunit
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit\newblock
  \printlist{#1}%
  \newunit}

\renewbibmacro*{organization+location+date}{\usebibmacro{pubinstorg+location+date}{organization}}
\renewbibmacro*{institution+location+date}{\usebibmacro{pubinstorg+location+date}{institution}}
\renewbibmacro*{publisher+location+date}{\usebibmacro{pubinstorg+location+date}{publisher}}

\renewbibmacro*{chapter+pages}{}

\renewbibmacro*{date}{\printtext[parens]{\printdate}}
\renewbibmacro*{issue+date}{%
  \printtext[parens]{%
    \printfield{issue}%
    \setunit*{\addspace}%
     \printdate}%
  \newunit}

\begin{filecontents*}{\jobname.bib}
@ARTICLE{Sun,
author={Yanhua Sun and Yick-Sing Ho and Lie Yu},
journal={IEEE Transactions on Magnetics},
title={Dynamic Stiffnesses of Active Magnetic Thrust Bearing Including Eddy-Current Effects},
year={2009},
month={Jan},
volume={45},
number={1},
pages={42-142},
}
@book{Moon,
  title={Field Theory Handbook},
  author={Moon, P. and Spencer, D.E.},
  year={1961},
  location={Berlin, Heidelberg},
  publisher={Springer}
}
\end{filecontents*}

\addbibresource{\jobname.bib} 
\begin{document}
\cite{Sun,Moon}
\printbibliography
\end{document}

请注意,没有必要

\DefineBibliographyStrings{german}{in={}}
\DefineBibliographyStrings{english}{in={}}

再也没有了。

相关内容