In folgendem Minimalbeispiel verwende ich das Paket Open in writeLaTeX
\documentclass{scrartcl} \usepackage[ngerman]{babel} \usepackage{blindtext} \usepackage{gridset} \begin{document} \twocolumn \blindtext[3] \[ y = x^2 \] \vskipnextgrid Nun kommt weiterer Text. \end{document} Man muss wenigstens zweimal übersetzen, da Warum passiert das, und wie macht man das richtig? |
Die Frage wurde aus folgenden Grund "Das Problem ist veraltet, da es seit Version 0.3 nicht mehr auftritt." geschlossen saputello 18 Nov '20, 09:22
Ab Version 0.3 ist das Problem laut commit-Message wohl behoben. Durch eine Änderung in \documentclass{scrartcl} \usepackage[ngerman]{babel} \usepackage{blindtext} \usepackage{gridset} \makeatletter \@ifpackagelater{gidset}{2020/02/10}{}{% Nur für ältere Versionen ändern. \renewcommand*{\vskipnextgrid}{% \begingroup \stepcounter{gridcnt}\edef\@tempa{vp!\thegridcnt}% \ifvmode \leavevmode\savepos{\@tempa}% \expandafter\ifx\csname pos@\@tempa @vskip\endcsname\relax \else \expandafter\ifnum \csname pos@\@tempa @vskip\endcsname =\z@\else \PackageInfo{gridset}{% vmode \string\vskip\csname pos@\@tempa @vskip\endcsname sp% }% \vskip -\parskip\vskip -\baselineskip \expandafter\vskip\csname pos@\@tempa @vskip\endcsname sp\relax \fi \fi \else \parskip=\z@ \savepos{vp!\thegridcnt}% \expandafter\ifx\csname pos@\@tempa @vskip\endcsname\relax \else \expandafter\ifnum \csname pos@\@tempa @vskip\endcsname =\z@\else \PackageInfo{gridset}{% hmode \string\vskip\csname pos@\@tempa @vskip\endcsname sp% }% \vskip -\baselineskip \expandafter\vskip\csname pos@\@tempa @vskip\endcsname sp\relax % Ab hier haben wir nun die Änderung, dass nicht mehr direkt % \leavevmode\hskip … aufgerufen wird, sondern der Wert für den % \hskip wird erst einmal in \@tempdima gespeichert … \if@twoside \expandafter\ifodd\csname pos@\@tempa @page\endcsname\relax \@tempdima\dimexpr - 1in - \oddsidemargin - \parindent + \csname pos@\@tempa @x\endcsname sp\relax \else \@tempdima\dimexpr - 1in - \evensidemargin - \parindent + \csname pos@\@tempa @x\endcsname sp\relax \fi \else \@tempdima\dimexpr - 1in - \oddsidemargin - \parindent + \csname pos@\@tempa @x\endcsname sp\relax \fi % … und in der zweiten Spalten eines zweispaltigen Textes wird er % dann um die Spaltenbreite + den Spaltenabstand korrigiert … \if@twocolumn\if@firstcolumn\else \addtolength{\@tempdima}{-\columnwidth}\addtolength{\@tempdima}{-\columnsep}% \fi\fi % … und erst dann erfolgt wieder das \leavevmode\hskip … \leavevmode\hskip\@tempdima \fi \fi \fi \endgroup } } \makeatother \begin{document} \twocolumn \blindtext[3] \[ y = x^2 \] \vskipnextgrid Nun kommt weiterer Text. \end{document} Das nützt zwar nichts für dein Buch, aber ist vielleicht trotzdem für den einen oder anderen nützlich. Allerdings sollte man die Änderung natürlich nur vornehmen, wenn man sicher ist, dass der Code in beantwortet 11 Feb '20, 18:18 gast3 |
Mit
\par\skipnextgrid\noindent
oder\vskip0pt\skipnextgrid\noindent
funktioniert es.@esdd Vielen Dank, das funktioniert. Ich hatte sowas getestet und dabei eine Leerzeile mehr erhalten. Komischerweise hatte es vorher sich bei fast gleichem Code mal richtig verhalten. Ich wollte das Paket gern im Buch vorstellen, diesen Fix kann ich jedoch nur schwer erklären.
Da es ohne
\twocolumn
funktioniert, liegt vielleicht da der Hund begraben?@Clemens Zweispaltig macht Raster besonders interessant. @Ijon alpha hätte ich erwähnt, es war auch eher als Zusatzbemerkung gedacht, dass man damit z.B. einfach dort reparieren könnte, wo das Paket
grid
nicht funktioniert, wie beialign
beispielsweise.