在乳胶中缩进花式引文框

在乳胶中缩进花式引文框

我想编写 latex 来实现下面的花式引用框,按照解决方案Latex 中的精美引文框

在此处输入图片描述

但是,我不知道如何缩进引用框,例如:

在此处输入图片描述

您可以观察引号定义 D 的一部分已缩进,因此与定义D

我更新代码:

% <!-- language: latex --> Comment this line for avoid errors
\documentclass[a4paper]{article}
\usepackage[table]{xcolor}
\usepackage{framed}
\usepackage[strict]{changepage}    

%Defining colour with different models.
\definecolor{mypink1}{rgb}{0.858, 0.188, 0.478}
\definecolor{mypink2}{RGB}{219, 48, 122}
\definecolor{mypink3}{cmyk}{0, 0.7808, 0.4429, 0.1412}
\definecolor{mygray}{gray}{0.8}

\definecolor{formalshade}{rgb}{0.95,0.95,1}    

\newenvironment{formal}{%
  \def\FrameCommand{%
    \hspace{1pt}%
    {\color{mygray}\vrule width 6pt}%
    {\color{formalshade}\vrule width 4pt}%
    \colorbox{formalshade}%
  }%
  \MakeFramed{\advance\hsize-\width\FrameRestore}%
  \noindent\hspace{-4.55pt}% disable indenting first paragraph
  \begin{adjustwidth}{}{7pt}%
  \vspace{2pt}\vspace{2pt}%
}
{%
  \vspace{2pt}\end{adjustwidth}\endMakeFramed%
}

\begin{document}

\subsubsection*{Definition Lists}

\textbf{Markdown Extra} has a special syntax for definition lists too: \newline

\noindent
\textbf{Term 1} \\
\noindent
\textbf{Term 2} \\
\indent \indent Definition A \\
\indent \indent Definition B \\

\noindent
\textbf{Term 3} \\

\indent \indent Definition C \\

\indent \indent Definition D \\

% indent quote blocks?
\begin{formal}
    part of definition D
\end{formal}    

\begin{formal}
\begin{quote}
    part of definition D
\end{quote}
\end{formal}

\end{document}

答案1

好吧,我看到了你从中获取代码的页面,我知道你在做什么......也许环境list在这种情况下会很有用。从你的 MWE 代码中:

\documentclass[a4paper]{article}
\usepackage[table]{xcolor}
\usepackage{framed}
\usepackage[strict]{changepage}    

%Defining colour with different models.
\definecolor{mypink1}{rgb}{0.858, 0.188, 0.478}
\definecolor{mypink2}{RGB}{219, 48, 122}
\definecolor{mypink3}{cmyk}{0, 0.7808, 0.4429, 0.1412}
\definecolor{mygray}{gray}{0.8}

\definecolor{formalshade}{rgb}{0.95,0.95,1}    

\newenvironment{formal}{
  \def\FrameCommand{
    \hspace{1pt}
    {\color{mygray}\vrule width 6pt}
    {\color{formalshade}\vrule width 4pt}
    \colorbox{formalshade}
  }
  \MakeFramed{\advance\hsize-\width\FrameRestore}
  \noindent\hspace{-4.55pt}% disable indenting first paragraph
  \begin{adjustwidth}{}{7pt}
  \vspace{2pt}\vspace{2pt}
}
{
  \vspace{2pt}\end{adjustwidth}\endMakeFramed
}

\newcounter{definitio}    

\begin{document}

\subsubsection*{Definition Lists}

\textbf{Markdown Extra} has a special syntax for definition lists too: \newline

\begin{list}{\textbf{Term} \textbf{\arabic{definitio}}}{\usecounter{definitio}\setlength{\labelwidth}{42.5pt}}
  \item bla bla bla
  \item bla bla bla
  \begin{list}{Definition \Alph{definitio}}{\usecounter{definitio}\setlength{\labelwidth}{60pt}\setlength{\leftmargin}{56pt}}
    \item  
    \item
  \end{list}
  \item  bla bla bla
  \begin{list}{Definition \Alph{definitio}}{\usecounter{definitio}\setlength{\labelwidth}{60pt}\setlength{\leftmargin}{56pt}}
    \item  
    \item 
  \end{list}
\end{list}

% indent quote blocks?

\begin{formal}
    part of definition D
\end{formal} 

\begin{formal}
  \begin{list}{}{\setlength{\labelwidth}{60pt}\setlength{\leftmargin}{56pt}}
    \item  part of definition D
  \end{list}
\end{formal}

\end{document}

如您所见,我尝试使用list环境重建您的 MWE。不幸的是,结果并不完全符合您的要求。但我认为环境可以帮助您缩进构建嵌套环境,只需对环境进行少量调整即可formal

该环境是列表环境(如或)list的基础,其工作方式如下:itemizeenumerate

\begin{list}{label}{format parameters}
\item First item
\item Second item
    .
    .
    . 
\item Last item
\end{list}

在哪里:

  • label 指定应如何标记项目。此参数是
    插入框中以形成标签的一段文本。此
    参数可以且通常包含其他LaTeX命令
  • format parameters 包含用于更改列表间距参数的命令。空参数将选择所有默认
    间距,这在大多数情况下应该足够了。格式参数
    为:

  • \itemsep

  • \labelsep
  • \labelwidth
  • \leftmargin
  • \listparindent
  • \parsep
  • \parskip
  • \partopsep
  • \rightmargin
  • \topsep

您还可以创建一个新的计数器用于自动编号,我在序言中使用了一个计数器\newcounter{definitio},并且再次使用它来定义如何在我使用的环境label的参数中使用它list

无论如何,我无法像您在 MWE 中那样暂停和重新开始对定义进行编号。我认为计数器\value可以用于此,但我没有尝试过。您可以阅读有关计数器的更多信息这里

相关内容