关于同一类型的两个环境之间的垂直距离的问题

关于同一类型的两个环境之间的垂直距离的问题

我为书中的练习定义了一个新的环境,并且它运行良好,直到此时两个练习之间的距离不再相同,如下所示:

在此处输入图片描述

这是我的 MWE:

\documentclass[12pt, a4paper, oneside]{book}
\usepackage{amsmath}
\usepackage{tgpagella}
\usepackage[utf8]{vietnam}
\usepackage{parskip}
\newcounter{bt}[chapter]
\newenvironment{bt}[1][]{\refstepcounter{bt}\par\medskip
\noindent \textbf{Bài~\thebt. #1} \rmfamily}{\medskip}
\begin{document}
\section{Bài tập chương I}
\begin{bt}
Viết một chương trình yêu cầu người dùng nhập tên của mình, 
sau đó chương trình sẽ in ra một thông điệp chào mừng người dùng, 
sử dụng tên của họ. \\
Ví dụ, nếu người dùng nhập X, chương trình nên in ra Chào mừng, X. \\
Hãy sử dụng bình luận trong từng bước bài làm của mình để diễn giải mã. 
\end{bt}
\begin{bt}
lesarĂĐkĂÔÂpc
bggcetuƯeyxÔƯ
pyttÂÊĂƯgtvnĐ
ycgƠgkyƠoĐkkb
qiÂÊÊsÊboikƠe
rldÊqclatslsi
ĂatlbnƯĐtdybÊ
omrdrlpxshÂĐi
ƯyƯpivpĐhtrĐa
oiapqocksvvku
ptvvĐtvÂmÊydm
hyĐÔatyalqoÔc
\end{bt}
\begin{bt}
lesarĂĐkĂÔÂpc
bggcetuƯeyxÔƯ
pyttÂÊĂƯgtvnĐ
ycgƠgkyƠoĐkkb
qiÂÊÊsÊboikƠe
rldÊqclatslsi
ĂatlbnƯĐtdybÊ
omrdrlpxshÂĐi
ƯyƯpivpĐhtrĐa
oiapqocksvvku
ptvvĐtvÂmÊydm
hyĐÔatyalqoÔc
\end{bt}
\end{document}

以下是我迄今为止尝试过的:

  • 将第二练习和第三练习的内容改为英文,问题依然存在。
  • 将第一个练习的内容改成英文,问题解决。
  • 将第一练习的内容换成其他越南语文本,问题解决。
  • 删除第一个练习中的 \ 并在每个段落后使用一个空行,问题仍然相同。
  • 去掉第一个练习的最后一句话,问题就解决了。去掉练习中的前两段,只留下最后一句,问题就解决了。

我的最后两个操作表明我可能是环境根据字符数改变了间距,但是当我在较长的越南语文本中改变第一个练习的内容时,问题就解决了。

那么,这里的问题是什么?

请帮助我。谢谢。

答案1

您想使用\addvspace

\documentclass[12pt, a4paper, oneside]{book}
\usepackage{amsmath}
\usepackage{tgpagella}
\usepackage[utf8]{vietnam}

%\usepackage{parskip}

\newcounter{bt}[chapter]

\newenvironment{bt}[1][]{%
  \refstepcounter{bt}%
  \par\addvspace{\medskipamount}%
  \noindent\textbf{Bài~\thebt. #1}\rmfamily\ignorespaces
}{\par\addvspace{\medskipamount}}

\begin{document}

\section{Bài tập chương I}

\begin{bt}
Viết một chương trình yêu cầu người dùng nhập tên của mình, 
sau đó chương trình sẽ in ra một thông điệp chào mừng người dùng, 
sử dụng tên của họ.

Ví dụ, nếu người dùng nhập X, chương trình nên in ra Chào mừng, X. \\
Hãy sử dụng bình luận trong từng bước bài làm của mình để diễn giải mã. 
\end{bt}

\begin{bt}
lesar ĂĐkĂÔÂpc
bggce tuƯeyxÔƯ
pytt ÊĂƯgtvnĐ
ycgƠg kyƠo Đkkb
qiÂÊÊ sÊboikƠe
rldÊq clatslsi
Ăatlb nƯĐtdybÊ
omrdr lpxshÂĐi
ƯyƯpi vpĐhtrĐa
oiapq ocksvvku
ptvvĐ tvÂmÊydm
hyĐÔa tyalqoÔc
\end{bt}

\begin{bt}
lesarĂ ĐkĂÔÂpc
bggcet uƯeyxÔƯ
pyttÂÊ ĂƯgtvnĐ
ycgƠgk yƠo Đkkb
qiÂÊÊs ÊboikƠe
rldÊqc latslsi
Ăatlbn ƯĐtdybÊ
omrdrl pxshÂĐi
Ưy Ưpiv pĐhtrĐa
oiapqo cksvvku
ptvvĐt vÂmÊydm
hyĐÔat yalqoÔc
\end{bt}

\end{document}

在此处输入图片描述

相关内容