
Gostaria de centralizar (também alinhar à esquerda e à direita) um pedaço de frasedentro deum parágrafo, o que pode ser feito facilmente no Word por [newline] + [center this line] + [newline]
. No LaTeX, entretanto, o centering
comando afeta todo o parágrafo, e para afetar apenas os grupos, é necessário um \par
no início e no final desse grupo. Enquanto isso, o center
ambiente adiciona espaço vertical adicional. Eu sei que existe um centerline
comando que atende às minhas necessidades, mas parece que não há contrapartidas em termos de "alinhar à esquerda" ou "alinhar à direita". Aqui está o 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}
Responder1
Nova resposta
Como apontado por@campavocê não precisa definir suas próprias contrapartes, pois elas já estão contidas no LaTeX e são chamadas \leftline
e \rightline
. Então você pode usar
\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}
Resposta antiga
Guardado para a posteridade.
Você pode obter as contrapartes para alinhamento à esquerda e à direita definindo-as. O seguinte deve servir. Observe que apenas conteúdos que não sejam mais largos que uma única linha funcionam conforme o esperado, dentro de \@@line
nenhuma quebra automática de linha ocorrerá.
Caso você esteja se perguntando \hss
é uma cola quehhorizontalmenteétrechos ouéencolhe conforme necessário para o espaço especificado ser preenchido ( \@@line
é um single \hbox
que deve ser tão largo quanto o atual \hsize
, portanto a largura do texto).
\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}