물음표가 수직 중앙에 표시되도록(간격은 텍스트 길이에 따라 다름) 다음 환경을 수정하려면 어떻게 해야 합니까?
해당 질문 상자를 생성하는 코드는 다음과 같습니다.
\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}
원래 상자에 텍스트를 어떻게 넣는지, 회색으로 음영을 넣는 방법, 왼쪽에 큰 물음표를 넣는 방법 등이 궁금했는데 (인터넷 검색 끝에) 다 알아냈습니다. 물음표를 수직 중앙에 배치하는 것이 제가 아직 파악하지 못한 마지막 부분입니다.
답변1
이 코드를 사용해 보세요. ?
패키지를 사용하여 계산된 기호 너비로 parbox에 기호를 삽입합니다 calc
. 두 개의 Parbox를 총 너비가 \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}