Ich möchte einen neuen Befehl in LaTeX erstellen, der den Text rechts und links ausrichtet (siehe Beispiel unten). Nur wünsche ich mir, dass die Textspalte so groß wie eine halbe Seite wäre.
\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}
Gewünschte Ausgabe:
Antwort1
Nachdem ich Ihr Problem dank Ihres Links nun besser verstehe, kann ich Folgendes vorschlagen, das alle Anforderungen zu erfüllen scheint.
Ich definiere einen \character
Befehl, der die Namen der Charaktere in Großbuchstaben setztUnddefiniert den Wert hangindent
für den nachfolgenden Text, der mehrere Absätze umfassen kann.
Ich definiere auch einen \speci
Befehl. Es gibt nur zwei Einschränkungen: Neue Absätze, falls vorhanden, müssen mit dem einfachen TeX-Befehl eingeführt werden \endgraf
und Zeilenumbrüche mit dem \newline
Befehl, nicht auf die übliche Weise. Eine \postspeciskip
Länge (Standardwert: 1,5\baselineskip) kann verwendet werden, um den Abstand zwischen Spezifikationen und Dialogtext festzulegen.
Akte und Szenen werden \chapter
als s und \section
s betrachtet. Sie werden mithilfe des titlesec
Pakets bequem formatiert. Ein Teil der Codierung wäre einfacher, wenn die Anforderung für Spezifikationen Kapitälchen statt Großbuchstaben wären.
Wenn Sie nicht möchten, dass Absätze bei Seitenumbrüchen abgeschnitten werden, können Sie der Präambel diese Zeile hinzufügen:
\interlinepenalty=10000 \parskip0pt plus \baselineskip
Man kann Dateien einbinden und in den eingebundenen Dateien können Verknüpfungen für die verschiedenen Zeichen definiert werden.
Hier ist ein Beispiel (mit dem Anfang von Goldonis La Locandiera).
Hauptdatei:
\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}
Enthaltene Datei:(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