Ergänze ich bei @Henris Code
Zu den Problemen:
Aber ich weiß nicht, wie man die Werte von Öffne in Overleaf
% Tut nicht ================================= \newcommand\parenumrangetest{% \ifnum\value{\firstmarks1}=\value{\botmarks1}{(\parnumstyle{\botmarks1})}% \else{(\parnumstyle{\firstmarks1--\botmarks1})}\fi} % Tut nicht ================================= 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
\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} \lehead*{\parenumrange~~\leftmark} \setkomafont{pageheadfoot}{\normalfont\footnotesize} \usepackage[colorlinks=false, hidelinks]{hyperref} \begin{document} \chapter{Erstes Kapitel} Satz des Pythagoras. \parnum[SdP] \section{Erster Abschnitt} \subsection{Erster Unterabschnitt} \parenumrange \parnum \blindtext \theparnumber %\parnum \blindtext \theparnumber \parnum \blindtext \theparnumber \parnum \blindtext \parnum \blindtext %\parnum \blindtext \parnum \blindtext \section{Zweiter Abschnitt} \ref{pn:SdP} \ref{pn:2} (\pnref{SdP}) (\pnref{2}) (\pnref{SdP}, \pnref[]{2}) \chapter{Gar keine parnums auf dieser Seite} \blindtext \end{document} gefragt 31 Mai '19, 18:08 cis |
Man kann es so machen: \edef\CurrentFirstmark{\firstmark} \edef\CurrentBotmark{\botmark} \ifx\CurrentFirstmark\CurrentBotmark ja \else nein \fi oder so % Parnums in head \newcommand\parnumrange{\ifnum\theparnumber>0% NEW \ifstr{\firstmarks1}{\botmarks1}{(\parnumstyle{\botmarks1})}{(\parnumstyle{\firstmarks1--\botmarks1})}% \else\fi} Also scheint zu funktionieren.
Laut @DavidCarlisle könnte es zu Grenzproblemen (bei float pages?) führen. MWE: \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% %\ifnum\theparnumber>0{(\parnumstyle{\botmarks1})}\else\fi% %\else% %\ifnum\theparnumber>0{(\parnumstyle{\firstmarks1--\botmarks1})}\else\fi% %\fi } % \usepackage[automark]{scrlayer-scrpage}[] \ohead*{\marginnote{\parnumrange}% range of parnums \ifstr{\headmark}{}{\rightbotmark}{\headmark}% titles in head } % \ofoot*{\pagemark} % auto \usepackage{mwe} \usepackage[colorlinks=false, hidelinks]{hyperref} \begin{document} \chapter{Erstes Kapitel} Satz des Pythagoras. \parnum[SdP] \section{Erster Abschnitt} \subsection{Erster Unterabschnitt} \parnumrange \parnum \blindtext \theparnumber \setcounter{parnumber}{122}% %\parnum \blindtext \theparnumber \parnum \blindtext \theparnumber test \parnum \par test \parnum \par \begin{figure}%[h] \centering\rule{7cm}{5cm} \caption{myfigure} \end{figure} test \parnum \par test \parnum \par \parnum \blindtext \parnum \blindtext %\parnum \blindtext \parnum \blindtext \section{Zweiter Abschnitt} \ref{pn:SdP} \ref{pn:2} (\pnref{SdP}) (\pnref{2}) (\pnref{SdP}, \pnref[]{2}) \chapter{Gar keine parnums auf dieser Seite} \blindtext \end{document} Neue Lösung mit `\newmarks{\parnummark}`\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 \ifstr{\headmark}{}{\rightbotmark}{\headmark}% titles in head } % \ofoot*{\pagemark} % auto... \usepackage{mwe} \usepackage[colorlinks=false, hidelinks]{hyperref} \begin{document} \chapter{Erstes Kapitel} Satz des Pythagoras. \parnum[SdP] \section{Erster Abschnitt} \subsection{Erster Unterabschnitt} \parnumrange \parnum \blindtext \theparnumber \setcounter{parnumber}{122}% %\parnum \blindtext \theparnumber \parnum \blindtext \theparnumber test \parnum \par test \parnum \par \begin{figure}%[h] \centering\rule{7cm}{5cm} \caption{myfigure} \end{figure} test \parnum \par test \parnum \par \parnum \blindtext \parnum \blindtext %\parnum \blindtext \parnum \blindtext \section{Zweiter Abschnitt} \ref{pn:SdP} \ref{pn:2} (\pnref{SdP}) (\pnref{2}) (\pnref{SdP}, \pnref[]{2}) \chapter{Gar keine parnums auf dieser Seite} \blindtext \end{document} beantwortet 01 Jun '19, 14:04 cis 2
Ich traue mich ja fast schon nicht mehr, in Kommentaren kurze Hinweise zu geben, trotzdem: KOMA-Script bietet mit
(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.
(02 Jun '19, 12:57)
cis
So oder wie? 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. 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?
Tut zumindest. Ja gut, wenn das besser ist.
(02 Jun '19, 16:10)
cis
Diese Anpassung bewirkt übrigens, dass der Befehl
(03 Jun '19, 17:28)
cis
Ergebnis 5 von 6
show 1 more comments
|