Anzeige:
Ergebnis 1 bis 4 von 4

Thema: zweispaltiger Kasten mit Zeilennummerierung/Seitenumbruch

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136

    zweispaltiger Kasten mit Zeilennummerierung/Seitenumbruch

    Hallo,

    hab das Thema bereits vor ein paar Tagen in der Tex-group hier eingestellt:
    https://groups.google.com/d/topic/de...gMs/discussion
    Hab aber den Verdacht, dass es dort nicht hingehört, deshalb noch einmal die gleiche Frage:

    Kann man eine Umgebung (notfalls auch Makro) erzeugen, bei der Text
    (1) farbig unterlegt bzw. gerahmt,
    (1) zweispaltig,
    (2) mit optionalem Seitenumbruch und
    (3) mit Zeilennummerierung
    gesetzt werden?

    Die naheliegende Kombination von framed, multicol und lineno funktioniert leider nicht, wenn die Textmenge einen Seitenumbruch erforderlich macht.

    Code:
    \documentclass[ngerman]{scrartcl} 
    \usepackage{blindtext,babel,multicol,xcolor} 
    \usepackage{lineno,framed} 
    
    \definecolor{shadecolor}{gray}{.6} 
    
    \newenvironment{mynumberedtext} 
    {%%%%shaded+multicol -> TeX capacity exceeded 
    \begin{shaded} 
    \begin{multicols}{2} 
    [\setlength{\columnsep}{2em}] 
    \resetlinenumber\modulolinenumbers[5] 
    %\begin{linenumbers} 
    } 
    {% 
    %\end{linenumbers} 
    \end{multicols} 
    \end{shaded} 
    } 
    
    \begin{document} 
    \begin{mynumberedtext} 
    \blindtext[6] 
    \end{mynumberedtext} 
    \end{document}
    Vielleicht lässt sich auch mit tikz sowas erzeugen, ich früher mal folgenden Code benutzt (bei dem auch lokale Fußnoten gehen), bei dem man aber kein automatischer Seitenumbruch und auch keine Nummerierung funktionieren:
    Link: http://www.mrunix.de/forums/archive/...p/t-68150.html
    Code:
    \documentclass[parskip=half-]{scrartcl}
    
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{tikz}
    \usepackage{multicol}
    
    \newenvironment{Quote}%
    {\begin{list}{}%
    {\setlength\leftmargin{0.5\multicolsep}\setlength\ rightmargin{\leftmargin}}%
    \item[]\ignorespaces}%
    {\end{list}}
    
    %Befehl für Box ohne Seitenumbruch
    %drei obligatorische Argumente: Linienstärke, Titel, Inhalt
    \newcommand\Ungeteilt[3]{\noindent%
    \begin{tikzpicture}[line width=#1]
    \pgfmathparse{\textwidth-\pgflinewidth-\multicolsep}
    \node(N)[preaction={fill,opacity=0.1}]%
    [draw,text width=\pgfmathresult pt,text justified,inner sep=0.5\multicolsep,outer sep=0pt]%
    {\vspace*{0.5\baselineskip}\begin{multicols}{2}#3\ end{multicols}};
    \path (N.north west)+(1,0)node[draw,fill=white,anchor=west,rectangle,rounded corners=2mm]{#2};
    \end{tikzpicture}}
    
    %Befehl für Box mit genau einem Seitenumbruch
    %ein optionales Argument: Längenkorrektur der Box auf der ersten Seite
    %drei obligatorische Argumente: Linienstärke, Titel, Inhalt
    \newcommand\Geteilt[4][1pt]{\noindent%
    \begin{tikzpicture}[remember picture, overlay,line width=#2]
    \pgfmathsetlengthmacro\x{1in+\hoffset+\oddsidemarg in+\textwidth-0.5\pgflinewidth}
    \pgfmathsetlengthmacro\y{1in+\voffset+\headsep+\he adheight+\topmargin+\textheight+0.5\pgflinewidth+# 1}
    \path(current page.north west)+(\x,-\y)coordinate(B);
    \coordinate(O)at (0.5\pgflinewidth,-0.5\pgflinewidth);
    \fill[opacity=0.08](O)rectangle(B);
    \draw(B-|O)--(O)-|(B)--(B);
    \path (O)+(1,0)node[draw,fill=white,anchor=west,rectangle,rounded corners=2mm]{#3};
    \end{tikzpicture}%
    \begin{Quote}
    \begin{multicols}{2}
    #4
    \end{multicols}
    \end{Quote}
    \vspace*{-2\baselineskip}
    \begin{tikzpicture}[remember picture, overlay,line width=#2]
    \pgfmathsetlengthmacro\x{1in+\hoffset+\oddsidemarg in+\textwidth-0.5\pgflinewidth}
    \pgfmathsetlengthmacro\y{1in+\voffset+\headsep+\he adheight+\topmargin-0.5\pgflinewidth}
    \path(current page.north west)+(\x,-\y)coordinate(B);
    \coordinate(O)at (0.5\pgflinewidth,0.5\pgflinewidth);
    \fill[opacity=0.1](O)rectangle(B);
    \draw(B-|O)--(O)-|(B)--(B);
    \end{tikzpicture}}
    
    
    \begin{document}
    
    \Ungeteilt{1pt}{langer Titel}{\blindtext[1]}
    
    \blindtext
    
    \Geteilt{1pt}{Titel}{\foreach \i in {1,...,4}{\blindtext}}
    
    \blindtext
    
    \Ungeteilt{1pt}{langer Titel}{\blindtext[1]}
    
    \end{document}
    Ich habe im Netz einen Ansatz für gerahmte Texte mit Seitenumbruch gefunden, der bei mir allerdings fehlerhaft kompiliert, so dass ich nicht weiß, wie brauchbar er ist und ob dann noch die zweispaltigkeit und Zeilennummerierung klappen:
    Link: http://de.comp.text.tex.narkive.com/...vtl-mehrseitig

    Code:
    %<------------------------------------------->%
    \documentclass{article}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{ifthen}
    \RequirePackage{tikz}
    \RequirePackage{framed}
    \RequirePackage{xcolor}
    
    \usetikzlibrary{shapes,calc}
    
    \tikzset{infobox/.style={rectangle,fill=infobox!50, rounded corners,
    text justified}}
    
    \definecolor{infobox}{rgb}{1,.75,.25}
    
    \makeatletter
    
    \newenvironment{infobox}[1][\empty]%
    {\def\FrameCommand{\***@box{#1}}
    \def\FirstFrameCommand{\***@boxT{#1}}
    \def\MidFrameCommand{\***@boxM}
    \def\LastFrameCommand{\***@boxL}
    \MakeFramed{\FrameRestore}}
    {\endMakeFramed}
    
    
    \newcommand{\***@box}[3][]{
    \setbox1=\vbox{\noindent #3}
    \setbox3=\hbox{#2}
    \setbox4=\hbox{}
    \setbox2=\hbox{}
    \ht2=\ht1\dp2=\dp1\wd2=\wd1
    \ht4=\ht3\dp4=\dp3\wd4=\wd3
    \begin{tikzpicture}
    \node(box){\copy2};
    \ifthenelse{\equal{#2}{\empty}}
    {
    \fill[infobox, sharp corners] (box.south east)[rounded
    corners]--(box.north east) -- (box.north west)[sharp corners] --
    (box.south west) --cycle;
    \draw[rounded corners, very thick, draw=infobox] (box.south
    east)--(box.north east) -- (box.north west) -- (box.south west) --cycle;
    }
    {
    \node (titel) [text=black, anchor=south east] at (box.north east)
    {\box4};
    
    \fill[fill=infobox, sharp corners, draw=infobox, very
    thick](box.north east)[rounded corners] -- (titel.north east) --
    (titel.north west)%[sharp corners]
    -- (titel.south west) -- ++(-1mm,0pt)[sharp corners] -- cycle;
    \node at (titel.center)[anchor=center]{\box3};
    
    \fill[infobox] (box.south east)[sharp corners]--(box.north
    east)[rounded corners] -- (box.north west) -- (box.south west) --cycle;
    \draw[rounded corners, draw=infobox, very thick] (box.south
    east)[sharp corners]--(box.north east)[rounded corners] -- (box.north
    west) -- (box.south west)--cycle;
    }
    
    \node at (box.center) [anchor=center, #1]{\box1};
    
    \end{tikzpicture}
    }
    
    \newcommand{\***@boxT}[3][]{
    \setbox1=\vbox{\noindent #3}
    \setbox3=\hbox{#2}
    \setbox4=\hbox{}
    \setbox2=\hbox{}
    \ht2=\ht1\dp2=\dp1\wd2=\wd1
    \ht4=\ht3\dp4=\dp3\wd4=\wd3
    \begin{tikzpicture}
    \node(box){\copy2};
    %Titelbox
    \ifthenelse{\equal{#2}{\empty}}
    {
    \fill[infobox, sharp corners] (box.south east)[rounded
    corners]--(box.north east) -- (box.north west)[sharp corners] --
    (box.south west) --cycle;
    \draw[rounded corners,very thick, draw=infobox] (box.south
    east)--(box.north east) -- (box.north west) -- (box.south west);
    }
    {
    \node (titel) [text=black, anchor=south east] at (box.north east)
    {\box4};
    \fill[fill=infobox, sharp corners, draw=infobox, very
    thick](box.north east)[rounded corners] -- (titel.north east) --
    (titel.north west)%[sharp corners]
    -- (titel.south west) -- ++(-1mm,0pt)[sharp corners] -- cycle;
    
    \node at (titel.center)[anchor=center]{\box3};
    
    \fill[infobox, sharp corners] (box.south east)[sharp
    corners]--(box.north east)[rounded corners] -- (box.north west)[sharp
    corners] -- (box.south west) --cycle;
    \draw[rounded corners, draw=infobox, very thick] (box.south
    east)[sharp corners]--(box.north east)[rounded corners] -- (box.north
    west) -- (box.south west);
    }
    
    \node at (box.center) [anchor=center, #1]{\box1};
    
    \end{tikzpicture}
    }
    
    \newcommand{\***@boxL}[2][]{
    \setbox1=\vbox{#2}
    \setbox2=\hbox{}
    \ht2=\ht1\dp2=\dp1\wd2=\wd1
    \begin{tikzpicture}%[remember picture]
    \node(box){\box2};
    \fill[infobox] (box.north west)[rounded corners] -- (box.south west)
    -- (box.south east)[sharp corners] -- (box.north east) --cycle;
    \draw[draw=infobox, very thick] (box.north west)[rounded corners] --
    (box.south west) -- (box.south east)[sharp corners] -- (box.north east);
    \node at(box.center)[anchor=center]{\box1};
    \end{tikzpicture}
    }
    
    \newcommand{\***@boxM}[2][]{
    \begin{tikzpicture}
    \node(box)[infobox, sharp corners, #1]{#2};
    \draw[very thick, draw=infobox] (box.south east)--(box.north east);
    \draw[very thick, draw=infobox] (box.south west)--(box.north west);
    \end{tikzpicture}
    }
    
    \makeatother
    \begin{document}
    
    \begin{infobox}[Titel]
    \begin{tabular}{cc}
    blskdfk&sdfkljejrlkjf\\
    efrgjelrjfj&wjljwlejrl
    \end{tabular}
    
    \Blindtext[10]
    \end{infobox}
    
    \end{document}
    Sollte es bessere Ansätze geben, bin für jeden Hinweis dankbar.

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136

    schade

    Kein Tip oder Hinweis?

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Hallo,

    in dem aus dem mrunix-Archiv kopierten Code sind Leerzeichen drin, die ein Kompilieren verhindern, z.B. steht da \he adheight. Der originale und für das damalige Problem funktionierende Code findet sich hier. Allerdings gelten trotzdem die dort genannten und von dir erwähnten Einschränkungen. Es hilft dir also nicht.

    Den Code von de.comp.text.tex ... kannst du zum Laufen bringen, wenn du die in den Befehlen verwendeten drei Sterne in Buchstaben änderst (im gesamten Dokument einheitlich). Aber ich glaub nicht, dass das weiter hilft.

    Hinzu kommt, dass die Zeilennummern beim Paket lineno außerhalb des Textkörpers in den Rand gesetzt werden. Bei mir klappt nicht mal die Kombination von framed und lineno ohne Zweispaltigkeit und Seitenumbruch, denn es fehlen dann die Zeilennummern.

    Gruß
    Elke

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136

    wenn das Rad noch nicht erfunden ist

    Zitat Zitat von esdd Beitrag anzeigen
    Den Code von de.comp.text.tex ... kannst du zum Laufen bringen, wenn du die in den Befehlen verwendeten drei Sterne in Buchstaben änderst (im gesamten Dokument einheitlich). Aber ich glaub nicht, dass das weiter hilft.
    Danke, hat funktioniert, aber es half tatsächlich nicht.

    Zitat Zitat von esdd Beitrag anzeigen
    Hinzu kommt, dass die Zeilennummern beim Paket lineno außerhalb des Textkörpers in den Rand gesetzt werden. Bei mir klappt nicht mal die Kombination von framed und lineno ohne Zweispaltigkeit und Seitenumbruch, denn es fehlen dann die Zeilennummern.
    Hm, das ist wirklich verflixt.
    Ich habe ein eigenes Paket geschrieben, das genau die Anforderungen erfüllt.
    Es stellt die Umgebung \begin{mytextblock}[Optionen]Text\end{mytextblock} zur Verfügung.
    Die Optionen bestehen aus Formateinstellungen und Textfeldern, die dann platziert werden.
    Da sich lineno immer an die Seitenränder hält, ist die Bearbeitung extrem eingeschränkt. Damit man die Kästen auch in der Größe anpassen kann, brauche ich ein Paket, das die Seitenränder (\textwidth usw.) lokal verändert (und nicht für die ganze Seite).
    Ich habe trotz langer Suche keins gefunden. Die Befehle aus changepage sind entweder nicht lokal oder ändern nicht die Seitenränder (was auch für die addmargin Umgebung aus dem Komascript gilt).

    Wer also einen Tip hat, wie Seitenränder leicht angepasst werden können, dem sei gedankt. Die Implementierung dieser Sache würde das Paket mytextblock-rr sehr flexibel machen.

    Code:
    \documentclass[ngerman]{scrartcl}
    \usepackage{babel}
    \usepackage{blindtext}
    \usepackage[utf8]{inputenc}
    %%%%zur genauen Platzierung
    %\usepackage[showframe]{geometry}
    %\usepackage{showframe}
    \usepackage{filecontents}
    
    \begin{filecontents}{mytextblock-rr.sty}
    \ProvidesPackage{mytextkasten-rr}[2012/11/11 v0.2 package for typesetting nice textblocks with optional linenumbering, multicolumn and pagebreaks]
    %%%Dieses Paket stellt die Umgebung \begin{mytextblock}[]Text inside the block\end{mytextblock} zur Verfügung.
    %%%Das Beispiel deomonstriert die Verwendung
    %%%Achtung mitunter sind mehrere Latexdurchgänge notwendig (da die labels immer erst im nächsten Durchgang verarbeitet werden können)
    
    \usepackage{xkeyval}
    %\usepackage[table]{xcolor}
    \usepackage{lineno}
    \usepackage{tikz}
    \usepackage{calc,xifthen}
    \usepackage{multicol}
    \usepackage{changepage}
    \usepackage{refcount}%not used in the current version
    \usepackage{everypage}
    
    \newcounter{mytextblockcounter}
    
    \newcommand{\myisemptycheck}[3]{%like ifthenelse
    \ifthenelse{\isempty{#1}\OR\equal{#1}{}\OR\equal{ }{#1}}{#2}{#3}}
    
    
    %%lets define some keys
    \define@cmdkey{mytextblock}{ID}{}
    \define@cmdkey{mytextblock}{title}[]{}
    \define@cmdkey{mytextblock}{source}[]{}
    \define@cmdkey{mytextblock}{beforehook}{}
    \define@cmdkey{mytextblock}{einleitung}{}
    \define@cmdkey{mytextblock}{aftertexthook}{}
    \define@cmdkey{mytextblock}{afterallhook}{}
    \define@cmdkey{mytextblock}{pagelayout}{}
    \define@cmdkey{mytextblock}{linethickness}{}
    \define@cmdkey{mytextblock}{fillcolor}{}
    \define@key{mytextblock}{columnsep}{\setlength{\columnsep}{#1}}
    \define@cmdkey{mytextblock}{linenumbersep}{}
    \newlength{\mytextblockrightstretch}
    \newlength{\mytextblockleftstretch}
    \define@key{mytextblock}{rightstretch}{\setlength{\mytextblockrightstretch}{#1}}
    \define@key{mytextblock}{leftstretch}{\setlength{\mytextblockleftstretch}{#1}}
    \newlength{\mytextblockinnerframesep}
    \define@key{mytextblock}{innerframesep}{\setlength{\mytextblockinnerframesep}{#1}}
    
    \define@boolkey{mytextblock}{insidemytextblock}{}
    \define@boolkey{mytextblock}{framed}{}
    \define@boolkey{mytextblock}{shaded}{}
    \define@boolkey{mytextblock}{linenumbering}{}
    \define@boolkey{mytextblock}{multicol}{}
    \define@cmdkey{mytextblock}{multicols}{}
    
    \define@cmdkey{mytextblock}{sourcefont}[]{}
    \define@cmdkey{mytextblock}{titlefont}[]{}
    \define@cmdkey{mytextblock}{einleitungfont}{}
    
    %%%%%%Presettings
    \presetkeys{mytextblock}{%
    ID={k-\themytextblockcounter}
    ,title={}
    ,source={}
    ,beforehook={}
    ,einleitung={}
    ,aftertexthook={}
    ,afterallhook={}
    ,pagelayout={}
    ,insidemytextblock={true}
    ,linethickness={1pt}
    ,innerframesep={3pt}
    ,rightstretch={0cm}
    ,leftstretch={0cm}
    ,columnsep={13pt}
    ,linenumbersep={3pt}
    ,fillcolor={}%momentan noch nicht implementiert
    ,multicol=true
    ,multicols=2
    ,framed=true
    ,shaded=false
    ,linenumbering=true
    ,sourcefont={\footnotesize\raggedright}
    ,titlefont={\large\bfseries}
    ,einleitungfont={\slshape}
    }{}
    
    \newenvironment{mytextblocknumberQuote}%
    	{\begin{list}{}%
    		{\setlength\rightmargin{\mytextblockinnerframesep}%
    		\setlength\leftmargin{\multicolsep+\cmdKV@mytextblock@linethickness}
    		\setlength{\partopsep}{0pt}
    		\setlength{\topsep}{0pt}%
    		\setlength{\itemsep}{0pt}%
    		}
    	\item[]\ignorespaces}%
    		{\end{list}}
    
    %%%%%Koordinaten am Anfang und Ende des Textblock
    \newcommand{\mytextblockCatchCoordinateontop}{%
    \begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness]%
    \coordinate (\cmdKV@mytextblock@ID topleftFP) at (-.5\pgflinewidth-\mytextblockinnerframesep,\pgflinewidth);%
    \coordinate (\cmdKV@mytextblock@ID toprightFP) at (\textwidth+\pgflinewidth+\mytextblockinnerframesep,\pgflinewidth);%
    \pgfmathsetlengthmacro\x{1in+\hoffset+\oddsidemargin-.5\pgflinewidth-\mytextblockinnerframesep}%
    \pgfmathsetlengthmacro\y{1in+\voffset+\headsep+\headheight+\topmargin+\textheight}%
    \path (current page.north west)+(\x,-\y)coordinate (\cmdKV@mytextblock@ID pagebottomleftFP);%
    \path (\cmdKV@mytextblock@ID pagebottomleftFP)+(\textwidth+\pgflinewidth+2\mytextblockinnerframesep,0)coordinate(\cmdKV@mytextblock@ID pagebottomrightFP);%
    \coordinate (\cmdKV@mytextblock@ID titleplacingFP) at (1,0);%
    \end{tikzpicture}%
    }%
    
    \newcommand{\mytextblockCatchCoordinateonbottom}{%
    \begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness,baseline=-.8\baselineskip]%
    \coordinate(\cmdKV@mytextblock@ID bottomleftLP) at (-\mytextblockinnerframesep-.5\pgflinewidth,-\pgflinewidth);		
    \coordinate(\cmdKV@mytextblock@ID bottomrightLP) at (\textwidth+1\pgflinewidth+\mytextblockinnerframesep,-\pgflinewidth);%
    \pgfmathsetlengthmacro\x{1in+\hoffset+\oddsidemargin-\mytextblockinnerframesep-1\pgflinewidth}
    \pgfmathsetlengthmacro\y{1in+\voffset+\headsep+\headheight+\topmargin-\pgflinewidth}%
    \path(current page.north west)+(\x,-\y)coordinate(\cmdKV@mytextblock@ID pagetopleftLP);%
    \path(\cmdKV@mytextblock@ID pagetopleftLP)+(\textwidth+2\mytextblockinnerframesep+2\pgflinewidth,0)coordinate(\cmdKV@mytextblock@ID pagetoprightLP);%
    \end{tikzpicture}%
    }
    
    %%%%%%%%%%unser hübscher Textblock
    \newenvironment{mytextblock}[1][]{%
    \refstepcounter{mytextblockcounter}%
    \setkeys{mytextblock}{#1}%
    \label{\cmdKV@mytextblock@ID}%
    %%%Koordinateneinfangen
    \par\noindent\bigskip%
    \mytextblockCatchCoordinateontop%
    %%%%Kasten und frame setz
    \ifthenelse{\equal{\pageref{\cmdKV@mytextblock@ID}}%
    									{\pageref{\cmdKV@mytextblock@ID-end}}}%
    	{}%Titel wird erst am Ende gesetzt
    	{\makeFramOrShadeatOnefirstpage
    	}
    %%Der Text beginnt
    \par\noindent%
    \ifthenelse{\isempty{\cmdKV@mytextblock@einleitung}}{}{{\par\noindent\cmdKV@mytextblock@einleitungfont\cmdKV@mytextblock@einleitung\par\vspace{.5\baselineskip}}}%
    \ifKV@mytextblock@linenumbering\begin{mytextblocknumberQuote}\else\begin{mytextblockQuote}\fi
    \ifKV@mytextblock@multicol\begin{multicols}{\cmdKV@mytextblock@multicols}
    [\vspace*{-\multicolsep}]
    \else\fi
    \ifKV@mytextblock@linenumbering
    \resetlinenumber\modulolinenumbers[5]%
    \setlength{\linenumbersep}{\cmdKV@mytextblock@linenumbersep}
    \setlength{\linenumberwidth}{8pt}
    \begin{linenumbers}%
    \else\fi
    }
    {%
    \ifKV@mytextblock@linenumbering%
    	\end{linenumbers}%
    \else\fi%
    \ifKV@mytextblock@multicol%
    	\end{multicols}\vspace*{-.8\baselineskip}%
    \else\fi%
    \ifKV@mytextblock@linenumbering\end{mytextblocknumberQuote}\else\end{mytextblockQuote}\fi%
    \myisemptycheck{\cmdKV@mytextblock@source}{}%
    	{\rule{\textwidth}{.5pt}\par\noindent{\cmdKV@mytextblock@sourcefont\cmdKV@mytextblock@source}}%
    \myisemptycheck{\cmdKV@mytextblock@aftertexthook}{}{\par\noindent\cmdKV@mytextblock@aftertexthook}%
    \par\noindent%
    %%Position
    %%%%Koordinaten bestimmen
    \mytextblockCatchCoordinateonbottom
    %%%Rahmen setzen
    \ifthenelse{\equal{\pageref{\cmdKV@mytextblock@ID}}{\pageref{\cmdKV@mytextblock@ID-end}}}%
    {\makeFramOrShadeomOnepage%
    }%
    {\makeFramOrShadeonLastpage%
    }%
    \label{\cmdKV@mytextblock@ID-end}
    \KV@mytextblock@insidemytextblockfalse%
    }%
    
    %%%alle Rahmen und Shattierungen
    \newcommand{\makeFramOrShadeomOnepage}{%
    \begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness]
    \ifKV@mytextblock@shaded\fill[opacity=.08] (\cmdKV@mytextblock@ID topleftFP) rectangle (\cmdKV@mytextblock@ID bottomrightLP);\else\fi%
    \ifKV@mytextblock@framed\path[draw] (\cmdKV@mytextblock@ID topleftFP) rectangle (\cmdKV@mytextblock@ID bottomrightLP);
    \node  at (\cmdKV@mytextblock@ID titleplacingFP)[draw,above=0mm,fill=white,rectangle,anchor=west,rounded corners=2mm] (title)
    		{{\cmdKV@mytextblock@titlefont\cmdKV@mytextblock@title}};%
    \else\fi
    \end{tikzpicture}
    }
    
    \newcommand{\makeFramOrShadeatOnefirstpage}{%
    	\begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness]
    		\ifKV@mytextblock@shaded%
    	\fill[opacity=0.08](\cmdKV@mytextblock@ID topleftFP)rectangle(\cmdKV@mytextblock@ID pagebottomrightFP);%
    	\else\fi%
    	\ifKV@mytextblock@framed%
    		\path[draw](\cmdKV@mytextblock@ID pagebottomleftFP)--(\cmdKV@mytextblock@ID topleftFP)--(\cmdKV@mytextblock@ID toprightFP)--(\cmdKV@mytextblock@ID pagebottomrightFP);%
    	\node  at (\cmdKV@mytextblock@ID titleplacingFP)[draw,above=0mm,fill=white,rectangle,anchor=west,rounded corners=2mm] (titel)%
    		{{\cmdKV@mytextblock@titlefont\cmdKV@mytextblock@title}};%
    \else%
    \fi
    \end{tikzpicture}
    }
    
    \newcommand{\makeFramOrShadeonLastpage}{%
    \begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness]
    \ifKV@mytextblock@shaded\fill[opacity=0.1](\cmdKV@mytextblock@ID bottomleftLP) rectangle (\cmdKV@mytextblock@ID pagetoprightLP);\else\fi
    \ifKV@mytextblock@framed\draw(\cmdKV@mytextblock@ID pagetoprightLP)--(\cmdKV@mytextblock@ID bottomrightLP)--(\cmdKV@mytextblock@ID bottomleftLP)--(\cmdKV@mytextblock@ID pagetopleftLP);\else\fi
    \end{tikzpicture}
    }
    
    \newcommand{\makeFrameOrShadebetweenpages}{%
    \AddEverypageHook{%
    \ifKV@mytextblock@insidemytextblock
    \ifthenelse{\equal{\pageref{\cmdKV@mytextblock@ID}}{\thepage}\OR\equal{\pageref{\cmdKV@mytextblock@ID-end}}{\thepage}}
    {}%erste oder letzte Seite
    {\begin{tikzpicture}[remember picture,overlay,line width=\cmdKV@mytextblock@linethickness]%
    	\pgfmathsetlengthmacro\x{1in+\hoffset+\oddsidemargin-.5\pgflinewidth-\mytextblockinnerframesep}%
    	\pgfmathsetlengthmacro\y{1in+\voffset+\headsep+\headheight+\topmargin}%
    	\path[draw] (current page.north west)+(\x,-\y)coordinate (\cmdKV@mytextblock@ID page\thepage topleft);%
    	\path[draw] (\cmdKV@mytextblock@ID page\thepage topleft)+(\textwidth+1\pgflinewidth+2\mytextblockinnerframesep,0)coordinate (\cmdKV@mytextblock@ID page\thepage topright);%
    	\path[draw] (\cmdKV@mytextblock@ID page\thepage topright)+(0,-\textheight)coordinate(\cmdKV@mytextblock@ID page\thepage bottomright);%
    	\path[draw] (\cmdKV@mytextblock@ID page\thepage topleft)+(0,-\textheight)coordinate(\cmdKV@mytextblock@ID page\thepage bottomleft);%
    	\ifKV@mytextblock@framed%
    		\path [draw](\cmdKV@mytextblock@ID page\thepage topleft)--(\cmdKV@mytextblock@ID page\thepage bottomleft);%
    		\path [draw](\cmdKV@mytextblock@ID page\thepage topright)--(\cmdKV@mytextblock@ID page\thepage bottomright);%
    	\else%
    	\fi%
    	\ifKV@mytextblock@shaded%
    		\fill[opacity=0.08](\cmdKV@mytextblock@ID page\thepage topleft)rectangle(\cmdKV@mytextblock@ID page\thepage bottomright);%
    	\else%
    	\fi%
    	\end{tikzpicture}%
    }%
    \else%
    \fi%
    }%
    }%
    \makeFrameOrShadebetweenpages%
    %%%%%%%%%%%ENde
    \endinput
    \end{filecontents}
    
    
    \usepackage{mytextkasten-rr}
    
    \begin{document}
    Der Kasten \ref{T-Beispiel} erstreckt sich von Seite \pageref{T-Beispiel} bis \pageref{T-Beispiel-end}, dort befinden sich in Zeile \ref{frag} drei xxx auf Seite \pageref{frag}
    
    \begin{mytextblock}%Demonstration mit Standardeinstellung und den Textfeldern
    [ID={T-Beispiel}
    ,title={Ein langer langer und überlanger Titel mit etwas mehr}
    ,beforehook={Hier kann man sich mit Latexcode einhäcken}
    ,einleitung={Das ist der Einleitungstext, mit dem man etwas über den kommenden Text sagen kann, er ist Standardmäßig schräggestellt. Die Formatierung kann mit {einleitungfont=\string\bfseries} geändert werden}
    %,aftertexthook={Dieser Text steht im Anschluss}
    ,source={Hier wird die Quelle eingegeben, die auch mal ein bisschen länger sein kann und am besten über den cite Befehl funktioniert.}
    ,shaded=true
    ,multicol=true
    ,linenumbering=true
    ]
    \blindtext[1]\linelabel{frag}xxx\blindtext[1]
    \end{mytextblock}
    %
    \begin{mytextblock}%Demonstration mit Standardeinstellung und den Textfeldern
    [ID={T-2}
    	,title={Ein langer langer und überlanger Titel mit etwas mehr}
    ,beforehook={Hier kann man sich mit Latexcode einhäcken}
    ,einleitung={Das ist der Einleitungstext, mit dem man etwas über den kommenden Text sagen kann, er ist Standardmäßig schräggestellt. Die Formatierung kann mit {einleitungfont=\{...\}} geändert werden}
    %,aftertexthook={Dieser Text steht im Anschluss}
    ,source={Hier wird die Quelle eingegeben, die auch mal ein bisschen länger sein kann und am besten über den cite Befehl funktioniert.}
    ,framed=true
    ,shaded=false
    ,innerframesep={1pt}
    ,columnsep={18pt}
    ,linenumbersep={5pt}
    ,linethickness={3pt}
    ]
    \blindtext[5]
    \blindtext
    \end{mytextblock}
    
    Text \ref{T-2} beginnt auf Seite \pageref{T-2}
    \begin{mytextblock}%Demonstration mit Standardeinstellung und den Textfeldern
    [ID={T-3}
    	,title={Ein langer langer und überlanger Titel mit etwas mehr}
    ,beforehook={Hier kann man sich mit Latexcode einhäcken}
    ,einleitung={Das ist der Einleitungstext, mit dem man etwas über den kommenden Text sagen kann, er ist Standardmäßig schräggestellt. Die Formatierung kann mit {einleitungfont=\{...\}} geändert werden}
    %,aftertexthook={Dieser Text steht im Anschluss}
    ,source={Hier wird die Quelle eingegeben, die auch mal ein bisschen länger sein kann und am besten über den cite Befehl funktioniert.}
    ,framed=true
    ,multicols=3
    ,shaded=false
    ,innerframesep={6pt}
    ]
    \blindtext[6]
    \blindtext
    \end{mytextblock}
    \tikz[remember picture,overlay]{\node at (T-2pagetoprightLP) [anchor=west,rectangle]{zum Einhecken};}
    
    \end{document}

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •