如何避免 \NewDocumentEnvironment 中出现不需要的空格?

如何避免 \NewDocumentEnvironment 中出现不需要的空格?

我尝试制作自己的“引文”环境,并希望第一个字母加粗,并且比其他字母稍大一些。由于\lettrine无法按我想要的方式工作,我尝试自己编写代码。

L一切都按预期进行,除了一件事:我在和之间得到了一个空白orem Ipsum,我不知道它是从哪里来的

\documentclass[12pt,a4paper,listof=totoc,oneside]{scrreprt}
\usepackage[ngerman]{babel}

\usepackage{xcolor}
\definecolor{citecolor}{HTML}{6495ED} 

% Weil ich parameter im end-teil haben will
\usepackage{xparse}

% Eigene Quotes
\usepackage{csquotes}
\NewDocumentEnvironment{myquote}{m o}{%
    \begin{samepage}%
        \list{}{%
            \setlength{\leftmargin}{1.5em}%
            \setlength{\rightmargin}{1.5em}%
            \setlength{\topsep}{0em}%
            \setlength{\parsep}{0pt}%
            \setlength{\partopsep}{0pt}%
            \setlength{\parskip}{0pt}%
        }%
        \item\relax%
        \begin{itshape}%
            % Anführungszeichen
            \begin{large}\textbf{\textcolor{citecolor}{\flqq}}\end{large}
            % Großer Buchstabe (wenn angegeben)
            \IfNoValueTF{#2}{}{{\Large{\textbf#2}}}%
}{%
            \begin{large}\textbf{\textcolor{citecolor}{\frqq}}\end{large}
        \end{itshape}%
        \endlist%
        % Quelle
        \hspace*{\fill}\mbox{\footnotesize\textcolor{citecolor}{\cite{#1}}}%
        \vspace{1.5em}%
    \end{samepage}%
}%



\begin{document}

% Calling the Environment
\begin{myquote}{WIKI1}[L]
orem Ipsum...
\end{myquote}

\end{document}

答案1

后面的空格是行尾\begin{myquote}{WIKI1}[L],因为“开始部分”开始了一个段落,并且这个空格不会被忽略。解决方案是添加\ignorespaces

我对你的定义做了一些其他更改;避免\begin{itshape}\begin{large}\itshape\large是不带参数的声明。

\documentclass[12pt,a4paper,listof=totoc,oneside]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{xcolor}
\definecolor{citecolor}{HTML}{6495ED} 

% Weil ich parameter im end-teil haben will
\usepackage{xparse}

% Eigene Quotes
\usepackage{csquotes}
\NewDocumentEnvironment{myquote}{m o}
 {%
  \par
  \begin{samepage}%
  \list{}{%
    \setlength{\leftmargin}{1.5em}%
    \setlength{\rightmargin}{1.5em}%
    \setlength{\topsep}{0em}%
    \setlength{\parsep}{0pt}%
    \setlength{\partopsep}{0pt}%
    \setlength{\parskip}{0pt}%
  }%
  \item\relax
  \itshape
  % Anführungszeichen
  {\large\bfseries\textcolor{citecolor}{\flqq}}%
  % Großer Buchstabe (wenn angegeben)
  \IfNoValueTF{#2}{}{{\Large\bfseries#2}}%
  \ignorespaces
 }
 {%
  {\large\bfseries\textcolor{citecolor}{\frqq}}%
  \endlist
  % Quelle
  \hspace*{\fill}\mbox{\footnotesize\textcolor{citecolor}{\cite{#1}}}%
  \vspace{1.5em}%
  \end{samepage}%
 }

\begin{document}

% Calling the Environment
\begin{myquote}{WIKI1}[L]
orem Ipsum...
\end{myquote}

\end{document}

在此处输入图片描述

答案2

后面的空格来自文档中的L换行符。您可以通过添加到定义中来忽略那里的空白。还有一些缺失会导致灰色后面出现额外的空格[L]\ignorespaces%<<

            \begin{large}\textbf{\textcolor{citecolor}{\flqq}}\end{large}%<<
            % Großer Buchstabe (wenn angegeben)
            \IfNoValueTF{#2}{}{{\Large{\textbf#2}}}%
\ignorespaces}{%
 %%%%%%%%%%
            \begin{large}\textbf{\textcolor{citecolor}{\frqq}}\end{large}%<<

相关内容