命令中的 \noindent 不起作用

命令中的 \noindent 不起作用

我花了很多时间寻找解决问题的方法,但似乎找不到。以下是摘要:

在我的文档中,我有一个用于描述的自定义命令,我希望这个描述没有缩进。

该文件是

documentclass{article}
\usepackage[document]{ragged2e}
\usepackage{graphicx}
\usepackage{wrapfig, framed, caption}
\usepackage{hyperref} 
\usepackage[utf8]{inputenc}
\usepackage[nochapters]{classicthesis} 
\usepackage[LabelsAligned]{currvita}


\newcommand{\MarginText}[1]{\marginpar{\color{royalblue}\itshape\small#1}}
\newlength{\datebox}\settowidth{\datebox}{11/2017x-x09/2018} 

\newcommand{\NewEntry}[3]{\noindent\hangindent=2em\hangafter=0\noindent\parbox[t]{\datebox}{\small #1} {\small \textbf{#2}}

\newcommand{\Description}[1]{\hangindent=2em\hangafter=0\noindent\raggedright\small {#1}\noindent\par\normalsize\vspace{1em}}

\begin{document}

\NewEntry{10/2018-Present}{Corrector of Discrete Mathematics, \textsc{University Ulm}}
\Description{\MarginText{ SK Mathematik} Algebraic structures, Elementary Number Theory, Finite bodies, Foundations of Coding Theory.  \ \ $\cdotp$\ \ }

\end{document}

结果是

在此处输入图片描述

有什么办法可以消除“代数”和“基础”之间的空白吗?

任何帮助都将不胜感激!

答案1

该问题与您的代码无关:它是由于您在\margintext{...}和代数之间留下的空间造成的:

\documentclass[twoside, svgnames]{article}%
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
\usepackage{xcolor}
\newcommand{\Description}[1]{\hangindent=2em\hangafter=0\noindent\raggedright\small#1\noindent\par\normalsize\vspace{1em}}
\newcommand{\MarginText}[1]{\marginpar{\color{RoyalBlue}\itshape\small#1}}

\begin{document}

\Description{\MarginText{ SK Mathematik }%
Algebraic structures, Elementary Number Theory, Finite bodies, Foundations of Coding Theory.}

Some more text

Some more text

\end{document} 

在此处输入图片描述

答案2

\noindent中的迫使\Descritiption段落过早开始,因此 之后的空格\marginpar在 hmode 中设置为可见而不是被忽略。

你可以删除它们,但不幸的是,\marginpar在垂直模式下会出现多于段落,因此最简单的方法是\noindent在 之前使用\marginpar,然后\ignorespaces忽略后面的任何空格。

重新使用 Bernard 的例子作为问题中的例子不会产生任何输出。

\documentclass[twoside, svgnames]{article}%
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
\usepackage{xcolor}
\newcommand{\Description}[1]{\hangindent=2em\hangafter=0 \raggedright\small#1\par\normalsize\vspace{1em}}
\newcommand{\MarginText}[1]{\small\noindent\marginpar{\color{RoyalBlue}\itshape#1}\ignorespaces}

\begin{document}

\Description{\MarginText{ SK Mathematik }
Algebraic structures, Elementary Number Theory, Finite bodies, Foundations of Coding Theory.}

Some more text

Some more text

\end{document}

相关内容