我正在尝试编写一个脚本,并且定义了以下命令:
\newcommand{\SpeechText}[1]{
\vbox{\ignorespaces{\quotation{#1}}\par\duplines}
}
\newcommand{\ParagraphText}[1]{
%\paragraph{
\vspace{0.2in}
\vbox{\ignorespaces{#1}\par\duplines}
\vspace{0.2in}
%}
}
使用它们,我分别创建了模糊效果和引文/段落样式。当我在以下文本中使用它们时
\chapter{\RED{Nocturno}}
%
\ParagraphText{text text text ... text text}
%
\SpeechText{aaaaaaaaaaaaaaaaaaaaaaaaaaaa}
%
\SpeechText{bbbbbbbbbbbbbbbbbbbbbbbbbbb}
%
\SpeechText{cccccccccccccccccccccccccccccccccccc}
....
我收到此错误:
LaTeX Error: Too deeply nested. [}]
你能帮助我吗?此外,我希望命令中有左右填充\SpeechText
。我该怎么做?
以下是完整代码:
\documentclass[ms,a4paper]{memoir}
\usepackage[utf8x]{inputenc}
%\setstocksize{8.26in}{6.1in}
\settrimmedsize{8.26in}{6.1in}*
\fixpdflayout
\chapterstyle{dash} % try also reparticle
\usepackage{ulem} % underline
\usepackage{xcolor} %
%\usepackage{lipsum} %dummy text
% All font size must be normal size
\renewcommand{\large}{\normalsize}
\renewcommand{\Large}{\normalsize}
\newcommand{\red}[1]{\textcolor{red!50!black}{#1}}
\newcommand{\RED}[1]{\textcolor{red!50!black}{\MakeUppercase{#1}}}
% font hyphenation
\usepackage{everysel}
\EverySelectfont{%
\fontdimen2\font=0.6em % interword space
\fontdimen3\font=0.2em % interword stretch
\fontdimen4\font=0.1em % interword shrink
\fontdimen7\font=0.9em % extra space
\hyphenchar\font=`\-% to allow hyphenation
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Speech lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\SpeechText}[1]{%
\vbox{\ignorespaces{\quotation{#1}}\par\duplines}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Paragraph lines
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\ParagraphText}[1]{%
\vspace{0.2in}%
\vbox{\ignorespaces{#1}\par\duplines}%
\vspace{0.2in}%
}
\begin{document}
\chapter{Nocturno}
\ParagraphText{
Las enormes gafas de sol apenas pueden ocultar su cara destrozada,
la cicatriz desde casi el lacrimal del ojo hasta la comisura del lado derecho
de la boca. Sonríe. Y los dientes que le faltan convierten su boca en un abismo,
un agujero negro tragador de materia oscura.
}
\SpeechText{
No es bueno contradecir al jefe
}
\SpeechText{
Ese Jefe no es mi Jefe
}
.....
\end{document}
答案1
您没有给出任何关于您希望命令执行的操作的提示,也没有给出导致错误的示例输入
\newcommand{\SpeechText}[1]{
\vbox{\ignorespaces{\quotation{#1}}\par\duplines}
}
您缺少%
行尾,因此这会将空格标记引入您的文档。\ignorespaces
什么都不做,因为它只是忽略空格标记,直到遇到第一个非空格标记,但您立即使用{
。 \vbox
在这个级别上,这实际上不是一个乳胶命令,如果您需要一个框?您可能需要\parbox
。\quotation
是环境的内部命令quotation
,如果以这种形式使用,它需要匹配\endquotation
。\duplines
我无法评论。因为您没有显示任何定义。