Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

Re: Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

von cis » Do 23. Jul 2020, 19:39

Vermutlich ist es so richtiog umgesetzt:

\newlength{\gridlinewidth}
\setlength{\gridlinewidth}{2.4pt}% 0.4pt = default tikz line width

\pgfmathsetlengthmacro\OuterBoxLinewidth{6*\gridlinewidth}
\pgfmathsetlengthmacro\InnerBoxLinewidth{3*\gridlinewidth}
\pgfmathsetlengthmacro\SymbolBoxLinewidth{7*\gridlinewidth}
\pgfmathsetlengthmacro\HighReduced{6cm-\InnerBoxLinewidth-\OuterBoxLinewidth}
\documentclass[a4paper]{article} % DINA4 (210 × 297 [mm])
\usepackage[%showframe=true,
  width=16cm,
  height=26cm,
]{geometry}
\pagestyle{empty}
\usepackage{tikz}

\newlength{\gridlinewidth}
\setlength{\gridlinewidth}{2.4pt}% 0.4pt = default tikz line width

\pgfmathsetlengthmacro\OuterBoxLinewidth{6*\gridlinewidth}
\pgfmathsetlengthmacro\InnerBoxLinewidth{3*\gridlinewidth}
\pgfmathsetlengthmacro\SymbolBoxLinewidth{7*\gridlinewidth}
\pgfmathsetlengthmacro\HighReduced{6cm-\InnerBoxLinewidth-\OuterBoxLinewidth}

\usepackage[most]{tcolorbox}
\tcbset{
NoGaps/.style={boxsep=0pt, left=0pt, right=0pt, top=0pt, bottom=0pt,}, 
CommonStyle/.style={NoGaps, sharp corners,  colback=white, colframe=black, before skip=0pt, after skip=0pt,}, 
SymbolStyle/.style={boxrule=\SymbolBoxLinewidth, colframe=blue}, 
}

\begin{document}
% Äußere Box ==========================
\begin{tcolorbox}[CommonStyle, 
height=6cm,    
colframe=brown, sharp corners, boxrule=\OuterBoxLinewidth, % deutlich abheben grow sidewards by=0.5\gridlinewidth, enlarge bottom finally by=8cm+\gridlinewidth, enhanced, finish={% \begin{scope}[shift={([xshift=0.5\gridlinewidth, yshift=-0.5\gridlinewidth-0cm]frame.south west)}] \draw[step=2, line cap=rect, red, line width=\gridlinewidth] grid +(\linewidth, -8); \end{scope} } ] % Innere Boxen ========================== \begin{tcbitemize}[ CommonStyle, boxsep=3pt, % raster rows=2, % kein zusätzl. Effekt raster height=\HighReduced, raster row 1/.style={height=3cm}, raster equal height=rows, % =============================== sharp corners, boxrule=\InnerBoxLinewidth, raster columns=100, raster column skip=0pt, raster row skip=0pt, ] \tcbitem[raster multicolumn=20, SymbolStyle] X \tcbitem[raster multicolumn=15] Y \tcbitem[raster multicolumn=65] Z \tcbitem[raster multicolumn=60] a \\ 1 \\ 2\\ 3 \\ 4\\ 5 \\ 6 \\ 7 \\8 \tcbitem[raster multicolumn=40] b \end{tcbitemize} \end{tcolorbox} Text after box and grid. \end{document}

Re: Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

von cis » Do 23. Jul 2020, 03:23

Wie ist das hier? Kann man da direkt etwas anschließen?
Darf es eine Stufe schwerer sein?

Das Problem ist: die gezeigte tcolorbox hat nur den Zweck einen (deutlichen) äußeren Rahmen um ein tbcitemize zu zeichnen (das zieht schonmal haufenweise Einstellungen nach sich; also falls da jmd. etwas Einfacheres kennt, gerne... Weil das macht hier echt Schwierigkeiten)

Wenn ich jetzt also, mit zur Verdeutlichung raufgesetzter

\setlength{\gridlinewidth}{2.4pt}% 0.4pt = default tikz line width

den tbcitemize Inhalt ergänze, wird es schlecht (s.u.).

· Die gesamte Box über dem grid sollte 6cm hoch sein.
· Wahrscheinlich ist es nur eine Kleinigkeit, die fehlt. Aber durch dieses Rahmenzeichnen usw. ist der Code wieder umfangreich geworden.

Vielleicht kann mir ja jmd. sagen, was noch fehlt.

Bild

\documentclass[a4paper]{article} % DINA4 (210 × 297 [mm])
\usepackage[%showframe=true,
  width=16cm,
  height=26cm,
]{geometry}
\pagestyle{empty}
\usepackage{tikz}

\newlength{\gridlinewidth}
\setlength{\gridlinewidth}{2.4pt}% 0.4pt = default tikz line width
\usepackage[most]{tcolorbox}
\tcbset{
NoGaps/.style={boxsep=0pt, left=0pt, right=0pt, top=0pt, bottom=0pt,}, 
CommonStyle/.style={NoGaps, sharp corners,  colback=white, colframe=black, before skip=0pt, after skip=0pt,}, 
SymbolStyle/.style={boxrule=3\gridlinewidth, colframe=blue}, 
}

\begin{document}
% Äußere Box ==========================
\begin{tcolorbox}[CommonStyle, 
height=6cm,    
colframe=brown, sharp corners, boxrule=6\gridlinewidth, % deutlich abheben grow sidewards by=0.5\gridlinewidth, enlarge bottom finally by=8cm+\gridlinewidth, enhanced, finish={% \begin{scope}[shift={([xshift=0.5\gridlinewidth, yshift=-0.5\gridlinewidth-0cm]frame.south west)}] \draw[step=2, line cap=rect, red, line width=\gridlinewidth] grid +(\linewidth, -8); \end{scope} } ] % Innere Boxen ========================== \begin{tcbitemize}[ CommonStyle, boxsep=3pt, % raster rows=2, % kein zusätzl. Effekt raster height=6cm-3\gridlinewidth, % Problem hier ========= raster row 1/.style={height=3cm}, raster equal height=rows, % =============================== sharp corners, boxrule=3\gridlinewidth, raster columns=100, raster column skip=0pt, raster row skip=0pt, ] \tcbitem[raster multicolumn=20, SymbolStyle] X \tcbitem[raster multicolumn=15] Y \tcbitem[raster multicolumn=65] Z \tcbitem[raster multicolumn=60] a \\ 1 \\ 2\\ 3 \\ 4\\ 5 \\ 6 \\ 7 \\8 \tcbitem[raster multicolumn=40] b \end{tcbitemize} \end{tcolorbox} Text after box and grid. \end{document}

Re: Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

von cis » Do 23. Jul 2020, 03:01

Ja, komisch. Ich war der Meinung das drin gehabt zu haben. Das macht ja sonst gar keinen Sinn.

TeXwork zeigt damit eine lecht Lücke an; Adobe Reader nicht, daegegen eine sehr leichte Versetzung, die beim Druck vermutlich nicht auffallen wird.

Wie auch immer. Ich schätze, dass es damit geht. (Aber ich habe noch en Problem...)
Also das löst jetzt erstmal das Ausgangsproblem:

\documentclass[a4paper]{article} % DINA4 (210 × 297 [mm])
\usepackage[%showframe=true,
  width=16cm,
  height=26cm,
]{geometry}
\pagestyle{empty}

\usepackage{tikz}
\usepackage[most]{tcolorbox}

\begin{document}
\newlength{\gridlinewidth}
\setlength{\gridlinewidth}{0.4pt} % default tikz line width

\begin{tcolorbox}[
enhanced,
height=6cm,
sharp corners,
boxrule=6\gridlinewidth,  % deutlich abheben
grow sidewards by=0.5\gridlinewidth,
enlarge bottom finally by=8cm+\gridlinewidth,
finish={%
\begin{scope}[shift={([xshift=0.5\gridlinewidth, yshift=-0.5\gridlinewidth-0cm]frame.south west)}]
\draw[step=2, line cap=rect, red, line width=\gridlinewidth]  grid +(\linewidth, -8);
\end{scope}
}
]
\verb+\setlength{\gridlinewidth}{<y>}+  \\
y = \the\gridlinewidth
\end{tcolorbox}
Text after box and grid.
\end{document}

Re: Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

von esdd » Do 23. Jul 2020, 00:38

Als \gridlinewidth muss die Linienbreite angegeben werden, die auch für das Zeichnen des Gitters verwendet wird. Es reicht also nicht, \gridlinewidth auf 7.4pt zu setzen, sondern Du musst diese gegenüber der Standardeinstellung geänderte Linienbreite auch beim Zeichnen des Gitters verwenden. Am einfachsten ist es, wenn Du für das Gitter line width=\gridlinewidth setzt, also

\draw[step=2, line cap=rect, red, line width=\gridlinewidth]  grid +(\linewidth, -8);

Grid unter tcolorbox (Lösung des Autors klappt teilw. nicht)

von cis » Mi 22. Jul 2020, 20:18

Ich habe hier das Problem, dass ich unter eine tcolorbox ein grid nahtlos anschließen möchte.
Bei der [Lösung des Autors][1] ist mir aufgefallen, dass diese für größere Werte \setlength{\gridlinewidth}{<Längenmaß>} nicht mehr funktioniert, vgl. Bild.

Irgendetwas fehlt. Wie kann ich das fixen?
Hinweis: Ich habe \usepackage[ width=16cm, height=26cm, ]{geometry} gewählt, da ich auf einer DINA4 (210 × 297 [mm]) Seite einen Rand von um die 2cm brauche (oder etwas größer, nicht viel kleiner) und maximal viele 2cm-grid-Quadrate in der Breite haben viel.

Hinweis 2: Wenn ich an das 1. Bild, an dem steht "klappt gut" steht, genauer heranzoome bin ich der Meinung, dass es eigentlich doch nicht so gut klappt: es scheint kein sauberes Grid zu sein.

Hinweis 3: Crosspost unmittelbar angegeben https://texwelt.de/fragen/26754/grid-un ... eilw-nicht

Bild


\documentclass[a4paper]{article} % DINA4 (210 × 297 [mm])
\usepackage[%showframe=true,
  width=16cm,
  height=26cm,
]{geometry}
\pagestyle{empty}

\usepackage{tikz}
\usepackage[most]{tcolorbox}

\begin{document}
\newlength{\gridlinewidth}

\setlength{\gridlinewidth}{0.4pt} % default tikz line width
\begin{tcolorbox}[
  enhanced,
  height=6cm,
  sharp corners,
  boxrule=10pt,  % für Testzwecke
  grow sidewards by=.5\gridlinewidth,
  enlarge bottom finally by=8cm+\gridlinewidth,
  finish={%
    \begin{scope}[shift={([xshift=0.5\gridlinewidth, yshift=-0.5\gridlinewidth]frame.south west)}]
    \draw[step=2, line cap=rect, red]  grid +(\linewidth, -8);
    \end{scope}
  }
]
\verb+\setlength{\gridlinewidth}{0.4pt}+ klappt gut.
\end{tcolorbox}

\setlength{\gridlinewidth}{7.4pt} % default tikz line width
\begin{tcolorbox}[
  enhanced,
  height=6cm,
  sharp corners,
  boxrule=10pt,  % für Testzwecke
  grow sidewards by=.5\gridlinewidth,
  enlarge bottom finally by=8cm+\gridlinewidth,
  finish={%
    \begin{scope}[shift={([xshift=0.5\gridlinewidth, yshift=-0.5\gridlinewidth]frame.south west)}]
    \draw[step=2, line cap=rect, red]  grid +(\linewidth, -8);
    \end{scope}
  }
]
\verb+\setlength{\gridlinewidth}{7.4pt}+ klappt nicht. 
\end{tcolorbox}


Text after box and grid.
\end{document}

[1]: https://tex.stackexchange.com/questions ... 628#553628


Nach oben