Новый ответ

Новый ответ

Я хотел бы выровнять по центру (а также по левому и правому краю) часть предложенияв пределаходин абзац, что можно легко сделать в Word с помощью [newline] + [center this line] + [newline]. Однако в LaTeX centeringкоманда влияет на весь абзац, а чтобы повлиять только на группы, требуется \parв начале и конце этой группы. Между тем, centerсреда добавляет дополнительное вертикальное пространство. Я знаю, что есть centerlineкоманда, которая соответствует моим потребностям, но, похоже, нет аналогов с точки зрения "left-align" или "right-align". Вот MWE:

\documentclass{article}

\begin{document}
I want to center\\
"This piece of text"\\
within this paragraph.

I don't want to break the
{\par\centering paragraph like\par}
this.

How to achieve the effect\\
\centerline{without \texttt{centerline}}\\
or \begin{center}
the \texttt{center} environment?
\end{center}
\end{document}

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

решение1

Новый ответ

Как отметил@кампавам не нужно определять собственные аналоги, поскольку они фактически уже содержатся в LaTeX и называются \leftlineи \rightline. Таким образом, вы можете использовать

\documentclass[]{article}

\begin{document}
\hsize=5cm % just so that line breaks are a bit earlier
This is some longish text that is long and needs me to centre some
material\\
\centerline{here is center}
Also I'd like to display some stuff to the left\\
\leftline{here is left}
and to put something on the right\\
\rightline{here is right.}
\end{document}

Старый ответ

Сохранено для потомков.

Вы можете получить аналоги для выравнивания по левому и правому краю, определив их. Должно подойти следующее. Обратите внимание, что только содержимое, не шире одной строки, работает так, как задумано, внутри \@@lineне будет автоматического переноса строк.

Если вам интересно, \hssэто клей, которыйчасгоризонтальносрастягивается илиссжимается ровно настолько, насколько это необходимо для заполнения указанного пространства ( \@@lineэто одинарный символ \hbox, который должен быть такой же ширины, как текущая ширина \hsize, то есть ширина текста).

\documentclass[]{article}

\makeatletter
\newcommand\leftalignline[1]{\@@line{#1\hss}}
\newcommand\rightalignline[1]{\@@line{\hss#1}}
\makeatother

\begin{document}
\hsize=5cm % just so that line breaks are a bit earlier
This is some longish text that is long and needs me to centre some
material\\
\centerline{here is center}
Also I'd like to display some stuff to the left\\
\leftalignline{here is left}
and to put something on the right\\
\rightalignline{here is right.}
\end{document}

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

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