我正在写讲座摘要,遇到了一个问题。
我想在我必须知道的重要定理附近插入一个垂直的左栏。
到目前为止,我发现了以下内容:
\documentclass[a4paper,landscape]{report}
\usepackage[a4paper,margin=0.5cm,landscape]{geometry}
\usepackage{blindtext}
\usepackage{framed}
\renewenvironment{leftbar}{%
\nobreak
\def\FrameCommand{{\vrule width 1pt} \hspace{3pt} }%
\MakeFramed {\advance\hsize-\width \FrameRestore}}%
{\endMakeFramed}
\begin{document}
\blindtext\\
\blindtext
\begin{leftbar}
\blindtext
\end{leftbar}
\blindtext\\
\end{document}
我已经将线条的粗细设置为 1 像素,因为它对我来说太大了。
缩进并在左栏前后生成一个换行符:
我该怎么做才能删除缩进和新行?
非常感谢您的回答!
答案1
要删除环境开头的缩进,leftbar
您需要\noindent
在开始代码中添加一个。(以及一个\ignorespaces
以防止后面出现空格}
)。对于环境后的缩进,您可以使用\@endparenv
内核宏。环境周围的垂直间距由长度控制\OuterFrameSep
,您可以将其重新定义为零(但保留一定的拉伸能力)。
\documentclass{report}
\usepackage{blindtext}
\usepackage{framed}
\renewenvironment{leftbar}{%
\OuterFrameSep=0ex plus .8ex
\def\FrameCommand{{\vrule width 1pt} \hspace{3pt} }%
\MakeFramed {\advance\hsize-\width \FrameRestore}
\noindent\ignorespaces
}{%
\endMakeFramed
\csname@endparenv\endcsname
}
\begin{document}
\blindtext
\begin{leftbar}
\blindtext
\end{leftbar}
Some text here to show no indentation.
\begin{leftbar}
Other lorem ipsum stuff.
\end{leftbar}
Here you \emph{do} have an indentation because of the additional empty line.
\end{document}
注意空格:现在
\def\FrameCommand{{\vrule width 1pt} \hspace{3pt} }
为您提供水平空间3pt
加 两个空格:参见
a{\vrule width 1pt} \hspace{3pt} b\par
a{\vrule width 1pt}\hspace{3pt} b\par
a{\vrule width 1pt}\hspace{3pt}b
我会去掉这两个空格,并将增加到3pt
你喜欢的值。