
Ниже я привел код для простого текстового поля в LaTeX. Я также прикрепил снимок экрана вывода рядом с похожим текстовым полем, скомпилированным в Microsoft Word. Я хотел бы, чтобы текстовое поле LaTeX было отформатировано так же, как и в MS Word. В частности, проблема заключается в вертикальном центрировании. Текстовое поле MS Word выглядит как LaTeX только тогда, когда буква g (или любая другая буква с выносным элементом) изменена на \smash{}. Если \smash{} НЕ используется, то выносной элемент добавляет больше вертикального пространства под текстом. Может ли кто-нибудь предоставить код LaTeX, который автоматически разбивает эти выносные элементы (или что-то, достигающее похожего эффекта), чтобы текст в поле LaTeX соответствовал вертикальному центрированию в поле MS Word? Я был бы очень признателен.
Обратите внимание, что в какой-то момент я хотел бы добавить уравнения в эти текстовые поля, скорее всего, используя среду align. Важно, чтобы полное решение этой проблемы не вводило никакого дополнительного вертикального пространства вокруг этой среды align, как в случае с существующим предложенным ответом на этот вопрос.
\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}