Ich möchte in folgendem Beispiel, dass die vertikale Linie auf der ersten (und ggf. zweiten) Seite über die ganze Seitenlänge ausgedehnt wird: Open in Online-Editor
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{longtable} \usepackage{blindtext} \begin{document} \begin{longtable}[l]{@{}p{0.8\textwidth}@{\qquad}|l@{}} \blindtext\vspace{\baselineskip} & Nummer 1\\ \blindtext\vspace{\baselineskip} & Nummer 2\\ \blindtext[2] & Nummer 3\\ \end{longtable} \end{document} Ich kann dies manuell erreichen, indem ich bei Open in Online-Editor
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{longtable} \usepackage{blindtext} \begin{document} \begin{longtable}[l]{@{}p{0.8\textwidth}@{\qquad}|l@{}} \blindtext\vspace{\baselineskip} & Nummer 1\\ \blindtext\vspace{19\baselineskip} & Nummer 2\\ \blindtext[2] & Nummer 3\\ \end{longtable} \end{document} Allerdings ist es einerseits eine Ausprobiererei und sobald sich der Text oben ändert passt es nicht mehr. Kann man dies automatisieren bzw. anders erreichen? gefragt 31 Jan '16, 14:58 tom75 |
Wenn man nicht Open in Online-Editor
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{marginnote} \usepackage{blindtext} \newcommand*{\specialmarginnote}[1]{% \leavevmode \marginnote{% \makebox[0pt][r]{% \makebox[.2\textwidth][l]{% \raisebox{0pt}[0pt][0pt]{% \rule[\dimexpr\ht\strutbox-\paperheight]{.4pt}{\dimexpr\paperheight}% }\enskip #1% }% }% }% } \begin{document} \blindtext \begin{addmargin}[0pt]{.2\textwidth} \KOMAoptions{parskip=full-}\selectfont \parbox{\linewidth}{\specialmarginnote{Nummer 1}\blindtext}% \parbox{\linewidth}{\specialmarginnote{Nummer 2}\blindtext}% \parbox{\linewidth}{\specialmarginnote{Nummer 3}\blindtext[2]}% \end{addmargin} \end{document} Die beiden Seiten sehen dann so aus: Dass die Linie tatsächlich unter den unteren Rand der Seite hinaus ragt, ist dabei normalerweise kein Problem. Soll die Linie allerdings nur bis zum unteren Rand, also bis zum Ende des Textbereichs ragen, muss man bei dieser Lösung einiges an Aufwand treiben. Zwar kann man mit Open in Online-Editor
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{blindtext} \usepackage{marginnote} %\usepackage{showframe} \newcounter{pagetotal} \makeatletter \AtBeginDocument{% \@tempdima=\dimexpr\pdfpageheight-1in-\voffset-\topmargin-\headheight-\headsep-\topskip-\baselineskip\relax \@tempcnta=\@tempdima \immediate\write\@auxout{% \string\def\string\detectnewpagelimit{\the\@tempcnta}% }% } \newcommand*{\detectnewpagelimit}{49100000} \newcommand*{\savepagetotal}{% \stepcounter{pagetotal}% \pdfsavepos \protected@write\@auxout{}{\string\expandafter \string\gdef\string\csname\space pagetotal\thepagetotal\string\endcsname {\noexpand\number\pdflastypos}}% \@ifundefined{pagetotal\thepagetotal}{% \typeout{War undefiniert}% \expandafter\let\csname pagetotal\thepagetotal\endcsname \detectnewpagelimit }{% \typeout{Wert: \@nameuse{pagetotal\thepagetotal}}% }% \ifnum\@nameuse{pagetotal\thepagetotal}<\detectnewpagelimit \def\additionaloffset{\pagetotal}% \else \typeout{Limit reached!}% \let\additionaloffset\z@ \fi } \newcommand*{\specialmarginnote}[1]{% \leavevmode \marginnote{% \makebox[0pt][r]{% \makebox[.2\textwidth][l]{% \raisebox{0pt}[0pt][0pt]{% \savepagetotal \rule[\dimexpr\ht\strutbox-\textheight+\additionaloffset]{.4pt}{\dimexpr\textheight-\additionaloffset}% }\enskip #1% }% }% }% } \makeatother \begin{document} \blindtext \begin{addmargin}[0pt]{.2\textwidth} \KOMAoptions{parskip=full-}\selectfont \parbox{\linewidth}{\specialmarginnote{Nummer 1}\blindtext}% \parbox{\linewidth}{\specialmarginnote{Nummer 2}\blindtext}% \parbox{\linewidth}{\specialmarginnote{Nummer 3}\blindtext[2]}% \end{addmargin} \end{document} Sollen wie in dem Beispiel Boxen gesetzt werden, dann könnte man natürlich auch die Höhe der Box ausmessen und bei Bedarf erst einmal einen Seitenumbruch einfügen: Open in Online-Editor
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{marginnote} \usepackage{blindtext} \newcommand*{\specialmarginnote}[1]{% \leavevmode \marginnote{% \makebox[0pt][r]{% \makebox[.2\textwidth][l]{% \raisebox{0pt}[0pt][0pt]{% \rule[\dimexpr\ht\strutbox-\textheight+\pagetotal]{.4pt}{\dimexpr\textheight-\pagetotal}% }\enskip #1% }% }% }% } \newsavebox\specialtextbox \newcommand\specialboxwithnote[2]{% \savebox\specialtextbox{\parbox[t]{.8\textwidth}{#1}}% \ifdim\dimexpr\pagegoal-\pagetotal\relax<\dimexpr\ht\specialtextbox+\dp\specialtextbox\relax \newpage \else \par \fi \leavevmode\specialmarginnote{#2}\usebox\specialtextbox\par } \begin{document} \blindtext \begin{addmargin}[0pt]{.2\textwidth} \KOMAoptions{parskip=full-}\selectfont \specialboxwithnote{\blindtext}{Nummer 1} \specialboxwithnote{\blindtext}{Nummer 2} \specialboxwithnote{\blindtext\blindtext}{Nummer 3} \end{addmargin} \end{document} Einen ganz anderen Ansatz böte übrigens die Verwendung von Ebenfalls möglich wäre die Verwendung von beantwortet 17 Jun '16, 14:00 saputello |
Was passiert denn, wenn nach der Tabelle Text ist? Oder kommt vor und nach der Tabelle immer ein
\clearpage
?Nach der Tabelle kommt kein Text.
Und davor? Beginnt die Tabelle immer auf einer neuen Seite? Wenn dem so ist, kannst du mit dem Paket
scrlayer-scrpage
die Linie ziehen, ohne daslongtable
darin involviert ist.Nein, vor der Tabelle ist normalerweise ein Text, der ca 1/4 Seite lang ist. Trotzdem: Wie würde es ohne einen solchen Text mit
scrlayer-scrpage
gehen?