我在下面提供了一个简单的 LaTeX 文本框的代码。我还附上了输出的屏幕截图,旁边是 Microsoft Word 中编译的类似文本框。我希望 LaTeX 文本框的格式与 MS Word 文本框的格式相同。特别是垂直居中是一个问题。只有当字母 g(或任何其他带有降部字母)用 \smash{} 修改时,MS Word 文本框才看起来像 LaTeX 文本框。如果没有使用 \smash{},则降部会在文本下方添加更多垂直空间。有人可以提供一个 LaTeX 代码来自动粉碎这些降部(或实现类似效果的东西),以便 LaTeX 框中的文本与 MS Word 中的垂直居中相匹配吗?我将不胜感激。
请注意,有时我想在这些文本框中添加方程式,最有可能使用对齐环境。重要的是,这个问题的完整解决方案不会在这个对齐环境周围引入任何额外的垂直空间,就像这个问题的现有建议答案一样。
\documentclass[12pt]{article}
\usepackage{lipsum} % for generating dummy text
\usepackage{tcolorbox} % for creating colored boxes
\begin{document}
\begin{tcolorbox}[colback=white,colframe=black]
\LARGE abcdefg
\end{tcolorbox}
\end{document}
答案1
您可以使用它\strut
来确保您的文本始终具有最大高度,然后根据需要减少顶部和底部边距:
\documentclass{article}
\usepackage{tcolorbox}
\newtcolorbox{test}{
colback=white,
colframe=black,
bottom=-3pt,
top=0pt,
fontupper=\LARGE,
after upper={\strut},
before upper={\strut}
}
\begin{document}
\begin{test}
ace
\end{test}
\begin{test}
abcdefg
\end{test}
\end{document}
如果出于某种奇怪的原因,上升部的存在应该影响盒子的高度,但下降部的存在不应该影响盒子的高度,那么你可以这样做
\documentclass{article}
\usepackage{tcolorbox}
\newtcolorbox{test}{
colback=white,
colframe=black,
bottom=0pt,
top=3pt,
fontupper=\LARGE,
after upper={\vphantom{g}},
}
\begin{document}
\begin{test}
ace
\end{test}
\begin{test}
abcdefg
\end{test}
\end{document}