Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 5

02 Jun '19, 16:17

cis's gravatar image

cis
9.6k103460491

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. <br> **MWE:** [![alt text][1]][1] \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} ___ <h2>Neue Lösung mit `\newmarks{\parnummark}`</h2> ___ \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} [1]: https://texwelt.de/wissen/upfiles/55555555_379.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

02 Jun '19, 15:52

cis's gravatar image

cis
9.6k103460491

Man kann es so machen: \edef\CurrentFirstmark{\firstmark} \edef\CurrentBotmark{\botmark} \ifx\CurrentFirstmark\CurrentBotmark ja \else nein \fi bzw. das ganze Kommando oder so % Parnums in head \newcommand\parnumrange{% \edef\CurrentFirstmark{\firstmarks1}% \edef\CurrentBotmark{\botmarks1}% \ifx\CurrentFirstmark\CurrentBotmark% \ifnum\theparnumber>0{(\parnumstyle{\botmarks1})}\else\fi% \else% \ifnum\theparnumber>0{(\parnumstyle{\firstmarks1--\botmarks1})}\else\fi% \fi} \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. <br> Also vll. kommt ja noch jmd. und hat einen Vorschlag mit einem dieser Hackpakete. ☺ **MWE:** [![alt text][1]][1] \documentclass[ngerman, fontsize=9pt, paper=a5, twoside, %open=left, %open=right, % Dann vor -jedem- Kapitel eine Leerseite numbers=enddot, headsepline,plainheadsepline, ]{scrreprt} \usepackage{amsmath} \usepackage{blindtext} % 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 \newcommand\parnumstyle[1]{\textsf{\bfseries\footnotesize#1}} \newcounter{parnumber} \newcommand\parnum[1][\theparnumber]{% \leavevmode \leavevmode% \refstepcounter{parnumber}% \marks1{\theparnumber}% \marginpar[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}]{\parnumstyle{\theparnumber}\label{pn:#1}}% \marginnote%[\raggedleft\parnumstyle{\theparnumber}\label{pn:#1}] {\parnumstyle{\theparnumber}\label{pn:#1}}% old: \marginpar } \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} % Parnums in head \newcommand\parnumrange{% \edef\CurrentFirstmark{\firstmarks1}% \edef\CurrentBotmark{\botmarks1}% \ifx\CurrentFirstmark\CurrentBotmark% \ifnum\theparnumber>0{(\parnumstyle{\botmarks1})}\else\fi% \else% \ifnum\theparnumber>0{(\parnumstyle{\firstmarks1--\botmarks1})}\else\fi% \fi} \usepackage{marginnote} % \rohead*{\leftmark\marginnote{\parnumrange}} \lehead*{\marginnote[\parnumrange]{}\leftmark} \setkomafont{pageheadfoot}{\normalfont\footnotesize} \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}% \setcounter{parnumber}{122}% %\parnum \blindtext \theparnumber \parnum \blindtext \theparnumber \edef\zzz{\firstmark} \edef\qqq{\botmark} \ifx\zzz\qqq ja \else nein \fi 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 \edef\CurrentFirstmark{\firstmark} \edef\CurrentBotmark{\botmark} \ifx\CurrentFirstmark\CurrentBotmark ja \else nein \fi \end{document} [1]: https://texwelt.de/wissen/upfiles/55555555_379.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

01 Jun '19, 14:04

cis's gravatar image

cis
9.6k103460491

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

01 Jun '19, 14:04

cis's gravatar image

cis
9.6k103460491

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

01 Jun '19, 14:04

cis's gravatar image

cis
9.6k103460491