goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gutes Buch zur Makroprogrammierung

 

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 53
Anmeldedatum: 30.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2015, 06:42     Titel: Gutes Buch zur Makroprogrammierung
  Antworten mit Zitat      
Guten Morgen,

da ich Schwierigkeiten habe, bei der Makroprogrammierung im Zusammenhang mit Biblatex durchzusteigen, frage ich, ob es ein empfehlenswertes Buch gibt, das schrittweise in die Programmierung von Makros und die Arbeit mit den Biblatex Makros einführt.

Grüsse, Faultier
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2015, 08:20     Titel:
  Antworten mit Zitat      
Über (La)TeX-Bücher und Makroprogrammierung können Dir sicherlich andere gute Tipps geben. Da Paket auf CTANbiblatex selbst aber noch vergleichsweise neu ist (und in der Entwicklung schon einigen Änderungen unterworfen war), gehe ich aber davon aus, dass viele Bücher das Paket gar nicht erwähnen oder nur in die Nutzung einführen, nicht aber in die "Programmierung" mit Paket auf CTANbiblatex. Im Internet gibt es aber ein paar nette Quellen zum Thema Paket auf CTANbiblatex.

Auf deutsch gibt es die zwei Standardwerke von Dominik Waßenhoven aus der TeXnischen Komödie Bibliographien erstellen mit biblatex (Teil 1) und Bibliographien erstellen mit biblatex (Teil 2). Da diese Artikel nunmehr sieben Jahre alt sind, können sie in Details überholt sein, aber der Kern bleibt der gleiche.

E. Frank Sandig hat neulich einen eigenen Paket auf CTANbiblatex-Stil erstellt (biblatex-iest) und darüber geschrieben, der Artikel (hier bei github) ist auch in einigen Internet-Magazinen erschienen.

Mangels Italienischkenntnissen konnte ich mir leider Creare stili bibliografici con biblatex: l’esperienza del pacchetto biblatex-philosophy von Ivan Valbusa, dem Entwickler der sehr interessanten Paket auf CTANbiblatex-philosophy-Familie, nie wirklich zu Gemüte führen. Der Stil Paket auf CTANbiblatex-philosophy lässt aber auf einen gut fundierten und interessanten Artikel hoffen.

Weiter gibt es Biblatex customization von Siarhei Khirevich. Bei ein, zwei Details bin ich nicht ganz der Meinung, dass die dort vorgestellte Lösung die beste ist, und der Artikel geht nur auf die notwendigen Änderungen ein, bibmacros werden nicht geändert, bietet aber eine schöne Einführung in die Problematik.

Bei TeX.SX gibt es die Guidelines for customizing biblatex styles und viele weiterführende Fragen.

Neben diesen theoretischen Artikeln kann ich Dir nur empfehlen, Dich selbst mit bestehenden Paket auf CTANbiblatex-Stilen zu beschäftigen, sie anzusehen und zu analysieren. Wichtig sind biblatex.def, standard.bbx und dann natürlich die .bbx- und .cbx-Dateien der einzelnen Stile. Die Standard-Stile sind sicherlich die Beispiele für best practice. Das Paket Paket auf CTANbiblatex-apa wird von einem der biblatex-Entwickler geschrieben, vom Code sollte also auch die Dateien dort ein gutes Beispiel sein, wenn auch der Vorgaben der APA an einige Stellen nichts für schwache Nerven sind. Joseph Wrights Paket auf CTANbiblatex-chem-Stile halte ich auch für gute Vorbilder. Auch der Code des oben bereits erwähnten Paket auf CTANbiblatex-philsophy von Ivan Valbusa ist sehr ansehnlich.

Um ältere Pakete (sagen wir mal willkürlich kein Update mehr seit 2013) ist es sicherer, zunächst einen Bogen zu machen, da dort teilweise veraltete Befehle genutzt werden.

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 53
Anmeldedatum: 30.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 06:06     Titel:
  Antworten mit Zitat      
Danke für die vielen Links. Besonders die zu den Beispielscripten. In dieser Weise gehe ich auch gerade vor:

Ich schaue mir die biblatex.def an und suche mir Befehle heraus, sowie einige der im Befehl verwendeten Makros. Dann experimentierte ich damit etwas herum, scheitere aber oft an Fehlermeldungen und komme nicht ganz dran, welche Makros mir zur Verfügung stehen.

Das Paket csquotes macht es mir dann noch etwas schwerer. Dort wollte ich schauen, mit welchem Makro eine entsprechende Zitation erfolgt. Csquotes hat aber wieder eine scheinbar ganz andere Makrologik als Biblatex.

Als nächstes werde ich mal versuchen, ein Feld einer Bibdatei auszulesen und anhand diese Feldes Latex automatisch zwischen footcite und cite entscheiden. Das scheint mir noch relativ simpel zu sein.

Viele Grüße
Faultier
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 09:38     Titel:
  Antworten mit Zitat      
Ich denke mit biblatex.def und standard.bbx solltest Du schon sehr weit kommen. Leider sind die hier bereitgestellten Makros nicht dokumentiert, aber sie sind recht sinnvoll benannt und die Beispielnutzung in standard.bbx ist häufig sehr erhellend.

Paket auf CTANcsquotes und Paket auf CTANbiblatex wurden von demselben Entwickler erdacht und sind sich daher doch recht ähnlich. biblatex baut allerdings noch eine zusätzliche Makroebene ein, die csquotes in der Form nicht hat oder braucht. Während die Dokumentationbiblatex-Doku wirklich lang ist, ist die Dokumentationcsquotes-Doku noch etwas humaner, mit der Suchfunktion kann man aber beiden gut zu Leibe rücken (man muss nur das Glück haben, die richtigen Suchbegriffe einzugeben).

Zu Deinem nächsten Projekt: Ich glaube, dass das tatsächlich relativ kompliziert ist. Zu dem Zeitpunkt nämlich, wo biblatex entscheidet, ob es in eine Fußnote geht, kennt es die Felder des Eintrages noch nicht. Stell Dir vor was passiert, wenn Du in Deinem Befehl zwei Werke zitierst, eins, das eine Fußnote braucht und eines, das keine möchte.
Es scheint mir außerdem sehr merkwürdig am Werk festzumachen, ob ein Fußnotenzitat sinnvoll ist oder nicht.

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 53
Anmeldedatum: 30.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 10:12     Titel:
  Antworten mit Zitat      
Da muss ich mir die Abläufe noch genauer ansehen. Momentan verändert er aufgrund des Inhaltes von Entrysubtype bereits die Formatierung. Daher ging ich davon aus, eine entsprechende Abfrage wäre möglich, um dann ggf. "\mkbibfootnote" oder "\mkbibparens" setzen zu können, denn nur dadurch unterscheiden sich footcite- und cite-Kommando.

Das mit den Kurzbelegen ist einfach erklärt. Bibelverse, kirchliche Verlautbarungen usw werden immer im Text als Kurzreferenz gesetzt. D.h. der Denzinger wird z.b. immer als Kurzreferenz im Stile (DH 4320) gesetzt. Für den Ausnahmefall, dass man mal in einem Text vom Standard abweichen muss, kann ja problemlos auf den Befehl \footcite zurückgegriffen werden.

Der Eintrag "Kurzbeleg" im Subentrytype-Feld führt momentan zur Ausgabe (DH 5343) statt Denzinger 2002, S. 17. Deswegen war es für mich naheliegend, dass folgende Logik möglich sein müsste:

Code • Öffne in Overleaf

\DeclareCiteCommand{\Zitat}
 {WENN Entrysubtype="Kurzbeleg}
   {[\mkbibparens]}
   {[\mkbibfootnote]}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
 


Langfristig ist meine Hoffnung, dass ich alles in einem Befehl unterbringen kann. Anhand der Prüfung vom optionalen Feld 1 auf "Vgl." hin sollen keine Anführungszeichen gesetzt werden, anhand der Prüfung des Entrysubtypes weiterhin entschieden, ob eine Kurzreferenz im Text oder eine Fußnote genutzt werden muss. Der Vollständigkeit halber eine Prüfung, ob der Bibkey leer ist, um dann ausschließlich den Befehl \enquote{} zu nutzen.

Am Ende soll es also einen Zitationsbefehl geben, der über die Prüfung der Optionen und des Eintrages "Kurzbeleg" entscheiden kann, welche Art von Ausgabe notwendig ist (direkt, indirekt, Fußnote, Kurzbeleg oder nur Anführungszeichen ohne Beleg).

Zuletzt bearbeitet von faultier am 21.10.2015, 10:24, insgesamt 3-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 10:20     Titel:
  Antworten mit Zitat      
Das Ändern der Formatierung geht einwandfrei, denn da reicht es, erst im Citeloop die Entscheidung zu treffen. Ob Du eine Fußnote brauchst oder nicht, wird normalerweise früher entschieden. Es geht aber auch anders BibLaTeX \DeclareCiteCommand: How t.....;wrapper> accordingly?, das hat aber in paar andere Nachteile.

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 53
Anmeldedatum: 30.09.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 21:11     Titel:
  Antworten mit Zitat      
Der Link ist super, vielen Dank.

Den dort geposteten Code habe ich etwas angepasst:

Code • Öffne in Overleaf

\DeclareCiteCommand{\mycite}[\unspace]
  {}
  {\usebibmacro{citeindex
}%
     \iffieldundef{shorthand}
     {\mkbibfootnote{\usebibmacro{prenote}\usebibmacro{cite}\usebibmacro{cite:postnote}}}
     {\space\mkbibparens{\usebibmacro{prenote}\printfield{shorthand}\usebibmacro{cite:postnote}}}}
  {\multicitedelim}
  {}
 



Mit folgendem Kommando kann ich noch die Vorteile der Quote-Umgebung nutzen:

Code • Öffne in Overleaf
\NewDocumentCommand\blockcite{  o m m }
 {%
 {\blockquote[{\mycite[#1]{#2}}]{#3}}
 %
 }


Mal sehen, ob ich es langfristig auch noch hinbekomme, die beiden Befehle zu einem zu machen.

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de