Ich möchte eine eigene Literaturliste erstellen.
Eine Datenbank ist nicht unbedingt nötig, es würde auch eine längere Calc-Tabelle reichen (mit Untertabellen "Primärliteratur", "Sekundärliteratur" o. ä.).
Es gibt darin Felder mit Inhalten wie "Vorname" (des Verfassers), "Nachname", "Titel", "Untertitel", "Ort", "Jahr", "Auflage" u. a. - soweit also alles wie in der on-board-Literaturdatenbank von Open Office.
Der wichtige Unterschied zu der eingebauten Literaturdatenbank ist die Beschaffenheit des Identifiers, der eben nicht, wie im englischen Sprachraum üblich, Willy Müllers Aufsatz von 1979 als "MÜL79" zitiert. Den könnte man ja auch per Hand eintragen. Nein, bei uns (= Germanistische Literaturwissenschaft) wird ausführlicher zitiert, nämlich so:
Der "Identifier" oder, wie ich ihn nennen würde, "Kurztitel" sieht so aus:
=Name&", "Vorname&": "&Titel.
So weit, so einfach.
Und nun kommts: Ich möchte diesen Kurztitel gerne durch einen Klick auf die vorn stehende Zeilennummer in den Zwischenspeicher laden und nicht durch Rechtsklick auf den Identifier plus "Kopieren" aus dem Kontextmenü (bzw. Linksklick auf das Feld und Ctrl+C).
Was ich gern hätte, wäre also ein Ein-Klick-Kopiervorgang. Klingt mega-faul, ist aber, zumal, wenn man unter Zeitdruck schreiben muß, äußerst hilfreich.
Falls das so nicht geht, wäre es schon mal gut, wenn bei angeklickter Zeile das Auslösen eines Makros per Tastatur der Inhalt der zugehörigen A-Zelle (da steht der Identifier drin) kopiert würde. Das wäre schon mal schneller als das Herumfahren im Kontextmenü.
Ich bin sehr dankbar für jede Hilfe.
PS: Wenn jemand meint, daß das aber doch besser mit einer Datenbanklösung funktioniert, bin ich auch da Vorschlägen gegenüber sehr offen.
Makroprogrammierung in Calc für Literaturliste
Moderator: Moderatoren
Ich habe Deine Ausführungen gelesen, nur erschließt sich mir der Sinn nicht. Wer hindert Dich denn daran in die vorhandene Datenbank den von Dir gewünschten Kurztitel einzutragen.
Klar geht das mit einer Calc-Tabelle bloß Du mußt doch dann alles per Hand machen Einträge im Dokument und Erstellen des Literaturverzeichnisses. Was soll das?
Gruß
stephan
Klar geht das mit einer Calc-Tabelle bloß Du mußt doch dann alles per Hand machen Einträge im Dokument und Erstellen des Literaturverzeichnisses. Was soll das?
Gruß
stephan
Den Kurztitel müßte ich in der vorhandenen Datenbank jedesmal per Hand eintragen, was bei einer (bislang!) knapp dreistelligen Literaturliste ein bißchen mühsam ist. Einmal das Datenblatt selbst zu erstellen, ist schnell geschehen.
Ich habe ein Datenblatt erstellt, das sich den Identifier wie oben beschrieben zusammenliest und zusätzlich die Möglichkeit läßt, einen Kurztitel per Hand einzugeben (manchmal ist der Anfang eines Titels einfach nicht aussagekräftig genug). Das geht ziemlich einfach: Sobald der manuell eingegebene Kurztitel ="", also leer, ist, wird der Identifier aus Namen, Vornamen und Titel zusammengestellt.
Ich habe auch einen Knopf an den Anfang der Tabellenzeile gebastelt, der den Identifier kopiert. Allerdings ist der nicht zu sehen, wenn ich per F4 dieses Tabellendokument als Datenbank aufrufe.
Ich habe ein Datenblatt erstellt, das sich den Identifier wie oben beschrieben zusammenliest und zusätzlich die Möglichkeit läßt, einen Kurztitel per Hand einzugeben (manchmal ist der Anfang eines Titels einfach nicht aussagekräftig genug). Das geht ziemlich einfach: Sobald der manuell eingegebene Kurztitel ="", also leer, ist, wird der Identifier aus Namen, Vornamen und Titel zusammengestellt.
Ich habe auch einen Knopf an den Anfang der Tabellenzeile gebastelt, der den Identifier kopiert. Allerdings ist der nicht zu sehen, wenn ich per F4 dieses Tabellendokument als Datenbank aufrufe.
Ich wußte nicht das Du die Daten schon vorliegen hast, aber wo ist denn nun das Problem diese Daten als Daten für die Literaturdatenbank einzubinden? Denn mit der Datenbankfunktionalität hast Du doch schon gearbeitet, wenn ich lese:Den Kurztitel müßte ich in der vorhandenen Datenbank jedesmal per Hand eintragen, was bei einer (bislang!) knapp dreistelligen Literaturliste ein bißchen mühsam ist. Einmal das Datenblatt selbst zu erstellen, ist schnell geschehen.
Es könnte evtl. zweckmäßig sein die Calc-Tabelle als dBase zu speichern bevor Du sie einbindest. Nach meiner Erfahrung mußt Du die Feldbezeichner der Orginalliteraturdatenbank für Deine Tabelle beibehalten damit es richtig funktioniert.wenn ich per F4 dieses Tabellendokument als Datenbank aufrufe.
Gruß
Stephan
Vorliegen habe ich die Literaturliste schon, aber nicht in Form einer Datenbank. (Genaugenommen habe ich sie vorliegen in großen, großen Stapeln von Fotokopien und Büchern :shock: )
Ich habe lediglich ein wenig mit der Datenbank und Calc-Sheets herumprobiert.
Ich versuche es nochmal zu erklären:
Ich müßte bei einer großen Menge von Literaturangaben den Identifier jedesmal neu schreiben, mir also die doppelte Arbeit machen, denn er bestünde in der Form, in der ich ihn brauche, aus der Summe aus Vor- und -nachname des Autors plus Titel.
Zumindest im Normalfall. Im anderen ist der Titel zu lang, und dann müßte ich ihn doch manuell eingeben (was ok ist).
Mein Test-Calc-Sheet sieht so aus: Es gibt ein Feld "Kurztitel", und wenn das leer ist, dann besteht der Inhalt des Identifiers aus der oben beschriebenen Summe.
Das ist einfach und komfortabel, hat allerdings nichts mehr mit der originalen Literaturdatenbank zu tun.
Der andere Punkt ist der, daß ich möglichst mit einem Klick den Identifier aus der Literaturliste herauskopieren möchte, wenn ich den entsprechenden Text zitiere.
Im Calc-Sheet geht das mit einem Knopf und einem Makro dahinter, das den Inhalt des Identifiers kopiert.
Zwei Probleme ergeben sich dabei:
1. Wenn ich über F4 die Literaturdatenbank aufrufe, bleibt die erste Spalte jeder Zeile, in der sich mein Kopierknopf befunden hat, leer. Mit anderen Worten: Das Makro aus dem Calc-Sheet läßt sich nicht im Writer aufrufen.
2. Wenn man ausweicht und nicht über F4 das Calc-Sheet aufruft, sondern es mit Calc im Hintergrund geöffnet hält und dann rüberschaltet und kopiert, erhält man nicht den Inhalt, sondern ein Feld (oder so etwas). Man müßte also auch noch "Inhalte einfügen" wählen, nochmal Mehrarbeit.
Das würde ich alles gern einfacher und schneller haben, weil diese Abläufe wieder und wieder durchgeführt werden, ich weiß aber nicht wie das zu machen wäre.
Ich habe lediglich ein wenig mit der Datenbank und Calc-Sheets herumprobiert.
Ich versuche es nochmal zu erklären:
Ich müßte bei einer großen Menge von Literaturangaben den Identifier jedesmal neu schreiben, mir also die doppelte Arbeit machen, denn er bestünde in der Form, in der ich ihn brauche, aus der Summe aus Vor- und -nachname des Autors plus Titel.
Zumindest im Normalfall. Im anderen ist der Titel zu lang, und dann müßte ich ihn doch manuell eingeben (was ok ist).
Mein Test-Calc-Sheet sieht so aus: Es gibt ein Feld "Kurztitel", und wenn das leer ist, dann besteht der Inhalt des Identifiers aus der oben beschriebenen Summe.
Das ist einfach und komfortabel, hat allerdings nichts mehr mit der originalen Literaturdatenbank zu tun.
Der andere Punkt ist der, daß ich möglichst mit einem Klick den Identifier aus der Literaturliste herauskopieren möchte, wenn ich den entsprechenden Text zitiere.
Im Calc-Sheet geht das mit einem Knopf und einem Makro dahinter, das den Inhalt des Identifiers kopiert.
Zwei Probleme ergeben sich dabei:
1. Wenn ich über F4 die Literaturdatenbank aufrufe, bleibt die erste Spalte jeder Zeile, in der sich mein Kopierknopf befunden hat, leer. Mit anderen Worten: Das Makro aus dem Calc-Sheet läßt sich nicht im Writer aufrufen.
2. Wenn man ausweicht und nicht über F4 das Calc-Sheet aufruft, sondern es mit Calc im Hintergrund geöffnet hält und dann rüberschaltet und kopiert, erhält man nicht den Inhalt, sondern ein Feld (oder so etwas). Man müßte also auch noch "Inhalte einfügen" wählen, nochmal Mehrarbeit.
Das würde ich alles gern einfacher und schneller haben, weil diese Abläufe wieder und wieder durchgeführt werden, ich weiß aber nicht wie das zu machen wäre.
Zumindest im Normalfall. Im anderen ist der Titel zu lang, und dann müßte ich ihn doch manuell eingeben (was ok ist).
Mein Test-Calc-Sheet sieht so aus: Es gibt ein Feld "Kurztitel", und wenn das leer ist, dann besteht der Inhalt des Identifiers aus der oben beschriebenen Summe.
Das ist einfach und komfortabel, hat allerdings nichts mehr mit der originalen Literaturdatenbank zu tun.
Ist mir völlig unverständlich. Du hast eine Calc-Tabelle, dort erfolgt die erzeugung des Identifiers offensichtlich durch String-Verknüpfung aus anderen Feldern. Das scheint so zu funktionieren wie Du es willst, oder nicht?
Wenn ja, warum bindest Du dann nicht diese Tabelle als Datenquelle ein?
wohin kopieren?Der andere Punkt ist der, daß ich möglichst mit einem Klick den Identifier aus der Literaturliste herauskopieren möchte, wenn ich den entsprechenden Text zitiere.
1. Wenn ich über F4 die Literaturdatenbank aufrufe, bleibt die erste Spalte jeder Zeile, in der sich mein Kopierknopf befunden hat, leer. Mit anderen Worten: Das Makro aus dem Calc-Sheet läßt sich nicht im Writer aufrufen.
ist da nun doch schon die Calc-Tabelle als Datenquelle eingebunden?
Das Makro läuft nicht weil es sich in der Dokumentbibliothek befindet, verlege es in eine der OpenOffice-Bibliotheken und Du kannst es von überall her starten. Schaltflächen sind natürlich Objekte und werden nicht in die Felder einer Datenbank übernommen.
Bloß wenn Du mit F4 die Datenquellen und die richtige Tabelle anzeigen läßt kannst Du doch ohne Makro und sonstige Tricks den Inhalt jedes beliebigen Feldes mittels Maus an jede beliebige Stelle des Dokuments ziehen und fallen lassen. Er wird sofort als "normaler Text" eingefügt. Oder warum geht das nicht?
Gruß
Stephan
Bleibt noch eine Frage: Kann man mit so einer selbstgebauten Literaturdatenbank genau so arbeiten wie mit der eingebauten?
ja, wenn Du das vorhättest. Die gesamte Diskussion kreist jedoch darum das Du alles unbedingt anders machen willst als vorgesehen. Ich hatte ganz am Anfang bereits darauf hingewiesen:
Klar geht das mit einer Calc-Tabelle bloß Du mußt doch dann alles per Hand machen Einträge im Dokument und Erstellen des Literaturverzeichnisses.
Es könnte evtl. zweckmäßig sein die Calc-Tabelle als dBase zu speichern bevor Du sie einbindest. Nach meiner Erfahrung mußt Du die Feldbezeichner der Orginalliteraturdatenbank für Deine Tabelle beibehalten damit es richtig funktioniert.
Und die Literatur automatisch auflisten geht natürlich nur wenn Du die Identifier-Einträge der Literaturdatenbank als Felder in Dein Dokument einfügst (Einfügen>Literaturverzeichnis>Literaturverzeichniseintrag-->aus Datenbank). Du kannst Deine Daten in Calc zusammenstellen, auch in Bezug auf das Identifierfeld und dann einbinden. Hab ich alles beschrieben, aber das willst Du ja nicht.
Das Du Anfänger bist ist gar kein Problem, nur das Du die Literaturdatenbank nicht benutzen willst leuchtet mir unter diesen Umständen nicht ein.Und im übrigen: Danke für Deine Mühe! Ich hatte versucht, mich verständlich auszudrücken, aber weil ich, was Datenbanken/Tabellen-Einbindung unter OOo angeht, blutiger Anfänger bin, ist das wohl nicht so recht gelungen.
Es ist natürlich möglich eine eigene Literaturdatenbank ganz nach Deinen Bedürfnissen per Makro zu erstellen und kein unüberwindliches Hindernis. Nur: es ist dann nicht damit getan das Du die Kurzzitate automatisch per Makro einfügst sondern die Erzeugung des Literaturverzeichnisses muß dann auch per Makro gesteuert werden was heißt Du mußt die Einträge richtig positionieren und formatieren - geht alles ohne Zweifel ist aber ein sehr hoher Aufwand.
Ich kann jetzt höchstens noch darauf verweisen das es für die Litaraturdatenbank "Literat" so etwas gibt (http://www.literat.net/index.html), das ist dann aber auf diese spezielle Datenbank abgestimmt.
Gruß
Stephan