
Я хотел бы переместить ряд последовательных строк ( AAA-FFF
) вправо страницы, но я переместил только первую ( AAA
). Это исходный код LaTex:
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[a4paper,top=2.5cm,bottom=2cm,left=2cm,right=2cm]{geometry}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000
\begin{document}
\hfill AAA \newline
\hfill BBB \newline
\hfill CCC \newline
\hfill DDD \newline
\hfill EEE \newline
\hfill FFF \\
\today \\
XXX \newline
YYY \newline
ZZZ \\
My text starts here...
\end{document}
Может ли кто-нибудь мне помочь? Спасибо заранее.
решение1
Если вам просто нужно выровнять текст по правой стороне страницы, я бы предложил использовать \raggedleft
следующий способ.
{\raggedleft
AAA \\
BBB \\
CCC \\
DDD \\
EEE \\
FFF \\
}
Обратите внимание, что я изменил \newline
на , \\
поскольку использование \newline
привело бы к нежелательным результатам.
Вы можете прочитать больше по этой темездесь.
решение2
Я описываю причину, по которой только AAA находится на правом поле. Делает \newline
(грубо говоря) \nobreak\hfil\break
. Вы используете \hfill
примитив на левой стороне. Далее следует текст, а затем идет \nobreak\hfil\break
. Первая строка: \hfill
более растягиваема, чем \hfil
используется в \newline
макросе, поэтому AAA находится на правом поле. Но макрос \break
расширяется до \penalty-10000
и делает принудительный разрыв строки. Следующие «отбрасываемые элементы» игнорируются TeX. Ваш \hfill
— клей, поэтому это отбрасываемый элемент. Он игнорируется. Следующая строка включает только , BBB\nobreak\hfil\break
поэтому BBB
находится на левой стороне.