Wie ändere ich die folgende Umgebung, damit das Fragezeichen vertikal zentriert erscheint (dessen Abstand von der Textlänge abhängt)?
Hier ist der Code, der dieses Fragenfeld erzeugt:
\documentclass[]{article}
\usepackage{tikz}
\usepackage{environ}
\newtheorem{question}{Question}
\NewEnviron{myq}
{
\noindent\fcolorbox{black}{gray!10}{
\tikz\node[
font=\fontfamily{ppl}\fontsize{1cm}{1.2cm}\selectfont]{?};
\parbox{\textwidth}{
\vspace*{-2mm}
\begin{question}
\BODY
\end{question}
}
}
}
\begin{document}
\begin{myq}
Here is some question in a gray box,
with a question mark to the left of it.
The thing is, I'd like the question mark to be
centered vertically within the box. How do I
do that?
\end{myq}
\end{document}
Ursprünglich hatte ich eine Frage dazu, wie man Text in ein Kästchen einfügt, wie man ihn grau schattiert und wie man links ein großes Fragezeichen einfügt, aber das habe ich alles herausgefunden (nachdem ich online gesucht hatte). Das Fragezeichen vertikal zentriert zu platzieren, ist der letzte Teil, den ich noch nicht herausgefunden habe.
Antwort1
Probieren Sie diesen Code aus. Fügt das Schild ?
in eine Parbox mit der Breite des Schildes ein, die anhand des calc
Pakets berechnet wird. Platziert die beiden Parboxen nebeneinander mit einer Gesamtbreite von \linewidth
.
\documentclass[]{article}
\usepackage{tikz}
\usepackage{environ}
\usepackage{showframe}% only to show the margins
\usepackage{calc}% added <<<<<<<<<<<
\newlength{\signwidth} % added <<<<<<<<<<<
\setlength{\signwidth}{\widthof{\fontfamily{ppl}\fontsize{1cm}{1.2cm}\selectfont ?\ }}
\newtheorem{question}{Question}
\NewEnviron{myq}
{\noindent\fcolorbox{black}{gray!10}{%
\parbox{\signwidth}{% added <<<<<<<<<
\vspace*{-2mm}% OPTIONAL <<<<
\tikz\node[font=\fontfamily{ppl}\fontsize{1cm}{1.2cm}\selectfont]{?};
}
\parbox{\dimexpr\linewidth-\signwidth-\marginparsep-2\fboxrule}{%changed <<<
\vspace*{-2mm}
\begin{question}
\BODY
\end{question}
}
}
}
\begin{document}
\begin{myq}
Here is some question in a gray box,
with a question mark to the left of it.
The thing is, I'd like the question mark to be
centered vertically within the box. How do I
do that?
\end{myq}
\end{document}