Ergänze ich bei @Henris Code https://texwelt.de/wissen/fragen/24876/kenn-nummern-als-layout
die Option twoside erhalte ich im großen Ganzen mein gewünschtes Layout:

alt text

Zu den Problemen:

  1. (Leerseite ---> Gibt's nimmer.)

  2. Auf der letzten und der vorletzten Seite zeigt es im Kopf '(6-6)' an. Hier müsste nur '(6)' stehen.

Aber ich weiß nicht, wie man die Werte von \firstmark1 und \bothmarks1 auslesen kann:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
% Tut nicht =================================
\newcommand\parenumrangetest{%
\ifnum\value{\firstmarks1}=\value{\botmarks1}{(\parnumstyle{\botmarks1})}%
\else{(\parnumstyle{\firstmarks1--\botmarks1})}\fi}
% Tut nicht =================================
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

PS: Verbesserungsvorschläge allgemeiner Natur wären mir auch sehr recht, weil ich nicht weiß, ob das KOMA-mäßig alles so richtig ist.

MWE (richtige Code-Version korrigiert!):

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[ngerman, fontsize=9pt, paper=a5,
twoside,
%open=left, % Dann vor -jedem- Kapitel eine Leerseite
numbers=enddot,
headsepline,plainheadsepline,
]{scrreprt}
\usepackage{amsmath}
\usepackage{blindtext}
% Paragraph numbers
\newcommand\parnumstyle[1]{\textsf{\bfseries\footnotesize#1}}
\newcounter{parnumber}
\newcommand\parnum[1][\theparnumber]{%
\leavevmode
\refstepcounter{parnumber}%
\marks1{\theparnumber}%
\marginpar[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}]{\parnumstyle{\theparnumber}\label{pn:#1}}%
}
\newcommand\pnref[2][$\uparrow$\,]{#1\parnumstyle{\ref{pn:#2}}}
\usepackage[%showframe,
left=15mm, right=15mm
]{geometry}
% Layout
\usepackage{scrlayer-scrpage}[]
\automark{chapter}
\automark*{section}
\clearpairofpagestyles
\ofoot*{\pagemark}
% Tut nicht =================================
\newcommand\parenumrangetest{%
\ifnum\value{\firstmarks1}=\value{\botmarks1}{(\parnumstyle{\botmarks1})}%
\else{(\parnumstyle{\firstmarks1--\botmarks1})}\fi}
% Tut nicht =================================
% Parnums in head
\newcommand\parenumrange{\ifnum\theparnumber>0{(\parnumstyle{\firstmarks1--\botmarks1})}\else\fi}
\rohead*{\leftmark~~ \parenumrange}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 31 Mai '19, 18:08

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%

bearbeitet 31 Mai '19, 20:09


Man kann es so machen:

Code, hier editierbar zum Übersetzen:
\edef\CurrentFirstmark{\firstmark}
\edef\CurrentBotmark{\botmark}
\ifx\CurrentFirstmark\CurrentBotmark ja \else nein \fi
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

oder so

Code, hier editierbar zum Übersetzen:
% Parnums in head
\newcommand\parnumrange{\ifnum\theparnumber>0% NEW
\ifstr{\firstmarks1}{\botmarks1}{(\parnumstyle{\botmarks1})}{(\parnumstyle{\firstmarks1--\botmarks1})}%
\else\fi}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Also scheint zu funktionieren. Laut @DavidCarlisle könnte es zu Grenzproblemen (bei float pages?) führen.

MWE:

alt text

Code, hier editierbar zum Übersetzen:
\documentclass[ngerman, fontsize=9pt, paper=a5,
twoside,
%open=right, % Dann vor -jedem- Kapitel eine Leerseite
numbers=enddot,
headsepline,plainheadsepline,
]{scrreprt}
\usepackage{amsmath}
% Layout
\usepackage[showframe,
left=15mm, right=15mm % IST
%left=9mm, right=9mm % SOLL
]{geometry}
\usepackage[heightadjust]{marginnote}% marginnotes in head
% Fonts
\setkomafont{pageheadfoot}{\normalfont\footnotesize}
\newcommand\parnumstyle[1]{\textsf{\bfseries\footnotesize#1}}
% Commands
\newcommand\pnref[2][$\uparrow$\,]{#1\parnumstyle{\ref{pn:#2}}}
% Paragraph numbers
\newcounter{parnumber}
\newcommand\parnum[1][\theparnumber]{%
\leavevmode%
\refstepcounter{parnumber}%
\marks1{\theparnumber}%
\marginnote%[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}]
{\parnumstyle{\theparnumber}\label{pn:#1}}% old: \marginpar
}
% Parnums in head
\newcommand\parnumrange{\ifnum\theparnumber>0% NEW
\ifstr{\firstmarks1}{\botmarks1}{(\parnumstyle{\botmarks1})}{(\parnumstyle{\firstmarks1--\botmarks1})}%
\else\fi%
%
%\edef\CurrentFirstmark{\firstmarks1}% OLD
%\edef\CurrentBotmark{\botmarks1}%
%\ifx\CurrentFirstmark\CurrentBotmark%
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Neue Lösung mit `\newmarks{\parnummark}`


Code, hier editierbar zum Übersetzen:
\documentclass[ngerman, fontsize=9pt, paper=a5,
twoside,
%open=right, % Dann vor -jedem- Kapitel eine Leerseite
numbers=enddot,
headsepline,plainheadsepline,
]{scrreprt}
\usepackage{amsmath}
% Layout
\usepackage[showframe,
left=15mm, right=15mm % IST
%left=9mm, right=9mm % SOLL
]{geometry}
\usepackage[heightadjust]{marginnote}% marginnotes in head
% Fonts
\setkomafont{pageheadfoot}{\normalfont\footnotesize}
\newcommand\parnumstyle[1]{\textsf{\bfseries\footnotesize#1}}
% Commands
\newcommand\pnref[2][$\uparrow$\,]{#1\parnumstyle{\ref{pn:#2}}}
% Paragraph numbers
\newcounter{parnumber}
\newmarks{\parnummark}
\newcommand\parnum[1][\theparnumber]{%
\leavevmode%
\refstepcounter{parnumber}%
\marks\parnummark{\theparnumber}%
\marginnote%[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}]
{\parnumstyle{\theparnumber}\label{pn:#1}}% old: \marginpar
}
% Parnums in head
\newcommand\parnumrange{\ifnum\theparnumber>0% NEW
\ifstr{\firstmarks\parnummark}{\botmarks\parnummark}{(\parnumstyle{\botmarks\parnummark})}{(\parnumstyle{\firstmarks\parnummark--\botmarks\parnummark})}%
\else\fi}
\usepackage[automark]{scrlayer-scrpage}[]
\ohead*{\marginnote{\parnumrange}% range of parnums
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 01 Jun '19, 14:04

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%

bearbeitet 02 Jun '19, 16:17

2

Ich traue mich ja fast schon nicht mehr, in Kommentaren kurze Hinweise zu geben, trotzdem: KOMA-Script bietet mit \ifstr die Möglichkeit, die Expansion zweier Makros/Primitive zu vergleichen, also beispielsweise \ifstr{\firstmarks\Randmarke}{\botmarks\Randmarke}{Beide sind gleich}{Beide sind unterschiedlich} zu schreiben (vorausgesetzt, man hat \Randmarke vorher korrekt mit \newmarks\Randmarke angefordert und dann eben auch \marks\Randmarke{…} verwendet, statt unsauber mit der festen Markennummer 1 zu arbeiten). Näheres zu \ifstr ist der KOMA-Script-Anleitung zu entnehmen.

(02 Jun '19, 12:53) gast3

@Ijon Tichy Trau Dich ruhig. Netter wäre es natürlich, wenn Du das als lauffähige AW schreiben könntest.
Ich weiß, dass es sowas gibt, aber ich werde mich damit eh wieder verrennen und den ganzen Nachmittag an einem prinzipiell einfachen Ding rumbasteln.

(02 Jun '19, 12:57) cis

So oder wie?
% Parnums in head \newcommand\parnumrange{\ifnum\theparnumber>0% \ifstr{\firstmarks1}{\botmarks1}{(\parnumstyle{\botmarks1})}{(\parnumstyle{\firstmarks1--\botmarks1})}% \else\fi}

Kommt zumindest das Richtige raus, also denke ich mal: ja.

(02 Jun '19, 14:26) cis

"unsauber mit der festen Markennummer 1 "... Jaja, ich bin froh, dass das mal tut.
Ifstr im KOMA-Script, klar. Aber über diesen ganzen e-TeX (?) steht nur in den Sternen was.

Also Deine Anmerkungen sind ja gut und richtig. Aber Du brauchst nicht meinen, dass man das mal so auf die Schnelle umsetzen kann. Vieles davon setzt jahrelange Erfahrung voraus.

(02 Jun '19, 15:33) cis

@newmarks: So oder wie?

% Paragraph numbers \newcounter{parnumber} \newmarks\xxx \newcommand\parnum[1][\theparnumber]{% \leavevmode% \refstepcounter{parnumber}% \marks\xxx{\theparnumber} %\marks1{\theparnumber}% OLD \marginnote%[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}] {\parnumstyle{\theparnumber}\label{pn:#1}}% old: \marginpar } % Parnums in head \newcommand\parnumrange{\ifnum\theparnumber>0% NEW \ifstr{\firstmarks\xxx}{\botmarks\xxx}{(\parnumstyle{\botmarks\xxx})}{(\parnumstyle{\firstmarks\xxx--\botmarks\xxx})}% \else\fi}

Tut zumindest. Ja gut, wenn das besser ist.

(02 Jun '19, 16:10) cis

Diese Anpassung bewirkt übrigens, dass der Befehl \parnumrange im head, wie gewünscht funktioniert; auffälig ist aber, dass er im Dokument nimmer funktioniert. Aber ich krieg ja zur Sache nur Anmerkungen, was ich alles falsch mache; spärliche Hinweise, wie es ich es besser machen soll; und ob das dann stimmt weiß ich auch nicht. Ich muss also hier Schnitzeljagd spielen.

(03 Jun '19, 17:28) cis
Ergebnis 5 von 6 show 1 more comments
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×132
×1

gestellte Frage: 31 Mai '19, 18:08

Frage wurde gesehen: 5,020 Mal

zuletzt geändert: 03 Jun '19, 17:28