Archiv verlassen und diese Seite im Standarddesign anzeigen : BibTeX, Style: abstract und Breite der Keys
Hallo,
ich nutze BibTeX mit dem \bibliographystyle{abstract}-Stil und definiere meine Keys in der .bib-Datei selbst. Alles funktioniert einwandfrei, jedoch habe ich zwei Keys, die aus acht Zeichen bestehen. Alle anderen Keys bestehen aus maximal sechs Zeichen. Die Formatierung orientiert sich jedoch nicht am längsten Key. Dementsprechend ist die Breite der Spalte im Literaturverzeichnis, in der die Keys stehen, nur so breit, dass Keys mit "normaler" Länge dort reinpassen. Bei den beiden langen Keys wird einfach der dazugehörige Text etwas eingerückt, damit der Key genügend Platz hat.
Ein angehängter Screenshot zeigt das Verhalten, da es vermutlich nicht so einfach vorstellbar ist.
Das sieht sehr unschön aus...oder?
Hat jemand eine Idee, wie ich das konfigurieren könnte?
Für Hilfe wäre ich sehr dankbar...
Viele Grüße,
JKoenig
Hat hier keiner eine Idee?
Für Hilfe wäre ich sehr dankbar...
Viele Grüße,
JKoenig
Moin moin,
als würgaround könntest Du nach dem BibTeX-Lauf in Deiner .bbl-Datei
\begin{thebibliography}{<diesen String verlängern>}
Wenn Du das automagisch haben willst, dann versuch es so:
Erstelle eine Kopie von `abstract.bst' in Deinem Projektordner und nenne sie z. B. `myabstract.bst'
ersetze in den *.label-Funktionen dieser `myabstract.bst'
{ cite$ #1 #3 substring$ }
zu
{ cite$ #1 #9 substring$ }
nur noch \bibliographystyle entsprechend in der .tex angepasst...
MfG
Hallo Rainer,
erst mal vielen Dank für deine Hilfe...
Das Verlängern des Strings in der .bbl-Datei funktioniert. Natürlich ist das etwas aufwändig, aber als workaround durchaus machbar.
Der automatische Lösungsvorschlag funktioniert bei mir allerdings nicht, obwohl er definitiv myabstract.bst zur Erstellung heranzieht. Ich habe das "#3" in "#9" bei folgenden Funktionen geändert:
FUNCTION {author.key.label}
FUNCTION {author.editor.key.label}
FUNCTION {author.key.organization.label}
FUNCTION {editor.key.organization.label}
... ohne Erfolg...
Hast du noch eine Idee?
Vielen Dank für deine Mühe!!!
Moin moin,
versteh' ich nicht ... mit
\begin{filecontents}{foo.bib}
@misc{foo,
title={Minimalbeispiel}
}
@misc{laaaang,
title={Minimalbeispiel},
note={\url{http://www.minimalbeispiel.de}}
}
\end{filecontents}
\documentclass{article}
\renewcommand*\refname{References (myabstract)}
\usepackage{url}
\begin{document}
\nocite*
\bibliographystyle{myabstract}
\bibliography{foo}
\end{document}
und
FUNCTION {author.key.label}
{ author empty$
{ key empty$
{ cite$ #1 #9 substring$ } %%%<--#3->#9
{ key #3 text.prefix$ }
if$
}
{ author format.lab.names }
if$
}
(stellvertretend für die 4 geänderten Funktionen in myabstract.bst) bekomme ich gleich breite Marken.
Überzeuge Dich mal davon, ob `myabstract.bst' auch wirklich die ist, die Du angepasst hast -- vorzugsweise aus dem Pfad heraus, in dem Deine Testdatei (.tex) residiert:
kpsewhich myabstract.bst
sollte den Pfad zu Deiner ausgeben: wenn Du so wie von mir zuvor vorgeschlagen vorgegangen bist also ``./myabstract.bst''.
Du kannst ja mal dieses Beispiel laufen lassen und Dir die Ausgabe anschauen ... bzw. die erste Zeile in der entstandenen .bbl: Wenn da
\begin{thebibliography}{foo}
steht, poste mal die entstandene .blg (BibTeX-Logdatei) und/oder vergleiche nochmal, was Du in der myabstract.bst wie geändert hast.
Wenn da
\begin{thebibliography}{laaaang}
steht, aber trotzdem in Deiner Datei sich nichts durch den Einsatz von myabstract.bst geändert hat, dann poste bitte ein eigenes Minimalbeispiel (wie das geht, kannst Du hier ja schon sehen).
... oder sind Dir einfach neun Zeichen nicht breit genug?
MfG
Hallo Rainer!
Basierend auf deinem Minimalbeispiel hier mein Beispiel:
\begin{filecontents}{foo.bib}
@book{BLA1,
title={Ein Titel},
author={Ein Author},
publisher={Ein Verlag},
year={Ein Jahr},
month={Ein Monat},
isbn={Eine ISBN},
}
@book{BLA1234,
title={Ein Titel},
author={Ein Author},
publisher={Ein Verlag},
year={Ein Jahr},
month={Ein Monat},
isbn={Eine ISBN},
}
\end{filecontents}
\documentclass{article}
\renewcommand*\refname{References (myabstract)}
\usepackage{url}
\begin{document}
\nocite*
\bibliographystyle{myabstract}
\bibliography{foo}
\end{document}
TeXnicCenter erzeugt beim Kompilieren u. a. folgende Ausgabe:
[...]
The style file: myabstract.bst
[...]
Das daraus resultierende Ergebnis ist als Bild im Anhang...
Die einzigen Unterschiede zwischen abstract.bst und myabstract.bst sind vier Änderungen von "3" in "9".
Hast du noch eine Idee?
Vielen Dank für deine Mühe!!!
Moin moin,
da hab' ich wohl zu viel gekürzt;-)
Auch auf die Gefahr hin, es gerade wieder zu tun, versuch mal
FUNCTION {calc.label}
{
cite$ 'label := %%%<--
year field.or.null purify$ #-1 #4 substring$
sortify 'sort.label :=
}
in Deiner myabstract.bst ... aber Vorsicht: es findet keine Begrenzung der Markenbreite mehr statt, ggf. ergänze den substring$ mit für Dich passenden Werten.
Wenn's funzt, kannst Du so auch die vier zuvor angesprochenen Funktionen weglassen...
aber schau Dir erstmal an, ob's damit noch -- neue? -- Probleme gibt.
MfG
Hallo,
im Minimalbeispiel funktioniert das einwandfrei. In meiner Life-Umgebung meiner Dokumentation bekomme ich die Fehlermeldung "... the literal stack isn't empty for entry ...".
Laut manchen Foren-Postings ist meine Installation zu alt, wundert mich aber dann, dass es in der Minimalinstallation funktioniert.
Wenn ich die Installation updaten muss, würde ich darauf verzichten (ist mir zu gefährlich, was ich dann sonst noch für Nebeneffekte habe) und das Workaround nutzen und in der .bbl-Datei den string zu verlängern. Oder du hast noch eine andere Idee?
Vielen Dank und Grüße,
JKoenig
Moin moin,
im Minimalbeispiel funktioniert das einwandfrei. In meiner Life-Umgebung meiner Dokumentation bekomme ich die Fehlermeldung "... the literal stack isn't empty for entry ...".
steht in der Meldung nicht drin, auf welchen Eintrag sie sich bezieht? Was passiert, wenn Du diesen Eintrag aus Deinem Projekt in das MB überträgst?
MfG
Ich muss mich korrigieren: Die Meldung kommt auch beim Minimalbeispiel bei JEDEM BibTeX-Eintrag (auch bei den minimalen Einträgen). Die minimale PDF-Datei wird dennoch korrekt erzeugt.
Auch beim richtigen Dokument funktioniert es - trotz der Meldungen.
Dennoch ist mir das irgendwie suspekt und ich weiß nicht, ob ich das so lassen sollte... Was meinst du?
Moin moin,
Ich muss mich korrigieren: Die Meldung kommt auch beim Minimalbeispiel bei JEDEM BibTeX-Eintrag (auch bei den minimalen Einträgen). Die minimale PDF-Datei wird dennoch korrekt erzeugt.
das kann ich nicht nachvollziehen:
This is BibTeX, Version 0.99c (Web2C 7.5.6)
The top-level auxiliary file: abstract-test.aux
The style file: myabstract.bst
Database file #1: foo.bib
ist bei mir die komplette Konsolenausgabe von BibTeX (mit dem Beispiel aus Beitrag#6 als `abstract-test.tex' und nur der Anpassung von calc.label aus Beitrag#7 in myabstract.bst -- ansonsten identisch mit `abstract.bst').
Irgend etwas hast Du wohl anders gemacht ...
MfG
Auch auf die Gefahr hin, es gerade wieder zu tun, versuch mal
FUNCTION {calc.label}
{
cite$ 'label := %%%<--
year field.or.null purify$ #-1 #4 substring$
sortify 'sort.label :=
}
mmhhh... Ich habe den Fehler gemacht und interpretiert, dass du die Funktion selbst gekürzt hast und habe nur die Änderung von
'label :=
in
cite$ 'label := %%%<--
geändert. Wenn ich die Funktion tatsächlich so kürze, funktioniert es einwandfrei.
Kann das sonst noch irgendwelche Nebeneffekte haben, die ich jetzt bei einer schnellen Prüfung hätte übersehen können?
Moin moin,
mmhhh... Ich habe den Fehler gemacht und interpretiert, dass du die Funktion selbst gekürzt hast (...)
ah, so gesehen hätte der Kommentar besser in die FUNCTION-Zeile gehört;-)
Kann das sonst noch irgendwelche Nebeneffekte haben, die ich jetzt bei einer schnellen Prüfung hätte übersehen können?
Möglich -- ich kenn' Deine .bib ja nicht -- schau Dir den Rest aus Beitrag#7 vllt nochmal etwa ab `aber Vorsicht' an.;)
MfG
Sabine.1234
06-10-2008, 19:17
Hallo,
also ich habe überhaupt keine .bst Datei. Ist das eine, die ich selbst anlegen muss?
Viele Grüße
Sabine
mechanicus
06-10-2008, 20:24
Hallo,
wie du hast keine bst-Datei? In diesen Dateien sind doch dein Styles abgespeichert. Wenn du Miketex nutz, dann schaue mal hier nach:
C:\...\MiKTeX 2.7\bibtex\bst
Da findest du alle Styles und auch die dazugehörigen bst. Was hier besprochen wurde war eine selbsterstellte bst mit makebst (http://de.wikibooks.org/wiki/LaTeX-W%C3%B6rterbuch:_makebst).
Gruß
Marco
Sabine.1234
06-10-2008, 21:40
Ich hatte die Datei über die Suche gesucht und da wurde keine gefunden. In dem Verzeichnis liegen sie aber natürlich... Danke! Werde mal versuchen, eine eigene bst zu erstellen.
Sabine.1234
26-10-2008, 15:48
ersetze in den *.label-Funktionen dieser `myabstract.bst'
{ cite$ #1 #3 substring$ }
zu
{ cite$ #1 #9 substring$ }
nur noch \bibliographystyle entsprechend in der .tex angepasst...
[/LIST]
MfG
Hallo,
also ich verstehe nicht, was ich ändern muss. Habe wie hier angegeben die Änderungen gemacht, aber es verändert sich gar nichts bei der Ausgabe...
Wenn ich den anderen Tipp mit
cite$ 'label := umsetze, dann sind die Keys ja genau die, die ich im Text verwendet habe. Ich verwende den Style geralpha.
Wär super, wenn mir hier jemand auf die Sprünge helfen könnte!
Viele Grüße
Sabine
Moin moin,
Wenn ich den anderen Tipp mit
cite$ 'label := umsetze, dann sind die Keys ja genau die, die ich im Text verwendet habe.
und genau darum geht es in diesem Thread.
Ich verwende den Style geralpha.
Wär super, wenn mir hier jemand auf die Sprünge helfen könnte!
Wäre noch besser, wenn Du erst einmal ein Minimalbeispiel erstellst, das demonstriert, wozu Du eigentlich eine andere Markenbreite bei Verwendung von geralpha benötigst.
MfG
Sabine.1234
27-10-2008, 09:19
Ich habe das Problem, dass die langen Labels in die Quellenangabe eingerückt werden.
Hier mein Beispiel:
\documentclass[a4paper,fontsize=12pt,pointlessnumbers,]{scrreprt}
\usepackage{scrpage2}
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym, %ein Abkürzungsverzeichnis erstellen
toc %Einträge im Inhaltsverzeichnis
]
{glossaries}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage[ngerman]{babel}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{textcomp}
\usepackage{bibgerm}
\usepackage{graphicx}
\usepackage{array}
\usepackage{mathtools}
\usepackage{remreset}
\usepackage{amssymb}
\usepackage[square]{natbib}
\usepackage[justification=centering]{caption}
\usepackage[left=3cm,top=3cm,right=2cm,bottom=2cm,nohead,foot= 1cm]{geometry}
\newglossary[slg]{symbols}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\pagestyle{scrheadings}
\clearscrheadfoot
\ofoot[\pagemark]{\pagemark}
\input{header}
\makeatletter
\@removefromreset{footnote}{chapter}
\renewcommand*\env@cases[1][1.2]{
\let\@ifnextchar\new@ifnextchar
\left\lbrace
\def\arraystretch{#1}
\array{@{}l@{\quad}l@{}}}
\makeatother
\setlength{\parindent}{0.65cm}
\setkomafont{sectioning}{\normalcolor\bfseries}
\begin{document}
\renewcommand*{\chapterheadstartvskip}{\vspace*{-20mm}}
\renewcommand{\acronymname}{Abkürzungsverzeichnis}
\glossarystyle{super}
\renewcommand*{\glspostdescription}{}
\renewcommand{\glsgroupskip}{}
\renewcommand{\glsdescwidth}{12 cm}
\newcommand{\myfootnote}[1]{\footnote{\parbox[t]{0.98\textwidth}{ #1\vspace{0.5em}}}}
\setstretch{1,5}
\include{Kapitel/MeinText}
\bibliographystyle{geralpha}
\bibliography{Literaturverzeichnis}
\end{document}
Einträge in meiner bib-Datei:
@article{GARNETT02,
author= {O. Garnett and A. Mandelbaum and M. Reiman},
title= {Desiging a Call Center with Impatient Customers},
journal= {Manufacturing \& Service Operations Management},
year= {2002},
volume= {4},
number= {3},
pages= {208--227},
}
@incollection{VDI3633,
author= {{Verein Deutscher Ingenieure (VDI)}},
title= {VDI-Richtlinie 3633. Simulation von Logistik-, Materialfluß- und Produktionssystemen. Begriffsdefinitionen},
booktitle= {VDI-Hand\-buch Materialfluß und Fördertechnik},
publisher= {Beuth Verlag},
year= {1996},
volume= {8},
address= {Berlin},
}
Im Text referenziert mit
Das Label dieser Literaturangabe ist zu lang \citep{GARNETT02}.
Dieses ist ok \citep{VDI3633}.
Danke und Gruß
Sabine
Moin Sabine,
also `Minimal' solltest Du vllt nochmal den einen oder anderen Gedanken widmen...
Das Problem scheint mir hier zu liegen:
author= {{Verein Deutscher Ingenieure (VDI)}},
durch die doppelte Klammerung nimmt geralpha `{Ver}96' hier als Marke, die geschweiften Klammern werden bei der Berechnung `breiteste Marke' mit ausgewertet -- und ist damit breiter als `GMR02'.
Evtl. hilft es bereits, wenn Du diesen Autor umschreibst, z. B. zu
author= {VDI, Verein Deutscher Ingenieure},
nicht nur ist `GMR02' dann die Breitere dieser beiden Marken, nebenbei bekommst Du so `VDI96' für die Andere.;)
MfG
Sabine.1234
28-10-2008, 09:21
Du hast natürlich Recht, minimal ist was anderes... Ich weiß nur meist nicht, was ich rauslöschen darf.
Ich habs so
author= {VDI, Verein Deutscher Ingenieure},
versucht, bringt aber keinen Erfolg. Ich hatte auch noch einen anderen ähnlichen Eintrag, den ich angepasst habe.
Sonst gibts keine Doppelklammern...
Hast Du noch eine andere Idee?
Viele Grüße
Sabine
Sabine.1234
28-10-2008, 09:26
Ich muss mich korrigieren, habe da doch noch so einen Eintrag entdeckt, nämlich
author= {{Gabler Verlag}},
Wenn ich die geschweifte Klammer lösche, bekomme ich allerdings eine Quellenangabe mit Ver08. Ich möchte aber, dass der Eintrag unter Gab08 einsortiert wird...
Viele Grüße
Sabine
Was passiert, wenn du stattdessen
author= {Verlag Gabler},
und
author= {Verein Deutscher Ingenieure VDI},
schreibst? Eigentlich müsste das erste Wort als Vorname (also "Verlag") und das zweite als Nachname (also "Gabler") gewertet werden.
Beim Verein Deutscher Ingenieure bin ich mir nicht ganz sicher, wie es genau sein sollte. So wie ich es jetzt gemacht habe, sollte "VDI" als Nachname gelten.
Btw., wieso schreibst du beim ersten Beispiel den Verlag ins Autorenfeld? Hierzu ist doch eher das publisher-Feld zuständig. Afaik kannst du dann, wenn Autor und Editor leer sind, explizit ein key-Feld setzen und den Key selbst definieren.
Und mir ist noch aufgefallen, andere, die diese Richtlinie zitieren, drücken sich um so ein Problem und geben gar keinen Autor an ;)
Z.B. hier (http://www.fb9dv.uni-duisburg.de/vdb/info.php?id=861&mode=veranstaltung&PHPSESSID=5e9c83bf243f2dc0e1d83cef26f6a21b) und hier (http://www.hsb.bfh.ch/NR/rdonlyres/4EF2929D-6269-4350-8D16-D9A423DEDC0A/0/14_Produktionssystem.pdf).
Sabine.1234
28-10-2008, 10:37
Hallo Xenara,
der VDI-Eintrag ist so wie oben von rais vorgeschlagen ok. Alles wunderbar.
Wenn ich aber Gabler Verlag als
author={Verlag Gabler}, eingebe, erhalte ich ja in der Ausgabe
GABLER, VERLAG. Das Komma ist unschön.
Zur author/editor-Anmerkung: Eigentlich brauche ich in Fällen, wo es einen Editor gibt sogar beide Angeben. Das ist das nächste Problem: Ich kann ja nur eine verwenden...
Gruß
Sabine
Moin Sabine,
Wenn ich aber Gabler Verlag als
author={Verlag Gabler}, eingebe, erhalte ich ja in der Ausgabe
GABLER, VERLAG. Das Komma ist unschön.
evtl. ließe sich dieser Eintrag als @manual anlegen, dann könntest Du statt author hier
organization={Gabler Verlag},verwenden.
MfG
Sabine.1234
29-10-2008, 21:52
evtl. ließe sich dieser Eintrag als @manual anlegen, dann könntest Du statt author hier
organization={Gabler Verlag},verwenden.
Sieht zunächst ganz gut aus, aber bei @manual steht das Jahr nicht am Ende. Kann irgendwie bestimmen, dass die Jahreszahl auch hier ans Ende geschrieben wird?
Viele Grüße
Sabine
Sieht zunächst ganz gut aus, aber bei @manual steht das Jahr nicht am Ende. Kann irgendwie bestimmen, dass die Jahreszahl auch hier ans Ende geschrieben wird?
wie sieht Dein Eintrag aus? Bei mir steht das Jahr da...
MfG
Sabine.1234
30-10-2008, 20:35
Hmm, jetzt klappts doch. Vllt. hab ich nicht oft genug kompiliert...
Aber bei @manual steht der Ort weiter vorn. Das sollte eigentlich nicht so sein. Ich habe
@manual{GabLex,
organization= {Gabler Verlag},
title= {Gabler Wirtschafts-Lexikon},
edition= {16.},
address= {Wiesbaden},
year= {2004},
}
eingegeben und
[Gab04] GABLER VERLAG, Wiesbaden: Gabler Wirtschafts-Lexikon, 16. Auflage, 2004.
kommt raus. Bei Büchern steht der Ort unmittelbar vor der Auflage...
Grüße
Sabine
Moin moin,
Aber bei @manual steht der Ort weiter vorn. Das sollte eigentlich nicht so sein.
warum nicht?
Ich habe
@manual{GabLex,
organization= {Gabler Verlag},
title= {Gabler Wirtschafts-Lexikon},
edition= {16.},
address= {Wiesbaden},
year= {2004},
}
eingegeben und
[Gab04] GABLER VERLAG, Wiesbaden: Gabler Wirtschafts-Lexikon, 16. Auflage, 2004.
kommt raus. Bei Büchern steht der Ort unmittelbar vor der Auflage...
aber in beiden Fällen steht der Ort direkt nach dem `Verlag' -- bei @manual muß organization dafür herhalten -- und darauf bezieht sich der Ort, nicht auf die Auflage...
MfG
Sabine.1234
02-11-2008, 20:55
Hmm, ok. Es erschien mir nur irgendwie falsch, dass erst der Ort und dann der Titel kommt.
Nun ja, wenn Dir das nicht nach der Mütze ist, könntest Du auch so etwas machen (Shell; alias EDITOR='was-Du-so-als-Texteditor-bevorzugst'):
cd zu/Deinem/Projekt
cp `kpsewhich geralpha.bst` mygeralpha.bst
EDITOR mygeralpha.bst
also auf einer Konsole in Dein Arbeitsverzeichnis wechseln, die bisher verwendete geralpha.bst (`kpsewhich geralpha.bst`) dort als Kopie `mygeralpha.bst' ablegen (`cp' wie in `copy'), dann Deinen bevorzugten EDITOR damit aufrufen, dort in der Funktion `begin.bib' die vorletzte Zeile etwa so
"\begin{thebibliography}{" longest.label * "\extendmybiblabel}" * write$ newline$
modifizieren, dann kannst Du in Deiner Präambel noch so etwas wie
\newcommand*\extendmybiblabel{X}
deklarieren, sowie \bibliographystyle{mygeralpha} statt `geralpha' setzen:nu kannst Du auch wieder author={{...}} in Deiner .bib verwenden, ggf. brauchst Du so nur diese \newcommand*\extendmybiblabel-Zeile anzupassen.;)
MfG
Sabine.1234
02-11-2008, 23:47
Danke, werde das bei Zeiten mal testen :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.