Ändern des BST-Stils und Aufrufen von Zitaten

Ändern des BST-Stils und Aufrufen von Zitaten

Ich habe zwei Probleme, mit denen ich mich herumschlage.

Als Erstes muss ich die BST-Datei an meine Bedürfnisse anpassen. Ich möchte etwas, das so aussieht: Bildbeschreibung hier eingeben

Ich konnte den Zeilenumbruch zwischen der Notiz und der URL erhalten, indem ich ihn \parin den ursprünglichen Bib-Eintrag eingefügt habe (z. B. note={\par blah blah blah}), aber es gibt doch sicher einen einfacheren, eleganteren Weg? Außerdem hätte ich gerne einen Zeilenumbruch nach dem Artikeltitel. Ich habe verschiedene Änderungen vorgenommen an:

FUNCTION {article}
{ output.bibitem
    format.title "title" output.check
  new.block
  format.authors "author" output.check
  new.block
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      emphasize
      "journal" output.check
      format.date "year" output.check
      date.block
      format.vol.num.pages output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  format.issn output
  new.block
  format.url output 
  new.block
  format.note output
  fin.entry
}

Ohne Erfolg. Wo oder wie kann ich das Obige ändern, um einen Zeilenumbruch einzufügen. Oder sollte ich Folgendes bearbeiten:

FUNCTION {format.title}
{ title
  duplicate$ empty$ 'skip$
    { "t" change.case$ }
  if$
  "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      bolden
    }
  if$
}

Und

FUNCTION {format.note}
{
 note empty$
    {  "" }
    { note #1 #1 substring$
      duplicate$ "{" =
        'skip$
        { output.state mid.sentence =
          { "l" }
          { "u" }
       if$
        change.case$
        }
      if$
      note #2 global.max$ substring$ * "note" bibinfo.check
    }
  if$
} ?

Das andere Problem ist das Datum. Ich möchte keinen Punkt nach dem Jahr, sondern nur ein Leerzeichen. (Ich hätte geschworen, dass ich makebst das so angewiesen habe ...) In der Vergangenheit habe ich das Datumsfeld bearbeitet, um ein Komma durch einen Punkt zu ersetzen, aber ich kann in der Datumsfunktion nichts über Punkte und Kommas sehen:

FUNCTION {format.date}
{
  month "month" bibinfo.check
  duplicate$ empty$
  year  "year"  bibinfo.check duplicate$ empty$
    { swap$ 'skip$
        { "there's a month but no year in " cite$ * warning$ }
      if$
      *
    }
    { swap$ 'skip$
        {
          swap$
          " " * swap$
        }
      if$
      *
    }
  if$
  duplicate$ empty$
    'skip$
    {
      before.all 'output.state :=
    " " swap$ *
    }
  if$
}

Die zweite Frage ist gewagter. Ich möchte, dass PDFLaTeX das Zitat (wie in der BST-Datei definiert) im Textkörper des Dokuments aufruft, als ob es eine .tex-Datei statt eines Zitats eingeben würde. Anstatt also beispielsweise den Text Akbarzadeh et al. 2016 anzuzeigen, wird der gesamte Eintrag geladen, wie ich ihn definiert habe. Ich möchte nichts, das wie eine Bibliografie aussieht, sondern eher so:

Bildbeschreibung hier eingeben

Irgendwelche Ideen, wie man das erreichen kann? Ich hoffe, dass es irgendwo ein Paket gibt, das genau das macht.

Ich bin nicht sicher, welche Art von Minimalbeispiel benötigt wird ... Sagen Sie mir, was Sie Ihrer Meinung nach zur Lösung des Problems benötigen.

Danke

Antwort1

Ich bin mit BibLaTeX nicht klargekommen (es scheint nicht in TeXWorks zu laufen oder es gab ein Problem mit dem Paket oder so etwas ...), aber ich habe hier eine Lösung gefunden:https://tug.org/pracjourn/2008-1/calleecharan/

Minimale Beispiele: Die Tex-Datei

\documentclass[a4paper]{article}
\usepackage[twoside,inner=25.4mm,tmargin=25.4mm,nohead,bmargin=25.4mm,textwidth=159.2mm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{lastpage}
\usepackage{url}

\begin{document}
\nocite{begcla1}

\nocite{art2}

\nocite{endcla1}

\nocite{art1}

\nocite{endcla2}

%\nocite{Elem2}

\bibliographystyle{datastyle}
\bibliography{dataset}

\end{document}

Die Bib-Datei:

@CREATESECTION{begcla1,
heading={Section 1} 
}

@style1{art1,
title = { My dog eats cats},
author = {Katz, JP},
journal = { Cat cuisine},
volume = {1},
pages = {3--5},
year = {2016},
url = {\url{http://www.cateaters.com}},
note = {I found this article delicious.}
}

@ENDSECTION{endcla1
}

@CREATESECTION{begcla2,
heading={Section 2} 
}

@style1{art2,
title = { My cat eats dogs},
author = {Dags, JP},
journal = { Dog cuisine},
volume = {1},
pages = {3--5},
year = {2016},
url = {\url{http://www.dogeaters.com}},
note = {It made me gag.}
}

@ENDSECTION{endcla2
}

die bst-Datei:

Entry
{
title
heading
author
journal
volume
pages
year
url
note
} {} {}

FUNCTION{print}
{
    cite$ pop$
}

FUNCTION {bolden}
{ duplicate$ empty$
    { pop$ "" }
    { "{\fontfamily{lmss}\bfseries\selectfont\large " swap$ * "}" * }
  if$
}

FUNCTION {format.heading}
{ heading bolden
}

FUNCTION{createsection}
{
"\vspace{0.5cm}" write$
newline$ newline$ write$
newline$ newline$ write$
 write$ newline$ print format.heading write$ newline$  write$
newline$ newline$ write$
newline$ newline$ write$
"\vspace{0.25cm}" write$
}

FUNCTION{Style1}{
"{\fontfamily{lmss}\bfseries\selectfont " write$ print title write$ "}"     write$%
print write$ ". " write$ newline$ newline$
print write$ author write$%
print write$ ". " write$%
print "{\em " write$ print journal write$ "}" write$%
print write$ ", " write$%
print volume  write$%
print write$ ":" write$%
print pages  write$%
print write$ ", " write$%
print write$ year write$%
print write$ "." write$ newline$ newline$
print write$ url  write$ newline$ newline$
print write$ ``{\normalsize `` write$ print note write$ ``}'' write$     newline$ newline$
}

FUNCTION{fin}
{newline$
}

Read

ITERATE{call.type$}

EXECUTE{fin}

Ich würde gerne einen Weg finden, die \urlFormatierung in die BST-Datei statt in die Bib-Datei einzubinden, habe aber noch nicht herausgefunden, wie das geht. Das ist zwar keine so elegante Lösung, wie ich gehofft hatte, aber sie funktioniert.

Wenn jemand Vorschläge hat, wie der Code aufgeräumt werden kann, wäre ich sehr dankbar. Ich weiß nicht wirklich, was ich tue ...

verwandte Informationen