Hallo,

Ich möchte mit biblatex ein Adressverzeichnis erstellen, wie ich schon in anderen Einträgen erwähnt habe. Jetzt habe ich nach dem Beispiel von Ulrike Fischer eine dbx-Datei erstellt, die wie folgt aussieht:

Open in Online-Editor
%%%Falls Konflikte mit anderen Datenmodellen%%%%%%%%%%%%%%%%%%%%
\ResetDatamodelEntrytypes
\ResetDatamodelFields
\ResetDatamodelEntryfields
\ResetDatamodelConstraints

\DeclareDatamodelEntrytypes{adress}

\DeclareDatamodelFields[type=field, datatype=literal]{%
    name,
    organization,
    city,
    zip,
    street,
    phone,
    fax,
    mobile,
    email,
    url,
    note}

\DeclareDatamodelEntryfields[adress]{%
    name,
    organization,
    city,
    zip,
    street,
    phone,
    fax,
    mobile,
    email,
    url,
    note}

Die Tex-Datei, mit der ich es erstmal versucht habe, sieht wie folgt aus:

Open in Online-Editor
\documentclass[]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[datamodel=netzheft,defernumbers]{biblatex}
\addbibresource{Arnsberg.bib}
...
...

\DeclareCiteCommand{\citeadresse}{}{%
    \printtext{\par\noident}%
    \printtext{\small{name}}%
    \setunit{\\}\printfield{\large{organization}}%
    \setunit{\\}\printfield{street}%
    \setunit{\\}\printfield{plz}\setunit{\addspace}\printfield{city}%
    \setunit{\\}\printfield{phone}%
    \setunit{\\}\printfield{fax}%
    \setunit{\\}\printfield{mobile}%
    \setunit{\\}\printfield{email}%
    \setunit{\\}\printfield{url}%
    \setunit{\\}\printfield{note}}

\begin{document}
\citeadresse{MalteserPsycho}
\end{document}

Und hier der Eintrag für "MalteserPsycho":

Open in Online-Editor
@adress{MalteserPsycho,
name =      {Psychosoziale Angebote},
sortas =    {},
title =     {},
organization = {Malteser Traumanetzwerk\\
            Christine Straube},
city =      {},
zip =       ,
country =   {}, 
street =    {},
phone =     {02372/96820},
fax =       {02372/62475},
mobile =    {},
email =     {malteserwerke@malteser.de},
url =       {www.malteser-traumanetzwerk.de},
note =      {Die Malteserwerke bieten auf dieser Homepage eine deutschlandweite                 Datenbank mit Therapeuten, Psychologen und Fachärzten, die mit                      traumatisierten Flüchtlingen arbeiten.}

Blöderweise werden mir diverse Fehler ausgespuckt:

Open in Online-Editor
! Package keyval Error: useauthor undefined.
! Package keyval Error: useeditor undefined.
! Package keyval Error: usetranslator undefined.
! LaTeX Error: Missing \begin{document}.

Package biblatex Warning: No "backend" specified, using Biber backend.

Außerdem wird behauptet, dass MalteserPsycho nicht definiert ist. Kann mir jemand helfen? Sind die Angaben ausreichend?

Vielen Dank und liebe Grüße!

gefragt 24 Nov '15, 11:56

tobbster's gravatar image

tobbster
3146
Akzeptiert-Rate: 0%

\printfield{\large{organization}} kann nicht funktionieren, da es ja kein Feld \large{organization} gibt. Besser \DeclareFieldFormat{large}{{\large#1}} definieren, und dann \printfield[large]{organization} verwenden.

(24 Nov '15, 12:21) cgnieder

Dankeschön!

(25 Nov '15, 11:42) tobbster

Du solltest übrigens testen, ob Felder definiert sind (Inhalt haben), du erhältst sonst Seltsamkeiten.

(25 Nov '15, 11:44) Johannes

Möchtest du das wirklich mitten im Text haben, oder in einer Liste am Ende des Dokumentes?

(25 Nov '15, 11:45) Johannes

Wie teste ich das? Ja das ganze Dokument soll nur aus Adresseinträgen bestehen und beliebig formatiert werden können. Am Ende soll keine Bibliographie oder sowas stehen.

(25 Nov '15, 11:48) tobbster

Übrigens hab ich jetzt die Dateiendung hinzugefügt und der Prozess läuft ohne Fehler, in der PDF ist trotzdem kein Eintrag..

(25 Nov '15, 11:56) tobbster
1

Fehler an dieser Stelle: Das Beispiel ist viel zu groß. Als ich mir damals den Artikel geschnappt habe und anfing darauf aufabauend etwas zu erstellen, habe ich mit genau einem neuen Feld angefangen. Und selbst das hat nicht auf Anhieb funktioniert. Dein Beispiel ist so riesig, dass man schon vom hinschauen weiß, dass es länger als fünf Minuten Aufmerksamkeit bedarf. Deswegen hatte wahrscheinlich einfach noch keiner Lust sich der Sache näher anzunehmen.

(25 Nov '15, 12:28) Johannes

Sorry dass ich mich nicht so mit dem Forum auskenne und wie die Gepflogenheiten hier sind, ich finde es aber schon ziemlich komisch dass deine letzten drei Kommentare irgendwie sehr zynisch rüberkommen. Ich bin mir nicht sicher was das bringen soll. Johannes bin ich allerdings sehr dankbar dafür dass er sich die Zeit dafür nimmt mir zu helfen.

(25 Nov '15, 13:57) tobbster

Sorry, mein Fehler. Ich werde nochmal versuchen das Beispiel anzupassen. Vielleicht hilft das jemandem, der wirklich Interesse daran hat, anderen Leuten Ratschläge zu geben

(25 Nov '15, 14:08) tobbster

Ich hab mir das gerade noch mal angeschaut. Das ist ja quasi verbatim was Ulrike in ihrem Beispiel hat. Bis auf die vergessenen Argument bei \citeadresse. Dann läuft das nämlich wunderbar durch (wenn man den offensichtlichen Typo noident korrigiert).

(25 Nov '15, 15:14) Johannes
Ergebnis 5 von 10 show 5 more comments

tobbsterAdressen

Open in Online-Editor
%\RequirePackage{filecontents}
\begin{filecontents}{\jobname.dbx}

    \DeclareDatamodelEntrytypes{orgentry}

    \DeclareDatamodelFields[type=field, datatype=literal]{%
        name,
        organization,
        city,
        zip,
        street,
        phone,
        fax,
        mobile,
        email,
        url,
    note}

    \DeclareDatamodelEntryfields{%
        name,
        organization,
        city,
        zip,
        street,
        phone,
        fax,
        mobile,
        email,
        url,
    note}
\end{filecontents}
\begin{filecontents}{\jobname.bib}
    @orgentry{ant,
        name = {Ant},
        zip = {030},
    }
    @orgentry{zebra,
        name = {zebra},
        zip = {030},
        city = {Berlin},
    }
    @orgentry{MalteserPsycho,
        name =      {Psychosoziale Angebote},
        sortas =    {},
        title =     {},
        organization = {Malteser Traumanetzwerk\\
        Christine Straube},
        city =      {Berlin},
        zip =       {},
        country =   {}, 
        street =    {},
        phone =     {02372/96820},
        fax =       {02372/62475},
        mobile =    {},
        email =     {malteserwerke@malteser.de},
        url =       {www.malteser-traumanetzwerk.de},
        note =      {Die Malteserwerke bieten auf dieser Homepage eine deutschlandweite                 Datenbank mit Therapeuten, Psychologen und Fachärzten, die mit                      traumatisierten Flüchtlingen arbeiten.}
    }
\end{filecontents}

\documentclass[]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{tcolorbox}
\usepackage[datamodel=\jobname,defernumbers,
%sorting=name
]{biblatex}
\addbibresource{\jobname.bib}

\setlength{\bibitemsep}{3ex}
\defbibenvironment{orgentries}
  {\list
      {}%
     {%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      }
  {\endlist}%
  {\item}%
      \defbibheading{bibliography}{}
\DeclareFieldFormat{large}{{\large#1}}
\DeclareFieldFormat{small}{{\small#1}}
\renewcommand{\newblockpunct}{\par}
\DeclareBibliographyDriver{orgentry}{%
    \usebibmacro{begentry}%
    \iffieldundef{name}{}{\printfield{name}}\newblock%
    \printfield[large]{organization}\newblock%
    \printfield{street}\newblock%
    \iffieldundef{city}{}{\iffieldundef{zip}{\typeout{Warning: zip
    code missing}}{\printfield{zip}\setunit{\addspace}\printfield{city}}}\newblock%
    \printfield{phone}\newblock%
    \printfield{fax}\newblock%
    \printfield{mobile}\newblock%
    \printfield{email}\newblock%
    \printfield{url}\newblock%
    \printfield{note}
    \usebibmacro{finentry}
}
\DeclareSortingScheme{name}{
    \sort{
        \field{name}
    }
}

\DeclareCiteCommand{\printaddress}{}{%
    \printtext{\par\noindent}%
    \printfield[small]{name}%
    \setunit{\\}\printfield[large]{organization}%
    \setunit{\\}\printfield{street}%
    \setunit{\\}\iffieldundef{city}{}{\iffieldundef{zip}{\typeout{Warning: zip
    code missing}}{\printfield{zip}\setunit{\addspace}\printfield{city}}}%
    \setunit{\\}\printfield{phone}%
    \setunit{\\}\printfield{fax}%
    \setunit{\\}\printfield{mobile}%
    \setunit{\\}\printfield{email}%
    \setunit{\\}\printfield{url}%
    \setunit{\\}\printfield{note}
}{}{}

\begin{document}
\begin{tcolorbox}
\printaddress{MalteserPsycho}
\end{tcolorbox}
\nocite{zebra,ant,MalteserPsycho}
\printbibliography[env=orgentries]
\end{document}

So, und hier noch das Minimalbeispiel was zum besagten Fehler führt:

Open in Online-Editor
\begin{filecontents}{\jobname.dbx}
    \ResetDatamodelFields
\end{filecontents}
\documentclass{scrartcl}
\usepackage[datamodel=\jobname]{biblatex}
\begin{document}
\end{document}
Permanenter link

beantwortet 25 Nov '15, 12:20

Johannes's gravatar image

Johannes
7.3k294566
Akzeptiert-Rate: 43%

bearbeitet 25 Nov '15, 15:42

Danke soweit! Wird das denn dann alphabetisch oder nach den Einträgen ausgegeben? Ich würde nämlich gerne die Reihenfolge der Einträge bestimmen und bestimmte grau hinterlegen.

(25 Nov '15, 12:27) tobbster

@tobbster Soll ich ehrlich sein? Ich habe keinen blassen Schimmer. Probier es aus.

(25 Nov '15, 12:29) Johannes

Ja sollst du;) Danke dir vielmals!

(25 Nov '15, 12:30) tobbster

Es funktioniert einfach nicht. Ich hab deinen Formatierungsvorschlag bei DeclareCiteCommand eingefügt und dann versucht, es zu zitieren. Ich hab es auf ein Minimum beschränkt und alle wichtigen Dateien in die tex-Datei geschrieben, wie du es machst. Wenn ich jedoch dann citeadress{MalteserPsycho} eingebe, sagt er mir immer noch, das wäre nicht definiert und in der PDF wird nur der Text MalteserPsycho ausgegeben. Könnte es sein, dass ich irgendwo noch vordefinieren muss, dass der den Eintragsnamen, also MalteserPsycho abrufen muss?

(25 Nov '15, 13:30) tobbster
1

@tobbster In meinem Beispiel gibt es \citeadress nicht.

(25 Nov '15, 13:47) Johannes

Ja ich habe quasi versucht es auf meine Wünsche anzuwenden, dass ich es quasi zitieren kann und die Formatierungssyntax darauf übertragen.

(25 Nov '15, 13:56) tobbster

Was spricht denn gegen die Lösung als Bibliographhie, sprich als fertige Liste.

(25 Nov '15, 14:31) Johannes

Dass ich die dadurch nicht individuell verschieben und zb grau hinterlegen kann, oder? Ich mache nochmal einen neuen Thread morgen auf, vielleicht können wir dann nochmal etwas geordneter darüber schreiben. Bis hierhin schonmal vielen vielen Dank!

(25 Nov '15, 14:37) tobbster
Ergebnis 5 von 8 show 3 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×220
×4

gestellte Frage: 24 Nov '15, 11:56

Frage wurde gesehen: 8,992 Mal

zuletzt geändert: 25 Nov '15, 15:42