如何用框框出多行而不改变文本宽度

如何用框框出多行而不改变文本宽度

请看一下这个简单的例子

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}
\usepackage{framed}

\title{Box}
\author{LR}
\date{September 2020}

\begin{document}

\section{Introduction}
\blindtext

\begin{framed}
\blindtext
\end{framed}
%\medskip\noindent
%\setlength{\fboxsep}{1mm}
\fbox{
    \parbox{\textwidth}{
        \blindtext
        }%
    }%
%\medskip
\end{document}

尽你所能看看到两次尝试都导致文本可用空间被压缩了一点。我希望框的宽度更大,这样文本就可以保留其原始的断线点,可以吗?

答案1

您可以尝试类似这样的方法,基于tcolorbox库。我不知道如何使用更大的默认框架;因此,我隐藏了它并使用 创建了一个新的tikz

在此处输入图片描述

\documentclass[11pt, a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable}

% \usepackage{showframe}
\usepackage{lipsum}

\newenvironment{Bbox}{%
  \tcolorbox[%
  empty,
  parbox=false,
  noparskip,
  enhanced,
  breakable,
  frame hidden, % default frame hidden
  boxrule=0pt, % default frame hidden
  colback=white,
  left=-4pt, right=-4pt,
  before skip=4ex plus 2pt,
  after skip=3.5ex plus 2pt,
  overlay unbroken and last={% new frame
    \draw[color=blue, line width=1.25pt]
    ($(frame.north west)+(-1em, .5ex)$)
    rectangle ($(frame.south east)+(1em, -.5ex)$);
  }]
}{\endtcolorbox}


\title{Using tcolorbox package}
\begin{document}
\maketitle

\lipsum[1]

\begin{Bbox}
  \lipsum[2]
\end{Bbox}

\lipsum[3]

\end{document}

相关内容