我想在 LaTeX 中建立一個新命令,將文字左右對齊(請參見下面的範例)。只是我希望文字欄有半頁那麼大。
\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}
期望的輸出:
答案1
現在我更好地理解了你的問題,感謝你的鏈接,我可以提出這個,這似乎滿足了所有要求。
我定義了一個\character
將字元名稱排版為大寫的命令和hangindent
定義後續文字的值,該文字可以有多個段落。
我還定義了一個\speci
命令。只有兩個限制:新段落(如果有)將使用純 TeX 命令引入\endgraf
,並且使用該\newline
命令引入換行符,而不是以通常的方式。長度\postspeciskip
(預設為 1.5\baselineskip)可用於設定從規範到對話方塊文字的距離。
動作和場景被視為\chapter
s 和\section
s。在包的幫助下可以方便地格式化它們titlesec
。如果規範的要求是小寫字母而不是大寫字母,則編碼的某些部分會更簡單。
如果您希望段落不在分頁符號處被剪切,您可以將此行新增到序言中:
\interlinepenalty=10000 \parskip0pt plus \baselineskip
可以包含文件,並且可以在包含的文件中定義不同字元的捷徑。
這是一個例子(以哥爾多尼的《La Locandiera》開頭)。
主要文件:
\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}
包含文件:(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