Spielkarte Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


mattazie
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 19. Mai 2023, 14:50

Spielkarte

Beitrag von mattazie »

Guten Tag,

ich habe wiedereinmal eine neue (oder auch alte) Frage. Ich möchte eine Art Spielkarte erstellen. Dazu habe ich ein eigenes Seitenformat erstellt. Auf der Karte soll das "A" horizontal und vertikal zentriert sein, und der Text "Das ist ein Text." am unteren rechten Rand der farbigen Box. In der ersten Variante ist das "A" nicht horizontal zentriert. Wenn ich aber die Zeile
\put(8mm,-27.5mm){\tiny Das ist ein Text.}
auskommentiere, wird das "A" horizontal zentriert.
\documentclass{article}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{rotating}
\usepackage[paperwidth=48mm,paperheight=69mm,margin=7mm,showframe,nomarginpar]{geometry}
\usepackage{color}

\pagestyle{empty}
\usepackage{tcolorbox}

\usepackage{layout}



\begin{document}


\begin{tcolorbox}[colback=red!5!white,width=34mm,height=55mm,arc=3mm,valign=center,halign=center]
%\put(0mm,0mm).

\begin{sideways}

\huge{A}

\end{sideways}

% \put(8mm,-27.5mm)
 \begin{sideways}
   
\put(8mm,-27.5mm){\tiny Das ist ein Text.}
\end{sideways}

\end{tcolorbox}


\end{document}
Bei der zweiten Variante mit \makebox oder \framebox habe ich das Problem, dass ich die Box mit \put nicht deckungsgleich mit der tcolorbox kriege.
\documentclass{article}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{rotating}
\usepackage[paperwidth=48mm,paperheight=69mm,margin=7mm,showframe,nomarginpar]{geometry}
\usepackage{color}

\pagestyle{empty}
\usepackage{tcolorbox}

\usepackage{layout}



\begin{document}


\begin{tcolorbox}[colback=red!5!white,width=34mm,height=55mm,arc=3mm,valign=center,halign=center]
%\put(0mm,0mm).

\begin{sideways}

\put(-29.625mm,-33mm){\framebox(55mm,34mm){\huge{A}}}

\end{sideways}

% \put(8mm,-27.5mm)
 \begin{sideways}
   
\put(8mm,-27.5mm){\tiny Das ist ein Text.}
\end{sideways}

\end{tcolorbox}


\end{document}
Wieso verändert sich die Zentrierung mit der unteren Textzeile, wie kann ich das umgehen?
Wieso kann ich die \framebox nicht dorthin verschieben, wo ich sie haben will?
Wieso ist \put(0,0) völlig im Schilf und nicht in der unteren linken Ecke?
Habe ich bei der Formatierung der Seite einen Fehler gemacht?

Ich hoffe, es kann mir jemand helfen.

Liebe Grüsse

mattazie

mattazie
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 19. Mai 2023, 14:50

Re: Spielkarte

Beitrag von mattazie »

Guten Tag

Meine Frage wurde schon mehr als 250 mal angeschaut, aber eine Reaktion darauf habe ich leider noch nicht erhalten. Woran liegt es?
Habe ich die Frage unklar gestellt?
Ist das Problem zu kompliziert oder mit Latex unlösbar?
Vielleicht nochmals kurz:
Der eine Text soll horizontal und vertikal mittig in der Colorbox sein. Der kleinere Text möchte ich oben rechts mit immer demselben Abstand von oberen und rechten Rand stehen, egal wie lang der Text in der Mitte ist. Beide Texte sollen um 90Grad gedreht stehen.
Ich hoffe, die Frage ist jetzt besser verständlich und es weiss jemand eine Lösung.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Spielkarte

Beitrag von u_fischer »

Dein Problem ist natürlich mit LaTeX lösbar, aber dein Code ist etwas seltsam. Ich wäre nicht auf die Idee gekommen sideways zu benutzen. Und während ich zwar irgendwie weiß, dass \put auch außerhalb von picture funktioniert, könnte ich dir nicht auf Anhieb sagen, wie es sich dort benimmt. Oder andersherum gesagt, weißt du was hier rauskommt, ohne es auszuprobieren?
\documentclass{article}
\begin{document}

xx\put(8mm,-27.5mm){\tiny Das ist ein Text.}yy

zz
\end{document}

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Spielkarte

Beitrag von u_fischer »

So z.B. ginge es:
\documentclass{article}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[paperwidth=48mm,paperheight=69mm,margin=7mm,showframe,nomarginpar]{geometry}
\pagestyle{empty}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\usepackage{layout}

\begin{document}

\begin{tcolorbox}
[colback=red!5!white,width=34mm,height=55mm,arc=3mm,valign=center,halign=center,
 enhanced,
 overlay={\node[anchor=south east,rotate=90,font=\tiny] 
    at ([xshift=-0.2mm,yshift=-0.2mm]frame.north east){This ist ein text};} ]

\huge \rotatebox{90}{A}

\end{tcolorbox}


\end{document}

mattazie
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 19. Mai 2023, 14:50

Re: Spielkarte

Beitrag von mattazie »

Vielen Dank für die gute Hilfe. So geht es natürlich einfacher und eleganter, und ich kann den Text wirklich positionieren, wo ich will.

Ich habe noch eine Anschlussfrage. Ich möchte die Karte in einen oberen und einen unteren Teil unterteilen. Dabei soll der Rahmen grün, die Hintergrundfarbe des oberen Teil weiss und der Hintergrund des unteren Teils gelb sein.
Ich versuchte es mit bicolor, colback, colbacklower, colframe, aber irgendwie funktioniert es nicht. Der untere Teil bleibt weiss. Kann mir jemand helfen, woran das liegt?
\documentclass{article}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[paperwidth=48mm,paperheight=69mm,margin=7mm,nomarginpar]{geometry}
\pagestyle{empty}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\usepackage{layout}

\begin{document}

\begin{tcolorbox}
[bicolor,colback=white,colbacklower=yellow,colframe=green,width=34mm,height=55mm,arc=3mm,valign=center,halign=center,
 enhanced,
 overlay={\node[anchor=south east,rotate=90,font=\tiny] 
    at ([xshift=-0.2mm,yshift=-32mm]frame.north east){This ist ein text};}]

\huge {oben}

\tcblower

\huge {unten}

\end{tcolorbox}


\end{document}

Antworten