Вопрос о вертикальном расстоянии между двумя средами одного типа

Вопрос о вертикальном расстоянии между двумя средами одного типа

Я определил новую среду для упражнений в своей книге, и она работала хорошо до того момента, пока расстояния между двумя упражнениями не стали одинаковыми, как показано ниже:

введите описание изображения здесь

Вот мой 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}

Вот что я уже попробовал:

  • Измените содержание 2-го упражнения и 3-го упражнения на английский. Возникает та же проблема.
  • Измените содержание первого упражнения на английский язык, и проблема решена.
  • Измените содержание 1-го упражнения на другой вьетнамский текст, и проблема будет решена.
  • Уберите \ в первом упражнении и используйте пустую строку после каждого абзаца, проблема останется той же.
  • Уберите последнее предложение в 1-м упражнении и проблема решена. Уберите первые два абзаца и оставьте только последнее предложение в упражнении, тогда проблема решена.

Мои последние два действия навели меня на мысль, что, возможно, среда изменяет интервалы в зависимости от количества символов, но когда я изменяю содержание первых упражнений в более длинном вьетнамском тексте, проблема решается.

Так в чем же здесь проблема?

Помогите мне, пожалуйста. Спасибо.

решение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}

введите описание изображения здесь

Связанный контент