在轮廓中插入非缩进的 mdframed 对象

在轮廓中插入非缩进的 mdframed 对象

我希望能够将一个mdframed对象放在一个环境中outline,而不会将其缩进到我所在的缩进级别,这样我就可以按照mdframed下面的方式继续概述:

    I. text text text
         A. text text text
    __________________________
    |                         |
    |  MD FRAMED STUFF        |
    |                         |
    |                         |
    |_________________________|
         B. text text text 

\2下面是我尝试使用的代码,但我无法逐级返回\0。我尝试添加leftmargin =-1.75cm并将移动mdframed,但我必须猜测移动的量(即 -1.75 厘米或 -1.7 厘米或...),然后如果我向轮廓添加更多内容,这不是一个理想的策略。请帮忙!

\documentclass[11pt]{article}

\usepackage{enumerate}
\usepackage{outlines}
\usepackage{enumitem}
\setenumerate[1]{label=\Roman*.}
\setenumerate[2]{label=\Alph*.}
\setenumerate[3]{label=\arabic*.}
\setenumerate[4]{label=\alph*.}

\usepackage{mdframed}

\title{Notes}
\author{}
\date{}

\begin{document}
\maketitle

\begin{outline}[enumerate]
    \1 text text text 
             \2 text text text 
\0
\begin{mdframed}[frametitle=MD FRAMED STUFF:]
MD FRAMED STUFF
\end{mdframed}
             \2 text text text
\end{outline}

\end{document}

在这个网站上,在第 1.4 节中,他们似乎在做一些我感兴趣的事情,但我不明白每个部分的含义,如果我可以只调整设置我想要的区域的那些项目mdframed,而不是整个论文。 http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/outlines/outlines.pdf

答案1

没有大锤:列表中的缩进量存储在中\@totalleftmargin

\documentclass[11pt]{article}
\usepackage[pass,showframe]{geometry} % just for the example

\usepackage{enumerate}
\usepackage{outlines}
\usepackage{enumitem}
\setenumerate[1]{label=\Roman*.}
\setenumerate[2]{label=\Alph*.}
\setenumerate[3]{label=\arabic*.}
\setenumerate[4]{label=\alph*.}

\usepackage{mdframed}

\usepackage{color}
\mdfsetup{linecolor=red} % just for the example

\begin{document}

\begin{outline}[enumerate]
    \1 text text text 
             \2 text text text 
\begin{mdframed}[
  frametitle=MD FRAMED STUFF:,
  leftmargin=-\csname @totalleftmargin\endcsname % the devious trick
]
MD FRAMED STUFF
\end{mdframed}
             \2 text text text
\end{outline}

\end{document}

skipabove使用和调整垂直间距skipbelow

在此处输入图片描述

答案2

LaTeX 列表基于\parshape。如果您不介意用大锤敲打所有的 latex 界面,您可以直接在本地将 parshape 清零: 在此处输入图片描述

\documentclass[11pt]{article}

\usepackage{enumerate}
\usepackage{outlines}
\usepackage{enumitem}
\setenumerate[1]{label=\Roman*.}
\setenumerate[2]{label=\Alph*.}
\setenumerate[3]{label=\arabic*.}
\setenumerate[4]{label=\alph*.}

\usepackage{mdframed}

\title{Notes}
\author{}
\date{}

\begin{document}
\maketitle
\makeatletter
\begin{outline}[enumerate]
    \1 text text text 
             \2 text text text 
\par{\parshape0 \linewidth\textwidth
\begin{mdframed}[frametitle=MD FRAMED STUFF:]
MD FRAMED STUFF
\end{mdframed}
\par
}
             \2 text text text
\end{outline}

\end{document}

相关内容