我正在使用该mdframed
包并定义了自己的环境。但似乎段落缩进在环境中不起作用mdframed
。
我使用了settings
选项来mdframed
设置 parindent,但似乎不起作用。但是,当我明确添加 时\setlength{\parindent}{\defparindent}
,这是一个相当丑陋的解决方案,它也会将第一行缩进一点。所以无论如何,这整件事都不对劲。
我怎样才能告诉我的singleframed
环境在其内部进行设置\parindent
?
\documentclass{article}
%\usepackage{lipsum}
\usepackage[framemethod=tikz,%
innerleftmargin=\parindent,%
skipabove=0.6\baselineskip,%
skipbelow=0.6\baselineskip,%
innertopmargin=0.4\baselineskip,%
innerbottommargin=0.4\baselineskip]{mdframed}
\newlength{\defparindent}
\setlength{\defparindent}{\parindent}
% The singleframed environment
\newmdenv[linewidth=0.4pt,%
linecolor=black,%
backgroundcolor=white,%
settings={\setlength{\parindent}{\defparindent}}]{singleframed}
\begin{document}
\begin{singleframed}
qwerty
qwerty
\end{singleframed}
\begin{singleframed}
\setlength{\parindent}{\defparindent}
qwerty
qwerty
\end{singleframed}
\end{document}
答案1
我无法使用 提供的设置mdframed
。所以我只是定义了一个新环境。我认为要更改它,mdframed
您需要修补包内部。无论如何,此解决方案在增加空格的情况下没有问题。
\documentclass{article}
%\usepackage{lipsum}
\usepackage[framemethod=tikz,%
innerleftmargin=\parindent,%
skipabove=0.6\baselineskip,%
skipbelow=0.6\baselineskip,%
innertopmargin=0.4\baselineskip,%
innerbottommargin=0.4\baselineskip]{mdframed}
\newlength{\defparindent}
\setlength{\defparindent}{\parindent}
% The singleframed environment
\newmdenv[linewidth=0.4pt,%
linecolor=black,%
backgroundcolor=white]{singleframed}
\newenvironment*{singleframedindent}{\begin{singleframed}\setlength{\parindent}{\defparindent}\ignorespaces}{\end{singleframed}}
\begin{document}
\begin{singleframedindent}
qwerty\\
qwerty
qwerty
\end{singleframedindent}
\end{document}
结果是:
如果您执行以下操作,则示例中的空间不会有任何问题:
\begin{singleframed}
\setlength{\parindent}{\defparindent}%
qwerty
qwerty
\end{singleframed}
后面的新行setlength
是导致出现额外空格的原因。使用注释标签则不会出现任何问题。
答案2
当前版本github(今天上传到 CTAN)您将获得示例的以下输出: