Nuevos comandos con alineación de texto

Nuevos comandos con alineación de texto

Me gustaría crear un nuevo comando en LaTeX que alinee el texto a derecha e izquierda (ver ejemplo a continuación). Sólo que desearía que la columna de texto ocupara media página.

\documentclass[a4paper,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[a4paper, nohead, nofoot, top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\newcommand\sx{\fontfamily{lmss}\Large\flushright}
\newcommand\dx{\fontfamily{lmss}\Large\flushleft}
\begin{document}
\sx Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\bigskip
\dx Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\end{document}

Salida deseada:

ingrese la descripción de la imagen aquí

Respuesta1

Ahora que entiendo mejor tu problema, gracias a tu enlace, puedo proponer esto que parece cumplir con todos los requisitos.

Defino un \charactercomando que escribe los nombres de los personajes en mayúsculas.ydefine el valor de hangindentpara el texto siguiente, que puede tener varios párrafos.

También defino un \specicomando. Sólo hay dos restricciones: los nuevos párrafos, si los hay, deben introducirse con el comando TeX simple \endgrafy las nuevas líneas con el \newlinecomando, no de la forma habitual. \postspeciskipSe puede utilizar una longitud (por defecto 1,5\baselineskip) para establecer la distancia desde las especificaciones hasta el texto de los cuadros de diálogo.

Los actos y escenas se consideran \chapters y \sections. Están convenientemente formateados con la ayuda del titlesecpaquete. Alguna parte de la codificación sería más sencilla si el requisito de las especificaciones fuera minúsculas en lugar de mayúsculas.

Si desea que los párrafos no se corten en los saltos de página, puede agregar esta línea al preámbulo:

\interlinepenalty=10000 \parskip0pt plus \baselineskip

Se pueden incluir archivos y se pueden definir accesos directos para los diferentes personajes en los archivos incluidos.

Aquí hay un ejemplo (con el comienzo de La Locandiera de Goldoni).

Archivo principal:

\documentclass[a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}
\usepackage[noheadfoot, margin=2cm, showframe, nomarginpar]{geometry}
\usepackage{textcase}
\usepackage[explicit]{titlesec}

\newlength{\postspeciskip}
\postspeciskip = 1.5\baselineskip

\newcommand\character[1]{\par\everypar{\hangindent=0.3\linewidth\hangafter=1}\parskip=0.667\baselineskip plus
2pt\large\makebox[0.3\linewidth][r]{\MakeTextUppercase{#1}:\hskip0.1\linewidth }}

\newcommand\speci[1]{\everypar{\hangindent=0.42\linewidth\hangafter=0}\parskip=0.667\baselineskip plus
2pt\large\raggedright\textit{#1}\vskip\postspeciskip}%

\titleformat{\chapter}[block]{\centering\bfseries\LARGE}{\MakeTextUppercase\chaptername~\thechapter}{1em}{#1}
\titlespacing*{\chapter}{0pt}{2\baselineskip}{3\baselineskip}
\renewcommand\thechapter{\Roman{chapter}}
\newcommand\act[1][]{\chapter{#1}}

\setlength\fboxsep{0pt}
\titleformat{\section}[hang]{\Large}{\makebox[0.29\linewidth][l]{\MakeTextUppercase{\chaptername~\thechapter}} \makebox[0.1\linewidth][l]{\MakeUppercase{\sectionname~\thesection}\qquad}} {1em}{#1}
\titlespacing*{\section}{0pt}{1\baselineskip}{1\baselineskip}
\renewcommand\thesection{\arabic{section}}
\newcommand\scene[1][]{\section{#1}}

\AtBeginDocument{\def\chaptername{atto}\def\sectionname{scena}}
\setlength\parindent {0pt}%
\interlinepenalty = 1000\parskip0pt plus \baselineskip
\begin{document}

\sffamily
\include{1stact}

\end{document} 

Archivo incluido:(1stact.tex)%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\Marchese{\character{Marchese}}
\def\Conte{\character{Conte}}
\def\Fabrizio{\character{Fabrizio}}
%%%%%%%%%%%%%%%%%%%%%%%%%    \act

\scene
\speci{Sala di locanda.
\endgraf
Il Marchese di Forlipopoli ed il Conte d’Albafiorita}

\Marchese Fra voi e me vi è qualche differenza.
\Conte Sulla locanda tanto vale il vostro denaro, quanto vale il mio.
\Marchese Ma se la locandiera usa a me delle distinzioni, mi si convengono più che a voi.
\Conte Per qual ragione?
\Marchese Io sono il Marchese di Forlipopoli.
\Conte Ed io sono il Conte d’Albafiorita.
\Marchese Sì, Conte! Contea comprata.
    \Conte Io ho comprata la contea, quando voi avete venduto il marchesato.
 \Marchese Oh basta: son chi sono, e mi si deve portar rispetto.
 \Conte Chi ve lo perde il rispetto? Voi siete quello, che con troppa libertà parlando...
 \Marchese Io sono in questa locanda, perché amo la locandiera. Tutti lo sanno, e tutti devono rispettare una giovane che piace a me.
 \Conte Oh, questa è bella! Voi mi vorreste impedire ch’io amassi Mirandolina? Perché credete ch’io sia in Firenze? Perché credete ch’io sia in questa locanda?
 \Marchese Oh bene. Voi non farete niente.
 \Conte Io no, e voi sì?
 \Marchese Io sì, e voi no. Io son chi sono. Mirandolina ha bisogno della mia protezione.
 \Conte Mirandolina ha bisogno di denari, e non di protezione.
 \Marchese Denari? ... non ne mancano.
 \Conte Può essere che lo voglia sposare. Non sarebbe cosa mal fatta. Sono sei mesi che è morto il di lei padre. Sola una giovane alla testa di una locanda si troverà imbrogliata. Per me, se si marita, le ho promesso trecento scudi.

\dotfill

\scene

\speci{Fabrizio e detti.}

\Fabrizio Mi comandi, signore. (Al Marchese.)
\Marchese Signore? Chi ti ha insegnato la creanza?
\Fabrizio La perdoni.
\Conte Ditemi: come sta la padroncina? (A Fabrizio.)
\Fabrizio Sta bene, illustrissimo.

\dotfill 

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

información relacionada