
Ich habe für die Übungen in meinem Buch eine neue Umgebung definiert und es hat bis zu diesem Punkt gut funktioniert, an dem die Abstände zwischen zwei Übungen nicht wie folgt gleich sind:
Hier ist mein 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}
Folgendes habe ich bisher versucht:
- Ändern Sie den Inhalt der 2. und 3. Übung auf Englisch. Das gleiche Problem tritt auf.
- Übersetzen Sie den Inhalt der 1. Übung ins Englische, das Problem ist gelöst.
- Ändern Sie den Inhalt der 1. Übung in einen anderen vietnamesischen Text, das Problem ist gelöst.
- Entfernen Sie das \ in der 1. Übung und verwenden Sie nach jedem Absatz eine Leerzeile, das Problem bleibt dasselbe.
- Entfernen Sie den letzten Satz in der 1. Übung und das Problem ist gelöst. Entfernen Sie die ersten beiden Absätze und lassen Sie nur den letzten Satz in der Übung, dann ist das Problem gelöst.
Meine letzten beiden Aktionen ließen mich vermuten, dass die Umgebung möglicherweise den Abstand um die Anzahl der Zeichen ändert, aber wenn ich den Inhalt der ersten Übungen in einen längeren vietnamesischen Text ändere, ist das Problem gelöst.
Also, wo liegt hier das Problem?
Bitte helfen Sie mir. Danke.
Antwort1
Sie möchten verwenden \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}