Für die Umsetzung der PIs ist die LESS-Datei modul_pi.less mit folgenden Einstellungen notwendig:
/* -----------------------------------------------------------------------
*
* @project parsX - PrintCSS - CSS/LESS-Modul
*
* - PI-Modul -
*
* Dies ist ein CSS/LESS-Modul. In dieser CSS/LESS-Datei dürfen ausschließlich
* Einstellungen zur Umbruchsteuerung (parsX-PI's) deklariert sein.
* Zentrale CSS/LESS-Settings sind in der CSS/LESS-Datei stylesheet.css/less
* zu definieren.
*
* @date 2020-01-14
* @author Christin Sandmann-Götz, pagina GmbH
* @last-edit cg
* @copyright pagina GmbH, Tübingen
*
* ----------------------------------------------------------------------- */
/* -----------------------------------------------------------------------
* Hinweis: Diese Datei enthält die LESS-Variable und LESS-Mixin:
* - @leerzeile
*
* Die CSS-Anweisungen für diese Variabeln und Mixins müssen
* in der zentralen LESS-Datei stylesheet.less definiert sein!
* ----------------------------------------------------------------------- */
pa {
/* -------------------------------------------------- */
/* Element-Typ-Deklaration */
/* -------------------------------------------------- */
&|* {
display: block;
}
&|pi-nz-,
&|pi-tv {
display: inline;
}
/* -------------------------------------------------- */
/* globale Einstellungen */
/* -------------------------------------------------- */
/* Vererbung von Auszeichnungen */
&|* {
color: inherit;
font: inherit;
}
/* -------------------------------------------------- */
/* Umbruchsteuerung */
/* -------------------------------------------------- */
/* neue Seite - Allgemein */
&|pi-ns,
&|pi-nsr,
&|pi-nsl {
leerzeile + & + abs,
u-zwischen + & + abs {
text-indent: 0;
}
}
/* neue Seite */
&|pi-ns {
page-break-after: always;
}
/* neue rechte Seite */
&|pi-nsr {
page-break-after: right;
}
/* neue linke Seite */
&|pi-nsl {
page-break-after: left;
}
/* neue Spalte */
&|pi-nsp {
column-break-after: always;
}
/* Zeilenwechsel */
/* pi <?parsx nz?> wird zum Element <br> transformiert */
/* Zeilenwechsel mit Trennstrich */
&|pi-nz- {
&::before {
content: '-';
}
&::after {
content: '\A';
display: block;
}
}
/* Zeilenwechsel, der austreibt */
&|pi-nza {
text-align-last: justify !important;
text-indent: inherit !important;
/* Vermeidung des Zeilenaustriebes auf die Anmerkungselemente <fussnote />, <endnote />, <marginalie /> */
& fussnote,
& endnote,
& marginalie {
&, & * {
text-align-last: left;
}
}
}
/* Zeilenwechsel, der austreibt mit Trennstrich */
&|pi-nza- {
display: inline;
content: '-';
text-indent: inherit !important;
}
/* Trennfuge */
/* pi <?parsx tf?> wird zum Entity ­ (­) transformiert */
/* Trennverbot */
&|pi-tv {
hyphens: none;
}
/* Leerzeile */
/* pi <?parsx lz?> wird zum Element <leerzeile> transformiert */
/* halbe Leerzeile */
&|pi-lzh {
margin-bottom: (@leerzeile / 2);
}
}
/* [#12025] Customer Hurenkinder-Einstellungen dürfen für <?printcss nza-?>, <?printcss nza?>, <?printcss nz?> NICHT greifen */
pa {
&|pi-nza-,
&|pi-nza,
&|pi-nz {
/* Hurenkinder */
widows: 1 !important;
}
}
/* [#12025] Customer Schusterjungen-Einstellungen dürfen für generierten Absatz nach <?printcss nza-?>, <?printcss nza?>, <?printcss nz?> NICHT greifen */
abs[abs-after-pi-nza='ja']{
/* Schusterjungen */
orphans: 1 !important;
}
/* -------------------------------------------------- */
/* Schriftlaufweite [#8730] [#4947] */
/* Wortabstand [#9491] */
/* -------------------------------------------------- */
// Berechnung von Schriftlaufweite (quelle: http://www.web-publisher.info/20100917_letter-spacing-kerning-laufweite-spationierung/)
// 1 Geviert = 1em
@paPi-geviert: 1em;
// In InDesign® wird die Schriftlaufweite sowie das manuelle Kerning in 1/1000 Geviert gemessen, einer Maßeinheit relativ zum aktuellen Schriftgrad. (quelle: https://www.typolexikon.de/schriftlaufweite/)
// Übersicht Geviertwerte bei Schriftlaufweiten (DTP, basis InDesign®)
// Extrem eng -100/1000 Geviert
// -075/1000 Geviert
// Sehr eng -050/1000 Geviert
// -020/1000 Geviert
// Eng -010/1000 Geviert
// -005/1000 Geviert
// Normalsschriftweite (NSW) Laufweite 0 (LW 0)
// +005/1000 Geviert
// Weit +010/1000 Geviert
// +025/1000 Geviert
// Sehr weit +050/1000 Geviert
// +075/1000 Geviert
// Extrem weit +100/1000 Geviert
// Ultra weit +200/1000 Geviert
/* Schriftlaufweite normal (Normalsschriftweite)*/
[pa|pi-lw="lw0"],
[pa|pi-lw="nsw"] {
letter-spacing: normal;
}
/* Schriftlaufweite vergrößern (Spationieren) */
// Zahlwerte
.generateSchriftlaufweiteVergroessern(200);
.generateSchriftlaufweiteVergroessern(@n, @i: 5) when (@i =< @n) {
[pa|pi-lw="lw+@{i}"] {
letter-spacing: (@i / (1000 * @paPi-geviert));
}
.generateSchriftlaufweiteVergroessern(@n, (@i + 5));
}
// Wortwerte
.SchriftlaufweiteVergroessern(@i) {
letter-spacing: (@i / (1000 * @paPi-geviert));
}
[pa|pi-lw="weit"] {
.SchriftlaufweiteVergroessern(10);
}
[pa|pi-lw="sehr-weit"] {
.SchriftlaufweiteVergroessern(50);
}
[pa|pi-lw="extrem-weit"] {
.SchriftlaufweiteVergroessern(100);
}
[pa|pi-lw="ultra-weit"] {
.SchriftlaufweiteVergroessern(200);
}
/* Schriftlaufweite verkleinern (Unterschneiden) */
// Zahlwerte
.generateSchriftlaufweiteVerkleinern(200);
.generateSchriftlaufweiteVerkleinern(@n, @i: 5) when (@i =< @n) {
[pa|pi-lw="lw-@{i}"] {
letter-spacing: -(@i / (1000 * @paPi-geviert));
}
.generateSchriftlaufweiteVerkleinern(@n, (@i + 5));
}
// Wortwerte
.SchriftlaufweiteVerkleinern(@i) {
letter-spacing: -(@i / (1000 * @paPi-geviert));
}
[pa|pi-lw="eng"] {
.SchriftlaufweiteVerkleinern(10);
}
[pa|pi-lw="sehr-eng"] {
.SchriftlaufweiteVerkleinern(50);
}
[pa|pi-lw="extrem-eng"] {
.SchriftlaufweiteVerkleinern(100);
}
/* Wortabstand normal */
[pa|pi-wa="wa0"] {
word-spacing: normal;
}
/* Wortabstand vergrößern */
.generateWortabstandVergroessern(500);
.generateWortabstandVergroessern(@n, @i: 10) when (@i =< @n) {
[pa|pi-wa="wa+@{i}"] {
word-spacing: (@i / (1000 * @paPi-geviert));
}
.generateWortabstandVergroessern(@n, (@i + 10));
}
.WortabstandVergroessern(@i) {
word-spacing: (@i / (1000 * @paPi-geviert));
}
/* Wortabstand verkleinern */
.generateWortabstandVerkleinern(500);
.generateWortabstandVerkleinern(@n, @i: 10) when (@i =< @n) {
[pa|pi-wa="wa-@{i}"] {
word-spacing: -(@i / (1000 * @paPi-geviert));
}
.generateWortabstandVerkleinern(@n, (@i + 10));
}
.WortabstandVerkleinern(@i) {
word-spacing: -(@i / (1000 * @paPi-geviert));
}
/* -------------------------------------------------- */
/* Uebersatz [#8729] [#4947] */
/* -------------------------------------------------- */
[pa|pi-ue="true"] {
position: absolute;
}
/* -----------------------------------------------------------------------
* ENDE PI-Modul
* ----------------------------------------------------------------------- */Die LESS-Datei modul_pi.less muss aus der Basis-LESS-Datei stylesheet.less am Ende des Dokumentes referenziert werden.
@charset "utf-8"; @namespace pa "http://www.pagina-online.de"; ... /* -------------------------------------------------- */ /* PIs */ /* -------------------------------------------------- */ @import "basis-module/modul_pi.less";