[GastForen Programme Print/Bildbearbeitung Adobe InDesign Absatzbeginn mit GREP finden

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Absatzbeginn mit GREP finden

Martin Fischer
  
Beiträge gesamt: 12783

11. Okt 2020, 12:39
Beitrag # 16 von 28
Beitrag ID: #577104
Bewertung:
(6291 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Peter Laely ] aber ohne ^ bleibt dein Vorschlag stecken – dh. InDesign weigert sich nach einigen Fundstellen weiter zu suchen


Das macht mich schon wieder stutzig.

Erledigst Du das Ersetzen in einem Rutsch oder interaktiv, Absatz für Absatz?

Wenn InDesign irgendwann aufhören würde, bzw. sich "weigern" würde, weiterzusuchen, dann wäre das – weil nahezu unberechenbar (mal geht's, mal nicht) – ein noch größerer Bug als die Sache mit dem Caret-Zeichen.

Bitte sag, dass es sich um ein Missverständnis handelt. Wenn nicht, bitte ich Dich um eine Beispieldatei, in der sich diese Weigerung von InDesign, weiterzusuchen/-ersetzen reproduzieren lässt.


als Antwort auf: [#577102]
(Dieser Beitrag wurde von Martin Fischer am 11. Okt 2020, 12:41 geändert)
X

Absatzbeginn mit GREP finden

pixxxelschubser
Beiträge gesamt: 1708

11. Okt 2020, 13:40
Beitrag # 17 von 28
Beitrag ID: #577105
Bewertung:
(6277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat „… aber ohne ^ bleibt dein Vorschlag stecken – dh. InDesign weigert sich nach einigen Fundstellen weiter zu suchen …“


Das macht für mich – genau wie für Martin – auch keinen Sinn. Und es widerspricht komplett meinen bisherigen Erfahrungen mit Greps dieser Art.

Zumindest in deiner Beispieldatei ( im „Kleinen“ nachgebaut) funktioniert alles problemlos. Aber genau das ist auch das Grundproblem mit selbstgebastelten Beispieldateien.


als Antwort auf: [#577102]

Absatzbeginn mit GREP finden

Peter Laely
Beiträge gesamt: 17

11. Okt 2020, 18:23
Beitrag # 18 von 28
Beitrag ID: #577106
Bewertung:
(6217 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Martin

Ja, ein Missverständnis – und nach einem Neustart von InDesign läuft Deine (?<=\r). perfekt durch alle Seiten. Auch die damalige (?<=\r)^(.) lief in einem Rutsch durch. Also das was der Kunde wünschte.

Stutzig wurde ich ja erst definitiv mit der eingangs beschriebenen «Fake-Übung»: Absatz-Beginn wird gefunden, und zwei von drei harten Zeilenschaltungen… – ooops, 2 von 3?

Das ^ zu diskutieren macht Spass … auch ich finde, dass der Absatzbeginn was anderes ist als eine Zeilenschaltung.
Aber eben – vielleicht existieren hier mir unbekannte Zusammenhänge, bspw mit MultilineMode? Oder sowas?


Liebe Grüsse und DANKE euch allen, Peter


als Antwort auf: [#577105]

Absatzbeginn mit GREP finden

Martin Fischer
  
Beiträge gesamt: 12783

15. Okt 2020, 11:25
Beitrag # 19 von 28
Beitrag ID: #577148
Bewertung: |||
(5409 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die Unschärfe bzw. Doppelbedeutung des "^" als Positionsmarke für sowohl einen Absatzbeginn als auch den Beginn einer neuen Zeile nach einer erzwungenen Zeilenschaltung (Shift-Return) ist nun meinerseits als Fehler beschrieben:

GREP position marker "^" = Beginning of Paragraph
(not beginning of a new line after a forced line break)


Mit unterstützenden Stimmen kann die Korrektur befördert werden.


als Antwort auf: [#577106]

Absatzbeginn mit GREP finden

pixxxelschubser
Beiträge gesamt: 1708

15. Okt 2020, 15:47
Beitrag # 20 von 28
Beitrag ID: #577161
Bewertung:
(5355 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
gevotet


als Antwort auf: [#577148]

Absatzbeginn mit GREP finden

Peter Laely
Beiträge gesamt: 17

15. Okt 2020, 16:01
Beitrag # 21 von 28
Beitrag ID: #577162
Bewertung:
(5360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super Martin – ebenfalls gevotet !


als Antwort auf: [#577148]

Absatzbeginn mit GREP finden

Martin Fischer
  
Beiträge gesamt: 12783

15. Okt 2020, 16:07
Beitrag # 22 von 28
Beitrag ID: #577164
Bewertung:
(5356 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Prima!

Übrigens bin ich von jemanden auf einen (funktionierenden) Ausdruck für den Absatzbeginn aufmerksam gemacht worden:

Code
(?<!\n)^. 


Analog dazu lautet der Ausdruck für das Absatzende

Code
.$(?!\n) 


Man muss also einfach nach dem suchen, was man ursprünglich im Sinn hatte und dann \n ausschließen.
Quasi von hinten durch die Brust ins Auge. Smile


als Antwort auf: [#577161]

Absatzbeginn mit GREP finden

pixxxelschubser
Beiträge gesamt: 1708

15. Okt 2020, 16:31
Beitrag # 23 von 28
Beitrag ID: #577165
Bewertung:
(5334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat … Quasi von hinten durch die Brust ins Auge. Smile


From behind through the chest into the eye.
[:D]


als Antwort auf: [#577164]
(Dieser Beitrag wurde von pixxxelschubser am 15. Okt 2020, 16:32 geändert)

Absatzbeginn mit GREP finden

Martin Fischer
  
Beiträge gesamt: 12783

16. Okt 2020, 08:26
Beitrag # 24 von 28
Beitrag ID: #577174
Bewertung:
(5231 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nach einigem Nachdenken und Reflektieren muss ich jetzt feststellen, dass ich/wir den Schwanz mit dem Hund haben wedeln lassen.

Der eigentliche Fehler liegt nicht darin, dass sich das Caret-Zeichen ^ nicht auf den Absatzbeginn beschränkt und darüberhinaus auch den Beginn einer neuen Zeile berücksichtigt. Nein, der eigentliche Fehler liegt darin, dass Adobe diese Positionsmarke ^ als "Absatzbeginn" bezeichnet bzw. der Begriff "Absatzbeginn" eine gewisse Unschärfe in sich trägt. Und da diese Marke auch Positionen finden, die nicht Absatzbeginn sind, sondern Zeilenbeginn, weisen wir zu Recht auf eine Differenz zwischen Bezeichnung und Wirkung hin.

Unter einem Absatz verstehen wir eine Texteinheit, die zwischen bestimmten Begrenzern eingeschlossen ist:
– zwei Absatzschaltungen (RETURNs)
– Textanfang + Absatzschaltung
– Absatzschaltung + Textende
– Textanfang + Textende
(theoretisch könnte man nun auch die Trennung von Text durch Shift-Return [ein besonderes Return] als ein "Absetzen" = einen Absatz verstehen)

Computertechnisch hat sich diese "Sinneinheit" aus Begrifflichkeiten um die Schreibmaschine und den Telegrafen entwickelt: Wagenrücklauf (carriage return, cr) und Zeilenvorschub (line feed, lf).
Bei der Schreibmaschine war noch jede neue Zeile mit Beginn im Bereich des linken Rands mit einem handgreiflich verursachten Wagenrücklauf in Gemeinschaft mit einem Zeilenvorschub verbunden. Ein Absatz ("ab-setzen", hervorheben) wurde daraus erst mit einer besonderen Gestaltung: (Erst-)Zeileneinzug bzw. Leerzeile (vergrößerter Zeilenvorschub).
Tatsächlich war aber unter diesen mechanischen Bedingungen jede Zeile – unabhängig ob neuer Absatz oder nur neue Zeile – mit einem Zeilenvorschub verbunden.

Auf dem Computer haben sich mit verschiedenen Betriebssystemen dann unterschiedliche Bezeichnungen und Codierungen für den Zeilenvorschub entwickelt:

Zitat von https://de.wikipedia.org/wiki/Zeilenvorschub In den verschiedenen Betriebssystemen wurde aber uneinheitlich verfahren. Bei manchen wurde die Interpretation der typografischen Absatzmarke (¶ Pilcrow) durch die Zeichenkette CR LF (entspricht ASCII 0x0D 0x0A) unverändert weitergenutzt – so etwa bei CP/M, DOS und Windows (und damit auch in Texteditoren wie Notepad) – bei anderen, namentlich Unix und Unix-artigen Systemen, wurde dieser auf das einzelne Zeichen LF Line Feed (den hier thematisierten Zeilenvorschub) gekürzt, unter klassischem Mac OS hingegen auf das einzelne Zeichen CR Carriage Return (den Wagenrücklauf). Und wieder andere Systeme kennen ein eigenes Zeichen NL oder NEL (engl. für New Line oder Next Line) oder ein Zeichen EOL (engl. für End of Line). Aus diesem Grund ist der Austausch von Textdateien zwischen unterschiedlichen Betriebssystemen erheblich erschwert. Viele Programme (zum Beispiel Browser) akzeptieren daher jedes dieser Steuerzeichen als Zeilenvorschub, auch wenn dies technisch nicht ganz korrekt ist. In anderen Programmen unterscheiden CR und LF das Absatzende ¶ und den harten Zeilenumbruch _| oder den Spaltenumbruch.


Langer Rede kurzer Sinn:
^ sucht nicht nach einem Absatzbeginn, wie die Bezeichnung, die Adobe dafür gewählt hat, nahelegt, sondern nach einem per Tastatur vorgenommenen Zeilenbeginn - egal ob nun ein Return oder ein Shift-Return eingegeben wurde.

Insofern führt die GREP-Suche genau das aus, wofür das ^ im Kontext der regulären Ausdrücke steht: Position Zeilenanfang. Wobei dieser "Zeilenanfang" nicht jeden Zeilenanfang (weicher Umbruch) einschließt, sondern nur solche, die durch ein entsprechendes Zeichen (Return oder Shift-Return) oder durch den "Textbeginn" veranlasst wurden.

Der Fehler liegt also nicht in der tatsächlichen Wirkung,
sondern in der irreführenden Bezeichnung.

Insofern stellen die beiden Ausdrücke
Code
(?<!\n)^. 

und
Code
.$(?!\n) 

nicht eine überflüssige oder vermeidbare Umschweife dar, sondern vielmehr eine Präzisierung/Vergenauerung des Zeilenvorschubzeichens (nicht nach/vor dem \n; also nur nach dem damit verbleibenden \r).

Für die lange Ausführung bitte ich um Entschuldigung. Mitunter bedarf es eines weiten Rundumschlags, um sich selbst von falschen Überzeugungen zu befreien. ;-)

(Konsequenterweise müsste ich eigentlich meinen Bugreport jetzt löschen oder die o.g. Ausführungen dorthin übersetzen lassen. Denn u.U. bedeutete eine Änderung der Wirkung von ^ einen Fehler im Hinblick auf die Konventionen andernorts ... Was tun?)


als Antwort auf: [#577165]
(Dieser Beitrag wurde von Martin Fischer am 16. Okt 2020, 08:29 geändert)

Absatzbeginn mit GREP finden

typecookie
Beiträge gesamt: 63

16. Okt 2020, 10:12
Beitrag # 25 von 28
Beitrag ID: #577177
Bewertung:
(5161 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die lange Erklärung. Find ich super und wirklich informativ.

Antwort auf: (Konsequenterweise müsste ich eigentlich meinen Bugreport jetzt löschen oder die o.g. Ausführungen dorthin übersetzen lassen. Denn u.U. bedeutete eine Änderung der Wirkung von ^ einen Fehler im Hinblick auf die Konventionen andernorts ... Was tun?)


Vielleicht einfach eine Korrektur der Übersetzung bzw. eine korrekte Benennung vorschlagen ;-)

Es bleibt aber – wenn ich die Diskussion richtig verfolgt habe – immer noch die Frage, warum die Grepsuche in Indesign 15 in dem Beispiel von Peter Laely je Absatz nur 2 von drei Fundstellen auflistet. Das finde ich beunruhigend und ich frage mich, was mir bei der Bereinigung von sehr langen Dokumenten wohl noch durchgeht …


als Antwort auf: [#577174]

Absatzbeginn mit GREP finden

Martin Fischer
  
Beiträge gesamt: 12783

16. Okt 2020, 10:32
Beitrag # 26 von 28
Beitrag ID: #577180
Bewertung:
(5146 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: warum die Grepsuche in Indesign 15 in dem Beispiel von Peter Laely je Absatz nur 2 von drei Fundstellen auflistet.


Das war m.E. einmal der experimentellen Einrichtung des Beispiels geschuldet (\n\n\n\r\n\n\n\r\n\n\n\r...), das so in der Realität eher nicht vorkommen dürfte.

Und dann war es der Tatsache geschuldet, dass nach der Positionsmarke allein und nicht in Kombination mit weiteren Zeichen (. oder \w) gesucht wurde.
Hier landen (wie gezeigt) unterschiedliche InDesign-Versionen unterschiedliche Ergebnisse.

Wenn Du bei der Suche die Positionsmarke mit weiteren Zeichen kombinierst sollten diese Unterschiede bei den Treffern nicht mehr erscheinen.

Aber - wie oben bei Peter gesehen - passieren manchmal auch unvorhergesehene Dinge, die sich durch einen Neustart des Programms oder des Rechners abstellen lassen.


als Antwort auf: [#577177]

Absatzbeginn mit GREP finden

pixxxelschubser
Beiträge gesamt: 1708

16. Okt 2020, 10:46
Beitrag # 27 von 28
Beitrag ID: #577182
Bewertung:
(5134 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich schließe mich an.
Egal ob fehlerhafte Übersetzung oder fehlerhafte Ausführung – eine Frage bleibt.

Warum findet:
Code
^ 

oder
Code
(^(\r|\n)) 

alle Absatzschaltungen und meistens einen Zeilenanfang – aber in dem eingangs genannten Beispiel NICHT den ersten nachfolgenden Zeilenanfang nach einer Absatzschaltung ???



[edit]
Ich war zu langsam,
du hattest schon geantwortet.
Das Problem an experimentellen Fehlern ist, dass sie dann im täglichen Alltag unverhofft wieder auftauchen.
[/edit]


.


als Antwort auf: [#577177]
(Dieser Beitrag wurde von pixxxelschubser am 16. Okt 2020, 10:52 geändert)

Absatzbeginn mit GREP finden

typecookie
Beiträge gesamt: 63

16. Okt 2020, 10:56
Beitrag # 28 von 28
Beitrag ID: #577183
Bewertung:
(5126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, es ist mir schon klar, dass es ein gestelltes Beispiel ist, aber man sollte nie die Kreativität der Ersteller/Bearbeiter von Word- oder Indesign-Dateien unterschätzen. Da liegt auch das gestellte Beispiel nicht außerhalb der Realität und bei der weiteren Bearbeitung/Bereinigung der Daten benötigt man manchmal ausgefallene, komplexe oder eben ganz simple Suchterme, wie einen einzelnen "Absatzbeginn".

Und wenn nicht alle Fundstellen gelistet werden, hinterlässt das einen Nachgeschmack und verunsichert.

Gerade bei sehr umfangreichen Dateien und "vermurksten" zugelieferten Daten möchte man sich doch auf die Suchen verlassen können.

Mir ist das Suchergebnis bei Peter Laelys Beispiel zu reproduzierbar um als zufällig zu gelten. Warum findet die Suche nach dem "Absatzbeginn" diesen direkt nach der Absatzschaltung nicht (also dort, wo der Absatz tatsächllich beginnt)? Sondern nur jeweils nach einer harten Zeilenschaltung?


als Antwort auf: [#577180]
(Dieser Beitrag wurde von typecookie am 16. Okt 2020, 11:11 geändert)
X