Вертикальный интервал в tcolorbox

Вертикальный интервал в tcolorbox

Ниже я привел код для простого текстового поля в 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}

Связанный контент