Nova resposta

Nova resposta

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 centeringcomando afeta todo o parágrafo, e para afetar apenas os grupos, é necessário um \parno início e no final desse grupo. Enquanto isso, o centerambiente adiciona espaço vertical adicional. Eu sei que existe um centerlinecomando 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}

insira a descrição da imagem aqui

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 \leftlinee \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 \@@linenenhuma 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 \hboxque 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}

insira a descrição da imagem aqui

informação relacionada