仅将线条的一部分居中

仅将线条的一部分居中

我只想将一部分线置于中心。

它可以\centerOnly用作

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}

\begin{document}

\begin{enumerate}[leftmargin=3cm]
\item One has \centerOnly{$x=2$}. 
\item Furthermore, one has
\[
x^2 = 4.
\]
\end{enumerate}
\end{document}

预期结果是 在此处输入图片描述

此命令还应在enumerateitemize环境中工作,并且应根据环境的“盒子”将其参数置于中心。

您知道如何实现这个吗?


这是我想要使用此功能的真实文档的图片:

在此处输入图片描述


编辑:解决方案

\newcommand{\centerOnly}[1]{\mbox{}\hfill#1\hfill\mbox{}}

输出结果如下:

在此处输入图片描述

这是一个有趣的想法,但它并没有完全实现我想要的效果:它将论点集中在剩余的空间中,而不是将整个环境的“盒子”集中在中心。

文本“A inversible <=> det(A)”应该位于左侧,正好位于其他居中公式的上方。

答案1

您可以使用与以下相同的快速而肮脏的黑客攻击https://tex.stackexchange.com/a/688723/36296

基本思想是在等式之前用\makebox零宽度隐藏文本的宽度:

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}

\begin{document}

\begin{enumerate}[leftmargin=3cm]
\item\noindent\makebox[0pt][l]{One has}\hfil$x=2$. 
\item Furthermore, one has
\[
x^2 = 4.
\]
\end{enumerate}
\end{document}

答案2

我不确定您期望什么,但请尝试下面的操作,它是否满足要求?

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}

\begin{document}

\newcommand{\centerOnly}[1]{\hfill#1\hfill}

\begin{enumerate}[leftmargin=3cm]
\item One has \centerOnly{$x=2$}. 
\item Furthermore, one has
\[
x^2 = 4.
\]
\end{enumerate}
\end{document}

相关内容