[GastForen Programme Print/Bildbearbeitung Adobe InDesign Absatzformat in Tabelle steuern

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

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

16. Nov 2019, 16:49
Beitrag # 1 von 17
Bewertung:
(13198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Zugegeben ich habe bislang selten mit Tabellen gearbeitet. Ich stelle mir das hierarchisch vor:
1. Erstellen einer neuen Tabelle mit Tabellenformat XYZ.
2. In XYZ sind die Zellenformate definiert: KOP für den Kopf und STD für die Körperzellen.
3. Im Zellenformat STD wiederum ist ein Absatzformat (AF linksbündig) festgelegt.

Wenn ich nun in die Tabelle schreibe, würde ich erwarten, dass dies mit dem festgelegten Absatzformat geschieht. Leider ist das nicht so. Weder die Definition "AF linksbündig" in STD noch die Definition "AF fett" in KOP werden umgesetzt.

Im Bedienfeld für Tabellenformate wird korrekt XYZ angezeigt.
Im Bedienfeld für Zellenfomate wird "[ohne]+" angezeigt, unten steht aber korrekt STD als vom Tabellenformat dirigiertes Zellenformat. Nur das von STD abhängige Absatzformat greift nicht. Erst wenn ich "[ohne]" anwende und die "Abweichungen lösche", greift das im Zellenformat hinterlegte Absatzformat.

Wie kann das Zellenformat "[ohne]" bei einer neu erstellten Tabelle bereits ein "+" haben? Wie verhindere ich dies?
.
X

Absatzformat in Tabelle steuern

Henry
Beiträge gesamt: 967

18. Nov 2019, 09:25
Beitrag # 2 von 17
Beitrag ID: #572889
Bewertung:
(12845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
ich hab es mal bei einem frischen CS4-indd nachgestellt:

- das "+" taucht bei mir nicht auf, und die AFs werden korrekt zugewiesen. Allerdings gab es schon zu früheren Zeiten sooooo viele Meldungen zum auftauchenden "+", vor allem bei den Absatzformaten, dass sich darüber wohl niemand mehr aufregt und niemand eine/die Lösung parat hat?!

- die Anzeige von "[Ohne]" bei den Zellformaten kann ich bestätigen. Sieht spontan aus wie ein Bug - wenn man z.B. die einzelnen Zellenformate danach (nochmals, aber) manuell zuweist, passt es?!
Merkwürdig ist aber die von dir erwähnte, zusätzliche Anzeige links unten, sowas gibt es doch in keinem anderen Formatvorlagenfenster? Das lässt vermuten, da stecke doch ein tieferer Sinn hinter dem "[Ohne]" bei frisch angelegten Zellenformaten?!?

Gruß,Henry


als Antwort auf: [#572887]

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

18. Nov 2019, 09:55
Beitrag # 3 von 17
Beitrag ID: #572890
Bewertung:
(12825 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: - die Anzeige von "[Ohne]" bei den Zellformaten kann ich bestätigen. Wenn man z.B. die einzelnen Zellenformate danach (nochmals, aber) manuell zuweist, passt es?!
Merkwürdig ist aber die von dir erwähnte, zusätzliche Anzeige links unten, sowas gibt es doch in keinem anderen Formatvorlagenfenster? Das lässt vermuten, da stecke doch ein tieferer Sinn hinter dem "[Ohne]" bei frisch angelegten Zellenformaten?!?


In der Tat gibt es eine "mehrstufige" Formatzuweisung. Unten links im Zellenformatfenster steht das durch das Tabellenformat dirigierte Format, oben das händisch zugewiesene. Warum das nur hier so ist und nicht z.B. auch bei den verschachtelten Absatzformaten, ist mir allerdings unklar.

Wenn ich das Zellenformat STD händisch zuweise, wird auch das darin enthaltene Absatzformat übernommen. Wenn es nur durch das Tabellenformat dirigiert wird, hingegen nicht. "Verursacher" iat das "+" Wenn nämlich das Zellenformat "[ohne]" (ohne "+") ausgewählt ist, werden mit dem links unten angezeigten Zellenformat auch die Absatzformate richtig übernommen. Mysteriös.

Ich arbeite übrigens mit CS6.


als Antwort auf: [#572889]

Absatzformat in Tabelle steuern

Henry
Beiträge gesamt: 967

18. Nov 2019, 11:03
Beitrag # 4 von 17
Beitrag ID: #572892
Bewertung:
(12800 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: In der Tat gibt es eine "mehrstufige" Formatzuweisung. Unten links im Zellenformatfenster steht das durch das Tabellenformat dirigierte Format, oben das händisch zugewiesene. ...

Stimmt, so tief war ich nicht in der Materie.

Für mich bleibt das Merkwürdige, dass nach der Tabellendefiniton dort "[Ohne]" angezeigt wird, was ja falsch ist.

In deinem Fall geht mit der "erzwungenen" manuellen Zuweisung von "STD" doch die Verbindung zur Tabellenformatvorlage verloren, so dass du nicht mehr die Möglichkeit hast, diesen Tabellenzellen (später) global ein anderes Zellenformat z.B. "STD_2" zu geben?! Könnte bei längeren Dokumenten übel sein.


als Antwort auf: [#572890]

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

19. Nov 2019, 08:41
Beitrag # 5 von 17
Beitrag ID: #572906
Bewertung:
(12303 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das genau ist mein Problem, das nach wie vor der Lösung harrt.
.


als Antwort auf: [#572892]

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

19. Nov 2019, 09:00
Beitrag # 6 von 17
Beitrag ID: #572907
Bewertung:
(12289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

ein Skript (applyTableStyles.jsx), das dieses Defizit zu beheben sucht, findest Du in dem Beitrag »Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen«.


als Antwort auf: [#572906]

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

19. Nov 2019, 16:22
Beitrag # 7 von 17
Beitrag ID: #572933
Bewertung:
(12135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Prima. Das Skript ist ideal für den Import.

Noch idealer wäre, wenn es zu keiner expliziten, sondern zur impliziten Zuweisung (im Zellenformatfenster links: unten) käme und dafür das "+" im expliziten Format "[ohne]+" gelöscht würde. Aber das sollte ja eigentlich das Tabellenformat selbst schaffen.

Hilfreich auch, wenn das Skript (wahlweise?) nur für die Tabelle wirken würde, in der sich der Cursor befindet). Dann wäre es auch im laufenden Satzbetrieb und für verschiedene Tabellenformate im Dokument einsetzbar.

Jedenfalls vielen Dank
.


als Antwort auf: [#572907]

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

19. Nov 2019, 16:48
Beitrag # 8 von 17
Beitrag ID: #572939
Bewertung:
(12122 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

Antwort auf: Noch idealer wäre, wenn es zu keiner expliziten, sondern zur impliziten Zuweisung (im Zellenformatfenster links: unten) käme und dafür das "+" im expliziten Format "[ohne]+" gelöscht würde. Aber das sollte ja eigentlich das Tabellenformat selbst schaffen.


Das habe ich nicht verstanden.
Was ist "Zellenformatfenster links: unten"?

Antwort auf: Hilfreich auch, wenn das Skript (wahlweise?) nur für die Tabelle wirken würde, in der sich der Cursor befindet). Dann wäre es auch im laufenden Satzbetrieb und für verschiedene Tabellenformate im Dokument einsetzbar.


Das ist ein guter Hinweis.
Dafür habe ich zwar ein eigenes Skript, aber es könnte in das obige integriert werden und ggf. auf die Auswahl (Cursor in einer Zelle, oder eine oder mehrere Zelle(n) oder Tabelle) angewandt werden.
Das nehme ich mir gelegentlich mal vor.


als Antwort auf: [#572933]

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

19. Nov 2019, 17:32
Beitrag # 9 von 17
Beitrag ID: #572941
Bewertung:
(12100 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Was ist "Zellenformatfenster links: unten"?


In der Palette "Zellenformate" gibt es doch – analog zu der Zeichenformatpalette – zwei Angaben: 1. die explizite im Mittelfeld, die bei Auswahl farbig markiert ist (und oben links in der Kopfzeile der Palette wiederholt wird), dazu 2. die implizite, falls im Tabellenformat ein Zellenformat vorgewählt ist (in der Fußzeile links angezeigt).

Ist das Einzel-Tabellen-Skript auch veröffentlicht?
.


als Antwort auf: [#572939]

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

19. Nov 2019, 17:45
Beitrag # 10 von 17
Beitrag ID: #572942
Bewertung:
(12089 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ah, jetzt ist's klar.
Schau ich mir darauf hin mal genauer an.

Antwort auf: Ist das Einzel-Tabellen-Skript auch veröffentlicht?


Wahrscheinlich noch nicht.

Aber jetzt.

Code
// applyTableStyle2selectedTable.jsx	   
//DESCRIPTION: Weist der ausgewählten Tabelle ein ausgewähltes Tabellenformat zu und übernimmt aus dem Tabellenformat die Formate für die Körperzellen.

if (app.selection.length == 0)
exit();
var d = app.activeDocument;
var myTableStyle = myDisplayDialog ();
if (myTableStyle == null)
exit();
var t = get_table(app.selection[0]);
if (t == null)
exit();

// --------------------------------------------------------
// Tabellenformat zuweisen
// --------------------------------------------------------
t.appliedTableStyle = myTableStyle;

// Abweichungen vom Tabellenformat löschen
t.clearTableStyleOverrides( true );


// --------------------------------------------------------
// Zellenformate aus Tabellenformat zuweisen
// --------------------------------------------------------
// 1. Tabellenkörperzeilen
t.cells.everyItem().appliedCellStyle = myTableStyle.bodyRegionCellStyle;

// 2. Linke Spalte
if (myTableStyle.leftColumnRegionCellStyle != null)
t.columns[0].cells.everyItem().appliedCellStyle = myTableStyle.leftColumnRegionCellStyle;

// 3. Rechte Spalte
if (myTableStyle.rightColumnRegionCellStyle != null)
t.columns[-1].cells.everyItem().appliedCellStyle = myTableStyle.rightColumnRegionCellStyle;

// 4. Kopf- und Fußzeilen
if (myTableStyle.headerRegionCellStyle != null && t.headerRowCount > 0)
t.rows.itemByRange(0, t.headerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;
if (myTableStyle.footerRegionCellStyle != null && t.footerRowCount > 0)
{
var r_len = t.rows.length;
t.rows.itemByRange(r_len - t.footerRowCount, r_len -1).cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle;
}


// Abweichungen vom Zellenformat löschen
t.cells.everyItem().clearCellStyleOverrides( true );


// Dialog zum Erfassen des Tabellenstils
function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"});
with(myDialog.dialogColumns.add()){
var myTsDropDown = dropdowns.add({stringList: d.tableStyles.everyItem().name, selectedIndex:d.tableStyles.length-1});
}
var myResult = myDialog.show();
if(myResult == true){
var tS = d.tableStyles[myTsDropDown.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit()
}
return tS;
}


//-----------------------------------------------------------------
// Tabelle einer Auswahl innerhalb der Tabelle ermitteln
//-----------------------------------------------------------------
function get_table(_obj)
{
var t = _obj;
if (t.hasOwnProperty('baseline') && t.parent.parent.constructor.name == 'Table')
t = t.parent.parent;
else if (t.constructor.name == 'Cell')
t = t.parent;
else if (t.constructor.name != 'Table')
t = null
return t;
}



als Antwort auf: [#572941]
(Dieser Beitrag wurde von Martin Fischer am 19. Nov 2019, 17:47 geändert)

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

19. Nov 2019, 18:06
Beitrag # 11 von 17
Beitrag ID: #572943
Bewertung:
(12070 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen lieben Dank!

Ich habe jetzt einen Workaround gefunden:
Im Tabellenformat zunächst als Zellenformat "[ohne]" einstellen. Dann das Skript laufen lassen. Dadurch wird das "+" gelöscht. Schließlich im Tabellenformat das eigentlich gewünschte Zellenformat (bei mir "STD") einstellen. Dann wird "[ohne]" als explizites Format und "STD" als implizites Format angezeigt (und auch korrekt verwendet).
.


als Antwort auf: [#572942]

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

19. Nov 2019, 18:27
Beitrag # 12 von 17
Beitrag ID: #572944
Bewertung:
(12051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

kannst Du mir mal eine Beispieldatei zukommen lassen?

Denn so ganz verstehe ich immer noch nicht, was da schief läuft.

Das Skript sollte eigentlich die im Tabellenformat angegebenen Zellenformate ausdrücklich zuweisen.
Und zwar in folgender Reihenfolge:

1. Tabellenkörperzellen
2. Linke Spalte
3. Rechte Spalte
4. Kopf- und Fußzeilen

Und am Ende sollten in allen Zellen die Abweichungen vom jeweiligen Zellenformat gelöscht werden.

Aus Deinem Bericht schließe ich, dass dem nicht so ist oder dass etwas anderes gewollt wird.

Eine Beispiel vorher-nachher würde meinem Verständnis auf die Sprünge helfen.


als Antwort auf: [#572943]
(Dieser Beitrag wurde von Martin Fischer am 19. Nov 2019, 19:26 geändert)

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

19. Nov 2019, 20:49
Beitrag # 13 von 17
Beitrag ID: #572946
Bewertung:
(11945 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

Antwort auf: Im Tabellenformat zunächst als Zellenformat "[ohne]" einstellen. Dann das Skript laufen lassen. Dadurch wird das "+" gelöscht.
Schließlich im Tabellenformat das eigentlich gewünschte Zellenformat (bei mir "STD") einstellen.
Dann wird "[ohne]" als explizites Format und "STD" als implizites Format angezeigt (und auch korrekt verwendet).


Vielleicht habe ich Dich mit den "impliziten Formaten" jetzt richtig verstanden.

Dann müsste folgendes Schnippsel zum Ziel führen (auf der Basis des bereits zugewiesenen Tabellenformats):

Code
if (app.selection.length == 0) 
exit();
var d = app.activeDocument;
var t = get_table(app.selection[0]);
if (t == null)
exit();

t.clearTableStyleOverrides( true );
t.cells.everyItem().appliedCellStyle = d.cellStyles.firstItem();
t.cells.everyItem().clearCellStyleOverrides( true );

//-----------------------------------------------------------------
// Tabelle einer Auswahl innerhalb der Tabelle ermitteln
//-----------------------------------------------------------------
function get_table(_obj)
{
var t = _obj;
if (t.hasOwnProperty('baseline') && t.parent.parent.constructor.name == 'Table')
t = t.parent.parent;
else if (t.constructor.name == 'Cell')
t = t.parent;
else if (t.constructor.name != 'Table')
t = null
return t;
}



Mein ursprünglicher Ansatz war, die impliziten Formate zu expliziten zu machen. Aber Du möchtest die expliziten = '[Ohne]', und die impliziten "durchscheinen" lassen, oder?


als Antwort auf: [#572943]

Absatzformat in Tabelle steuern

MichaelP
Beiträge gesamt: 268

20. Nov 2019, 11:31
Beitrag # 14 von 17
Beitrag ID: #572955
Bewertung:
(11661 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Mein ursprünglicher Ansatz war, die impliziten Formate zu expliziten zu machen. Aber Du möchtest die expliziten = '[Ohne]', und die impliziten "durchscheinen" lassen, oder?


Genau. Und das klappt mit dem Workaround: Er weist per Skript zunächst das explizite "[ohne]" zu und löscht das "+", damit die impliziten Formate effektiv durchscheinen können.

Wie wäre der Schnippsel denn in das Skript zu integrieren?
.


als Antwort auf: [#572946]

Absatzformat in Tabelle steuern

Martin Fischer
  
Beiträge gesamt: 12778

20. Nov 2019, 12:04
Beitrag # 15 von 17
Beitrag ID: #572956
Bewertung:
(11636 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Michael,

der Schnippsel ist das Skript. Smile


als Antwort auf: [#572955]
X