Seite 1 von 1
Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 00:17
von ChemSim
Hallo zusammen,
ich bin gerade dabei, den
numeric-comp style von
biblatex nach meinen Bedürfnissen anzupassen. Dies gelingt auch soweit ganz gut. Beim Typ
article habe ich mit
\DeclareFieldFormat[article]{pages}{#1}
bereits den Zusatz "S." bei der Ausgabe der Seitenzahlen entfernt und mit
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
auch den Zusatz "In:" vor dem Journal. Diese Änderungen klappen auch wunderbar.
\begin{filecontents}{literatur.bib}
@Article{Rudd1968,
author = {Rudd, Dale F.},
journal = {AlChE J.},
title = {The synthesis of system designs: I. Elementary decomposition theory},
year = {1968},
pages = {343-349},
volume = {14},
langid = {english},
}
\end{filecontents}
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
% === Literaturverzeichnis === %
\usepackage{csquotes}
\usepackage[hyphens]{url}
\usepackage[hidelinks]{hyperref}
\urlstyle{same}
\usepackage[backend=biber, citestyle=numeric-comp, giveninits=true, autolang=other]{biblatex}
\addbibresource{literatur.bib}
% kein "S." bei Verwendung von article
\DeclareFieldFormat[article]{pages}{#1}
% kein "In:" bei Verwendung von article
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
\begin{document}
Lorem.\cite{Rudd1968}
\printbibliography
\end{document}
Nun möchte ich die Ausgabe weiter anpassen, sodass ich am Ende
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\begin{document}
D. F. Rudd, "The synthesis of system designs: I. Elementary decomposition theory", \textit{AlChE J.} \textbf{1968}, \textit{14}, 343--349.
\end{document}
erhalte. Ich möchte also die Klammern um die Jahreszahl 1968 entfernen und diese fett schreiben, das Volume 14 hinter die Jahreszahl und kursiv schreiben.
Gibt es da eine Möglichkeit?
Gruß
ChemSim
Re: Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 07:21
von MoeWe
Ist die gewünschte Ausgabe nicht ziemlich genau das, was Dir
chem-angew aus Deinem anderen Diskussionsfaden (
viewtopic.php?p=120700#p120700) geben würde? (Ich übersehe hier ganz sicher etwas. Aber selbst wenn es nicht ganz dasselbe ist, scheint
chem-angew näher an dem zu sein, was Du möchtest, als das, was Du zur Zeit hast.) Gibt es einen Grund, warum Du mit
numeric-comp statt
chem-angew arbeiten möchtest?
Die gezeigte Redefinition von
in: basiert übrigens auf einer veralteten Version des Makros. Heutzutage ist es wie folgt definiert (
biblatex.def, Z. 2928-2930)
\newbibmacro*{in:}{%
\bibstring{in}%
\printunit{\intitlepunct}}
Dann wäre Deine Anpassung
\renewbibmacro*{in:}{%
\ifentrytype{article}
{}
{\bibstring{in}%
\printunit{\intitlepunct}}}
Mit
biblatex-ext kann man sich das übrigens direkt sparen. Da nimmt man dann
style=ext-numeric-comp statt
style=numeric-comp und nimmt die Option
articlein=false dazu.
Re: Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 11:44
von ChemSim
Hallo MoeWe,
das hast Du richtig erkannt, die gewünschte Ausgabe habe ich bereits mit dem
chem-angew Stil erreicht, jedoch muss ich für ein Buchprojekt die Einträge
article,
book,
patent und
inreference anpassen. Wenn ich
chem-angew verwende, passt das zwar für die
article und
book, jedoch nicht für die anderen. Ich dachte daher, dass es sinnvoller wäre, einen eher allgemeinen Stil wie
numeric-comp zu nutzen, und diesen dann nach meinen Wünschen für die jeweiligen Einträge umzubasteln. Oder macht es mehr Sinn, basierend auf
chem-angew die Anpassungen für
patent und
inreference vorzunehmen?
Deine weiteren Anmerkungen habe ich nun so umgesetzt:
\begin{filecontents}{literatur.bib}
@Article{Rudd1968,
author = {Rudd, Dale F.},
journal = {AlChE J.},
title = {The synthesis of system designs: I. Elementary decomposition theory},
year = {1968},
pages = {343-349},
volume = {14},
langid = {english},
}
\end{filecontents}
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
% === Literaturverzeichnis === %
\usepackage{csquotes}
\usepackage[hyphens]{url}
\usepackage[hidelinks]{hyperref}
\urlstyle{same}
\usepackage[backend=biber, style=ext-numeric-comp, giveninits=true, autolang=other, articlein=false]{biblatex}
\addbibresource{literatur.bib}
% kein "S." bei Verwendung von article
\DeclareFieldFormat[article]{pages}{#1}
\begin{document}
Lorem.\cite{Rudd1968}
\printbibliography
\end{document}
Re: Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 15:22
von MoeWe
Grundsätzlich empfehle ich in der Tat, eher einen der Standardstile (oder biblatex-ext-Stile) als Grundlage für einen eigenen Stil zu nehmen, als einen der vielen auf CTAN oder anderswo erhältlichen und auf eine bestimmte Aufgabe zugeschnittenen Stile. Letztere sind nämlich nicht immer mit einem Aspekt auf Anpassbarkeit entwickelt worden.
Die biblatex-chem-Stile sind aber im Vergleich zu anderen Stilen nicht sehr komplex und eignen sich daher zum größten Teil auch recht gut als Basis für einen eigenen Stil.
Vielleicht inventarisierst Du mal, welche Änderungen mit chem-angew und welche mit ext-numeric-comp notwendig wären. Dann kannst Du vielleicht besser abschätzen, welchen der Stile Du als Basis nehmen möchtest. (Wenn Du die einzelnen Anpassungen gut beschreiben kannst und etwas Glück beim Googeln hast, findest Du vielleicht auch schon einige Ansätze.)
Re: Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 18:23
von ChemSim
MoeWe hat geschrieben: ↑Mi 28. Dez 2022, 15:22
Die
biblatex-chem-Stile sind aber im Vergleich zu anderen Stilen nicht sehr komplex und eignen sich daher zum größten Teil auch recht gut als Basis für einen eigenen Stil.
Ich habe hier mal ein Minimalbeispiel gebaut, welches meine Wünsche besser darstellen soll. Bei der Verwendung von
chem-angew sind die Einträge
article und
book bereits so, wie ich es mir vorstelle. Da ich in der Arbeit jedoch noch auch
inreference und
patent verwende, müssen diese Einträge noch angepasst werden.
Für den Eintrag
patent würde es für den Anfang schonmal reichen, den Titel und den Assignee anzuzeigen (das habe ich auch durch Googeln nicht herausgefunden, wie das geht). Für
inreference fehlt ebenfalls der Titel.
\begin{filecontents}{literatur.bib}
@Article{Rudd1968,
author = {Rudd, Dale F.},
journal = {AlChE J.},
title = {The synthesis of system designs: I. Elementary decomposition theory},
year = {1968},
pages = {343-349},
volume = {14},
}
@Book{Arpe2007,
author = {Arpe, Hans-Jürgen},
publisher = {Wiley-VCH},
title = {Industrielle Organische Chemie -- Bedeutende Vor- und Zwischenprodukte},
year = {2007},
address = {Weinheim},
edition = {6},
}
@Patent{Petrosky1988,
number = {US 4922043A},
year = {1988},
assignee = {Vulcan Material Company},
author = {J. T. Petrosky},
title = {Manufacture of methyl chloride by hydrochlorinating methanol, using a split methanol feed},
}
@InReference{Ohligschlaeger2019,
author = {André Ohligschläger and Katharina Menzel and Ten Kate, Antoon and Ruiz Martinez, Javier and Christoph Frömbgen and Josje Arts and Archie McCulloch and Manfred Rossberg and Wilhelm Lendle and Gerhard Pfleiderer and Adolf Tögel and Theodore R. Torkelson and Klaus K. Beutel},
booktitle = {Ullmann's Encyclopedia of Industrial Chemistry},
doi = {10.1002/14356007.a06_233.pub4},
title = {Chloromethanes},
year = {2019},
}
\end{filecontents}
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
% Literaturverzeichnis
\usepackage{csquotes}
\usepackage[backend=biber, style=chem-angew, articletitle=true]{biblatex}
\addbibresource{literatur.bib}
\begin{document}
Lorem.\cite{Rudd1968,Arpe2007,Petrosky1988,Ohligschlaeger2019}
\printbibliography
\end{document}
Hast du eine Idee, wie ich das anpassen kann?
Viele Grüße
ChemSim
Re: Individuelle Sortierung der Einträge in article
Verfasst: Mi 28. Dez 2022, 20:08
von ChemSim
EDIT:
Durch weiteres Googeln und rumprobieren habe ich zumindest für
article eine gute Lösung gefunden.
\begin{filecontents}{literatur.bib}
@Article{Rudd1968,
author = {Rudd, Dale F.},
journal = {AlChE J.},
title = {The synthesis of system designs: I. Elementary decomposition theory},
year = {1968},
pages = {343-349},
volume = {14},
}
@Book{Arpe2007,
author = {Arpe, Hans-Jürgen},
publisher = {Wiley-VCH},
title = {Industrielle Organische Chemie -- Bedeutende Vor- und Zwischenprodukte},
year = {2007},
address = {Weinheim},
edition = {6},
}
@Patent{Petrosky1988,
number = {US 4922043A},
year = {1988},
assignee = {Vulcan Material Company},
author = {J. T. Petrosky},
title = {Manufacture of methyl chloride by hydrochlorinating methanol, using a split methanol feed},
}
@InCollection{Ohligschlaeger2019,
author = {André Ohligschläger and Katharina Menzel and Ten Kate, Antoon and Ruiz Martinez, Javier and Christoph Frömbgen and Josje Arts and Archie McCulloch and Manfred Rossberg and Wilhelm Lendle and Gerhard Pfleiderer and Adolf Tögel and Theodore R. Torkelson and Klaus K. Beutel},
booktitle = {Ullmann's Encyclopedia of Industrial Chemistry},
publisher = {Wiley-VCH},
title = {Chloromethanes},
year = {2019},
doi = {10.1002/14356007.a06_233.pub4},
}
\end{filecontents}
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
% Times New Roman Schrift (auch Mathe-Modus)
\usepackage{mathptmx}
\addtokomafont{disposition}{\rmfamily}
% Literaturverzeichnis
\usepackage{csquotes}
\usepackage[backend=biber, style=chem-angew, articletitle=true, chaptertitle=true, doi=true]{biblatex}
\addbibresource{literatur.bib}
\DeclareFieldFormat
[inbook,inreference,inproceedings,patent,thesis,unpublished]
{title}{#1\isdot}
\renewcommand*{\intitlepunct}{\addcolon\space}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space\bibsentence}%
\bibstring{in}%
\printunit{\intitlepunct}}
\begin{document}
Lorem.\cite{Rudd1968,Arpe2007,Petrosky1988,Ohligschlaeger2019}
\printbibliography
\end{document}
Die entsprechenden Anpassungen für
patent fehlen mir leider noch ...
Viele Grüße
ChemSim
Re: Individuelle Sortierung der Einträge in article
Verfasst: Do 29. Dez 2022, 09:28
von MoeWe
Ein Feld assignee kennt das Standard-biblatex-Datamodel nicht. Aber es gibt holder (das ist ein Namensfeld, also müssen Firmennamen mit Leerzeichen mit einem zusätzlichen paar geschweifter Klammern geschützt werden).
Wie und wo soll der Titel von @patent den gezeigt werden? Wie soll also Dein Beispieleintrag am Ende aussehen?
Re: Individuelle Sortierung der Einträge in article
Verfasst: Do 29. Dez 2022, 13:15
von ChemSim
MoeWe hat geschrieben: ↑Do 29. Dez 2022, 09:28
Ein Feld
assignee kennt das Standard-
biblatex-
Datamodel nicht. Aber es gibt
holder (das ist ein Namensfeld, also müssen Firmennamen mit Leerzeichen mit einem zusätzlichen paar geschweifter Klammern geschützt werden).
Ah okay, ich benutze als Literaturverwaltungsprogramm standardmäßig JabRef und habe vergessen, auf biblatex umzustellen. Jetzt wird mir die Option
assignee gar nicht mehr angezeigt, dafür
holder. Hier also ein Minimalbeispiel nur mit
@Patent:
\begin{filecontents}{literatur.bib}
@Patent{Petrosky1988,
author = {J. T. Petrosky},
date = {1988},
number = {US 4922043A},
title = {Manufacture of methyl chloride by hydrochlorinating methanol, using a split methanol feed},
holder = {Vulcan Materials Company},
}
\end{filecontents}
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
% Times New Roman Schrift (auch Mathe-Modus)
\usepackage{mathptmx}
\addtokomafont{disposition}{\rmfamily}
% Literaturverzeichnis
\usepackage{csquotes}
\usepackage[backend=biber, style=chem-angew, articletitle=true, chaptertitle=true, doi=true]{biblatex}
\addbibresource{literatur.bib}
\begin{document}
Lorem.\cite{Petrosky1988}
\printbibliography
\end{document}
MoeWe hat geschrieben: ↑Do 29. Dez 2022, 09:28
Wie und wo soll der Titel von
@patent den gezeigt werden? Wie soll also Dein Beispieleintrag am Ende aussehen?
Am liebsten hätte ich es so:
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage[ngerman]{babel}
\begin{document}
Vulcan Materials Company, \textit{Manufacture of methyl chloride by hydrochlorinating methanol, using a split methanol feed}, US 4922043A, \textbf{1988} (J. T. Petrosky).
\end{document}
Viele Grüße
ChemSim
Re: Individuelle Sortierung der Einträge in article
Verfasst: Fr 30. Dez 2022, 07:30
von MoeWe
Für diese Änderungen müssen wir am
driver für
@patent etwas schrauben. Die Version von
chem-angew findet sich in
chem-angew.bbx, v1.1y, Z. 636-669. Zum Vergleich und zur Inspiration finden wir den entsprechenden
driver der
biblatex-Standard-Stile in
standard.bbx (v3.18b, Z. 502-538).
Da
chem-angew ein Stil ist, der mit
sorting=none, nach Zitatreihenfolge sortiert, brauchen wir nicht über die Implikationen des Austausches von
author und
holder für die Sortierung nachzudenken.
\documentclass[parskip=half,12pt,listof=totoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=chem-angew, articletitle=true, chaptertitle=true, doi=true]{biblatex}
\newbibmacro*{holder}{%
\printnames{holder}}
\DeclareNameWrapperFormat[patent]{author}{\mkbibparens{#1}}
\newbibmacro*{patentauthor}{%
\setunit{\addspace}%
\printnames{author}}
\DeclareBibliographyDriver{patent}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{holder}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit\newblock
\printfield{type}%
\newunit
\printfield{number}%
\iflistundef{location}
{}
{\setunit*{\addspace}%
\printtext[parens]{%
\printlist[][-\value{listtotal}]{location}}}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\usebibmacro{patentauthor}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}%
}
\begin{filecontents}{\jobname.bib}
@Patent{Petrosky1988,
author = {J. T. Petrosky},
date = {1988},
number = {US 4922043A},
title = {Manufacture of methyl chloride by hydrochlorinating methanol, using a split methanol feed},
holder = {{Vulcan Materials Company}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem.\autocite{Petrosky1988}
ipsum\autocite{sigfridsson}
dolor\autocite{worman}
sit\autocite{geer}
\printbibliography
\end{document}
Re: Individuelle Sortierung der Einträge in article
Verfasst: So 1. Jan 2023, 15:57
von ChemSim
Hallo MoeWe,
sorry für die verspätete Antwort. Ich möchte mich recht herzlich für Deine Hilfe bedanken. Nun sieht mein Literaturverzeichnis so aus, wie ich es mir vorgestellt habe.
Ich wünsche ein gutes neues Jahr 2023
Viele Grüße
ChemSim