Seite 1 von 1

Einträge im Inhaltsverzeichnis hintereinander

Verfasst: Di 26. Feb 2019, 16:23
von dhijtu
Liebes Forum,

ich möchte mein Inhaltsverzeichnis so formatieren, dass in Ebene 3 die Einträge nicht mit Nummer und Seite stets in einer neuen Zeile erscheinen, sondern "hintereinander weg", am besten durch Trennzeichen (entweder | oder – ) separiert erscheinen. Ich würde mir wünschen, dass die Hyperlink-Struktur erhalten bleibt und dass ich das Verzeichnis nicht händisch modifzieren muss, damit es weiterhin aktualisiert werden kann.

Dies ist eine vor allem in längeren Theorie-Texten gängige Praxis, die es erlaubt, Inhaltsverzeichnisse bis ins Detail zu überblicken, wobei es ja häufig nicht so wichtig ist, auf welcher Seite genau ein kurzer Abschnitt zu finden ist, als vielmehr zu eruieren, was in dem übergeordneten Abschnitt so passiert. Auf die Schnelle habe ich nur ein ungefähres Beispiel gefunden, das ich anhänge (hier sind auch Seitenzahlen enthalten, das wäre mir aber nicht so wichtig) -> Abb. 1.


Ich habe ein weiteres Bild angehängt (Abb. 2) von einem Verzeichnis, wie ich es aktuell ungefähr habe – unter Abschnitt 1.1 sollte optimalerweise dann so etwas stehen wie:
Thema 1 | Thema 2 | Thema 3 ...



Ich würde mich freuen, wenn sich Hilfe findet!
Viele Grüße,
dhijtu
Abb. 1
Abb. 1
Bildschirmfoto vom 2019-02-26 16-10-01.png (111.35 KiB) 2056 mal betrachtet
Abb. 2
Abb. 2
Bildschirmfoto vom 2019-02-26 16-16-11.png (38.12 KiB) 2056 mal betrachtet

Re: Einträge im Inhaltsverzeichnis hintereinander

Verfasst: Mi 20. Mär 2019, 18:30
von dhijtu
Hat niemand eine Idee? :|

Re: Einträge im Inhaltsverzeichnis hintereinander

Verfasst: Mi 20. Mär 2019, 22:25
von Pit Zyclade
Automatisch wird das mit AOO oder LO so nicht gehen, weil es so nicht vorgesehen ist. Du verlangst von diesen kostenlosen Programmen etwas, obwohl Du nachträglich mit eigener Hände Arbeit es selbst gestalten kannst. Die einzige Vorschrift ist die, dass solche Nacharbeit nur am Ende möglich ist, weil durch die Nacharbeit die automatische Einordnung im Falle einer Textänderung zerstört würde und alles wieder von vorne beginnen würde. Übrigens muss man die Änderung am Inhaltsverzeichnis bei der Erstellung gestatten, sonst geht es nicht.

Re: Einträge im Inhaltsverzeichnis hintereinander

Verfasst: Do 21. Mär 2019, 07:20
von miesepeter
Pit Zyclade hat geschrieben:
Mi 20. Mär 2019, 22:25
Automatisch wird das mit AOO oder LO so nicht gehen, weil es so nicht vorgesehen ist... Übrigens muss man die Änderung am Inhaltsverzeichnis bei der Erstellung gestatten, sonst geht es nicht.
Man kann sicherlich das Ergebnis (Inhaltsverzeichnis) z.B. mit Hilfe von SUCHEN&ERSETZEN relativ einfach umformatieren. Es bedeutet aber, siehe Pit Zyclade, einen manuellen Mehraufwand, der nur am Ende der Arbeit sinnvoll erscheint. - Ciao

Re: Einträge im Inhaltsverzeichnis hintereinander

Verfasst: Do 21. Mär 2019, 14:16
von musikai
Um Absatz-Umbrüche zu finden, braucht man glaube ich die Erweiterung "Alternative Search and Replace".
Die normale Suche mit regulärem Ausdruck "\n" findet nur Zeilenumbrüche.

Drum hier mal ein anderer Weg per macro.
Innerhalb eines ausgewählten Textabschnitts ersetzt es alle Absatz-Umbrüche durch: Leerzeichen | Leerzeichen
und alle Tabulaturen durch einfache Leerzeichen.
Du musst ihm aber mitteilen auf welche Absatzvorlage es sich beschränken soll. In meinem Beispiel soll es nur für "Inhaltsverzeichnis 4" gelten. Deswegen steht in der ersten Zeile:

Code: Alles auswählen

Absatzvorlage = "Contents 4"
Dann wird mit einem Click z.B. aus:
Davor.PNG
Davor.PNG (14.01 KiB) 1936 mal betrachtet
Das hier:
Danach.PNG
Danach.PNG (12.62 KiB) 1936 mal betrachtet
mit intakten Hyperlinks.

Hier das Macro:

Code: Alles auswählen

Sub replace_paragraph_breaks      'in selection
Absatzvorlage = "Contents 4"
oDoc = ThisComponent
rem oDoc.lockcontrollers
oVC = oDoc.CurrentController.getViewCursor
oText=oVC.Text
oEndCursor=oText.createTextCursorByRange(oVC.End)
oTextCursor=oText.createTextCursorByRange(oVC.Start)

do while oText.compareRegionEnds(oTextCursor,oEndCursor) > 0
oTextCursor.goright(1,true)
if oTextCursor.ParaStyleName=Absatzvorlage then
	if instr(oTextCursor.string,chr(13))>0 then oTextCursor.string=" | "
	if instr(oTextCursor.string,chr(9))>0 then oTextCursor.string=" "
end if
oTextCursor.collapsetoend
loop
rem oDoc.unlockcontrollers
End Sub