子环境中的垂直线

子环境中的垂直线

是否可以用一条覆盖第二个环境的垂直线来标记缩进?我不知道该怎么做,如果能提供任何提示我将不胜感激。非常感谢。

在此处输入图片描述

\documentclass[12pt]{scrartcl}
\usepackage{enumitem}
\begin{document}
\begin{description}
\item[A] ooo
\begin{description}
\item[1] xxx
\item[2] xxx
\end{description}
\item[B] ooo
\end{description}
\end{document}  

答案1

您可以使用tcolorboxenvironment使用tcolorboxize任何定义的环境

\documentclass[12pt]{scrartcl}
\usepackage[most]{tcolorbox}
\usepackage{enumitem}

\newenvironment{mydesc}{%
    \begin{description}}{\end{description}}

\tcolorboxenvironment{mydesc}{blanker,
    borderline west={1mm}{-3mm}{black}}

\begin{document}
\begin{description}
\item[A] ooo
\begin{mydesc}
\item[1] xxx
\item[2] xxx
\end{mydesc}
\item[B] ooo
\end{description}
\end{document} 

在此处输入图片描述

答案2

只是一个关于 tikz 的想法:

\documentclass[12pt]{scrartcl}
\usepackage{enumitem}
\usepackage{tikz}
\usetikzlibrary{calc}
\def\tikzmark#1{\begin{tikzpicture}[remember picture]\coordinate(#1);\end{tikzpicture}}
\makeatletter
\def\mfontsize{\f@size}
\makeatother
\begin{document}
\begin{description}
\item[A] ooo
\begin{description}
\item[1] \tikzmark{A}xxx
\item[2]\tikzmark{B} xxx
\end{description}
\item[B] ooo
\end{description}
\begin{tikzpicture}[overlay,remember picture]
\draw[ultra thick]([xshift=-1cm, yshift=\mfontsize pt]A.north west)--([xshift=-1cm,yshift=-{0.6*\mfontsize} pt]B.south west);
\end{tikzpicture}
\end{document}  

在此处输入图片描述

如果你想使用类似的东西,我们可以通过创建包含所需代码的新环境来“自动化该过程”

相关内容