如何在枚举环境中居中浮动?

如何在枚举环境中居中浮动?

我会放置浮动中心,而它留在原处。

\documentclass[11pt]{article}
\usepackage[charter,uppercase = upright]{mathdesign}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\usepackage{luamplib}
\usepackage{float}
\def\a{blabla blabla blabla blabla  blabla blabla }
\begin{document}
\selectlanguage{USenglish}
\begin{enumerate}
\item \a
\begin{figure}[h!]
\centering
\begin{mplibcode}
 beginfig(1);
 u:=1cm;
 defaultscale := 0.9;
 z0=(0,0);
 z1=(4u,0);
 z2=(6u,3u);
 z3=(2u,3u);
 z4=whatever[z0,z2]=whatever[z1,z3];
 path p ;
 p=z0--z3;
 draw z0--z1--z2--z3--cycle;
 draw z1--z3;
 draw z2--z0;
 label.lrt("B",z1);
 label.urt("C",z2);
 label.ulft("D",z3);
 label.llft("A",z0);
 label.top("E",z4 shifted(0,0.1u));
 draw (1u,0) withpen pencircle scaled 3bp withcolor red;      
 draw point (1/3)*length(p) of p withpen pencircle scaled 3bp withcolor red;
 label.bot(btex $\color{red}I$ etex,(1u,0));
 label.lft(btex $\color{red}J$ etex,point (1/3)*length(p) of p);
 endfig;
\end{mplibcode}
\end{figure}
\a
\begin{enumerate}
\item \a
\item \a
\end{enumerate}
\end{enumerate}
\end{document}

答案1

对于其他内容,使用 就足够了\centering,但这对 没有影响,mplibcode因为此环境的内容放在 内\hbox;但是,您可以使用\hfills:

\documentclass[11pt]{article}
\usepackage[charter,uppercase = upright]{mathdesign}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\usepackage{luamplib}
\usepackage{float}
\def\A{blabla blabla blabla blabla  blabla blabla }
\def\a{\A\A\A}
\begin{document}
\selectlanguage{USenglish}
\begin{enumerate}
\item \a
\begin{figure}[H]
\hfill\begin{mplibcode}
 beginfig(1);
 u:=1cm;
 defaultscale := 0.9;
 z0=(0,0);
 z1=(4u,0);
 z2=(6u,3u);
 z3=(2u,3u);
 z4=whatever[z0,z2]=whatever[z1,z3];
 path p ;
 p=z0--z3;
 draw z0--z1--z2--z3--cycle;
 draw z1--z3;
 draw z2--z0;
 label.lrt("B",z1);
 label.urt("C",z2);
 label.ulft("D",z3);
 label.llft("A",z0);
 label.top("E",z4 shifted(0,0.1u));
 draw (1u,0) withpen pencircle scaled 3bp withcolor red;      
 draw point (1/3)*length(p) of p withpen pencircle scaled 3bp withcolor red;
 label.bot(btex $\color{red}I$ etex,(1u,0));
 label.lft(btex $\color{red}J$ etex,point (1/3)*length(p) of p);
 endfig;
\end{mplibcode}\hfill\null
\end{figure}
\a
\begin{enumerate}
\item \a
\item \a
\end{enumerate}
\end{enumerate}
\end{document}

在此处输入图片描述

由于您不希望图形浮动,并且您已经在使用float,因此我使用了H位置说明符来抑制浮动。另一个选项是使用minipage而不是,并使用或包中的figure提供标题(如果需要);但是,在这种情况下,您仍然必须使用来使内容居中。\captionofcaptioncapt-of\hfill

答案2

如果您使用

\leavevmode\begin{mplibcode}

环境可能应该提供\leavevmode自身来匹配所有其他乳胶盒约束,但显然事实并非如此。

相关内容