Line-Breaking Around \ clearpage

Oct 12 2020

AFAIK สายทำลายรอบ\begin{document}, \end{document}หรือ\begin{section}จะไม่เปลี่ยนแปลงผลการดังต่อไปนี้

\documentclass{article}
                        % INSERTING OR DELETING THIS LINE DOESN'T AFFECT THE OUTCOME
\begin{document}
                        % INSERTING OR DELETING THIS LINE DOESN'T AFFECT THE OUTCOME
Hello, world!
                        % INSERTING OR DELETING THIS LINE DOESN'T AFFECT THE OUTCOME
\end{document}

ฉันสงสัยว่ามันจะเหมือนกันสำหรับ\clearpage. ฉันคิดว่ามีเจ็ดจุดที่เป็นไปได้สำหรับ\clearpageที่ดูเหมือนจะให้ผลลัพธ์เดียวกัน พวกเขาไม่มีความแตกต่างทางตรรกะจากกันและกันหรือไม่?

จุดที่ 1:จุดที่อยู่หลังย่อหน้าแรก

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.\clearpage

This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 2:จุดที่อยู่ใต้ย่อหน้าแรก

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\clearpage

This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 3: สองบรรทัดห่างจากย่อหน้าแรกและย่อหน้าที่สอง

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.

\clearpage

This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 4:จุดที่อยู่เหนือย่อหน้าที่สอง

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.

\clearpage
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 5:จุดก่อนย่อหน้าที่สอง

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.

\clearpage This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 6:ในช่วงกลางของทั้งสองย่อหน้าที่ไม่มีเส้นแบ่งเพิ่มเติม

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\clearpage
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

จุดที่ 7:ที่จุดเริ่มต้นของย่อหน้าที่สองโดยไม่มีการขึ้นบรรทัดใหม่

\documentclass{article}
\begin{document}
This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\clearpage This is a sentence. This is a sentence. This is a sentence. This is a sentence. This is a sentence.
\end{document}

ฉันคิดว่าSpot 1หรือSpot 3นั้นอ่านได้ง่ายกว่าจุดอื่น ๆ และSpot 7เป็นรหัสที่สั้นที่สุดในบรรดาผู้สมัครทั้งหมดที่มีผลลัพธ์เดียวกัน ฉันสงสัยว่าการฝึกฝนการเขียนโค้ดแบบอ่านง่าย (หรือบางครั้งก็ประหยัดพื้นที่) จะส่งผลกระทบต่อผลลัพธ์โดยไม่คาดคิด

คำตอบ

3 DavidCarlisle Oct 12 2020 at 14:32

ซึ่งแตกต่าง\pagebreak, \clearpage(ผ่าน\newpage) แทรก\parก่อนที่จะประมวลผลและหลังจากการประมวลผลเป็นดังนั้นแล้วในโหมดแนวตั้ง ซึ่งหมายความว่าการใส่บรรทัดว่าง ( \par) ก่อนหรือหลังจะไม่มีความแตกต่าง อย่างไรก็ตามบรรทัดว่างเป็นมาร์กอัปเอกสารมาตรฐานสำหรับการแบ่งย่อหน้าดังนั้นฉันมักจะเพิ่มบรรทัดว่างระหว่างย่อหน้า (ไม่สำคัญว่าจะเป็นก่อนหรือหลัง clearpage) แทนที่จะพึ่งพารายละเอียดทางเทคนิคที่\clearpageสิ้นสุดย่อหน้าปัจจุบัน

หากคุณลองใช้ตัวอย่างของคุณ\pagebreakแทนคุณ\clearpageจะเห็นความแตกต่างอย่างมากระหว่างกรณีและเวอร์ชันที่ไม่มีบรรทัดว่างถูกตั้งค่าเป็นย่อหน้าเดียวไม่ใช่สองย่อหน้า