Una pregunta sobre la distancia vertical entre dos ambientes del mismo tipo.

Una pregunta sobre la distancia vertical entre dos ambientes del mismo tipo.

Definí un nuevo entorno para los ejercicios en mi libro y funcionó bien hasta este punto en el que las distancias entre dos ejercicios no son las mismas, como se muestra a continuación:

ingrese la descripción de la imagen aquí

Aquí está mi 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}

Esto es lo que he probado hasta ahora:

  • Cambie el contenido del segundo ejercicio y del tercer ejercicio al inglés. Ocurre el mismo problema.
  • Cambie el contenido del primer ejercicio al inglés, problema resuelto.
  • Cambie el contenido del primer ejercicio a otro texto vietnamita, problema resuelto.
  • Elimine \ en el primer ejercicio y use una línea en blanco después de cada párrafo, el problema sigue siendo el mismo.
  • Elimina la última frase del primer ejercicio y el problema estará resuelto. Elimine los dos primeros párrafos y deje solo la última oración del ejercicio, entonces el problema estará resuelto.

Mis dos últimas acciones me sugirieron que puede ser que el entorno cambie el espaciado según la cantidad de caracteres, pero cuando cambio el contenido del primer ejercicio en un texto vietnamita más extenso, el problema se resuelve.

¿Entonces, cuál es el problema aquí?

Por favor, ayúdame. Gracias.

Respuesta1

Quieres usar \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}

ingrese la descripción de la imagen aquí

información relacionada