
我在下面提供了一個簡單的 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}