如何调整 parbox 中段落之间的间距?

如何调整 parbox 中段落之间的间距?

我在 LyX 中有这样的内容:

在此处输入图片描述

我在序言中添加了这一行:

\global\setlength{\parskip}{20pt}

因此,我期望每行之间有 20pt 的间距。然而,这在 Parbox 中不会发生。我的输出:

在此处输入图片描述

问题:我该怎么做才能实现上面第 3 行和第 4 行之间的 20pt 空间?我希望这可以在全球范围内完成(即在我的文档中的所有 Parbox 中)。

LaTeX 代码(从 LyX 导出):

%% LyX 2.2.3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{calc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\global\setlength{\parskip}{20pt}

\makeatother

\usepackage{babel}
\begin{document}
1. Hi

2. Hi

\noindent{\fboxrule 3pt\fboxsep 6pt\fbox{\parbox[t]{1\columnwidth - 2\fboxsep - 2\fboxrule}{%
3. Hi

4. Hi%
}}}
\end{document}

答案1

您可以在用户指定的命令中添加这些:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\setlength{\parskip}{20pt}
\let\oldparbox\parbox
\renewcommand\parbox[3][t]{\oldparbox[#1]{#2}{\setlength{\parskip}{20pt}#3}}
\makeatother

编辑:下一个“PS”是错误的:(参见大卫的评论) PS:我实际上并不知道 parbox 中的默认可选参数是否是t,但是我查找了一下,现在我知道它是。这些“粗体”之间的句子不正确

我的借口:我刚刚“Google”了一下,首先得到的结果是这样的:

在此处输入图片描述

我看到了带标题的链接\parbox,只从最后两行读出了上面的错误句子......

所以,我吸取了教训……务必仔细检查来源不要仅仅相信你在谷歌上看到的“距离”

答案2

我知道这不能直接回答你的问题,而且肯定有些矫枉过正。但是,如果你想在不移动文本的情况下绘制方框(在你的例子中,3 和 4 向左移动了一点),你总是可以使用 TiZ 覆盖。

\documentclass[english]{article}
\usepackage{calc}
\usepackage{tikzpagenodes}
\usetikzlibrary{fit}
\newcommand{\tikznode}[2]{\tikz[remember picture,baseline=(#1.base)]{\node(#1)[inner sep=0pt]{#2};}}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\global\setlength{\parskip}{20pt}

\makeatother

\begin{document}
1. Hi

2. Hi

3. Hi\tikznode{3}{\strut}

4. Hi\tikznode{4}{\strut}%
\begin{tikzpicture}[overlay,remember picture]
\node [fit=(current page text area.west|-4.south) (current page text
area.east|-3.north),draw,ultra thick,rectangle]{};
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果您只是想绘制这些框,这肯定是小题大做,但如果您想做一些更精美的事情,这可能是一个合理的选择。

答案3

由于您似乎想要\parskip每一个\parbox

\documentclass{article}

\newlength{\normalparskip}
\setlength{\normalparskip}{20pt}
\AtBeginDocument{\setlength{\parskip}{\normalparskip}\setlength{\parindent}{0pt}}

\makeatletter
\g@addto@macro{\@parboxrestore}{\setlength{\parskip}{\normalparskip}}
\makeatother

\newcommand{\framedparbox}[2][c]{%
  \noindent
  \begingroup
  \setlength{\fboxrule}{3pt}%
  \setlength{\fboxsep}{6pt}%
  \fbox{\parbox[#1]{\dimexpr1\columnwidth - 2\fboxsep - 2\fboxrule}{#2}}%
  \endgroup
}

\begin{document}

1. Hi

2. Hi

\framedparbox[t]{%
3. Hi

4. Hi%
}

\end{document}

在此处输入图片描述

相关内容