\newline 命令之后 \hspace 不起作用

\newline 命令之后 \hspace 不起作用

我目前正在撰写论文报告,并希望在其中添加肯定。以下是相同的最小代码:

\documentclass[]{article}
\begin{document}
\section*{Affirmation}
\addcontentsline{toc}{section}{Affirmation}
\hspace{1cm}something
\vspace{2cm}
\hspace{1cm}city, date \hspace{3cm}\line(1,0){200}
\newline
\hspace{8cm}(name)
\clearpage
\end{document}

它产生以下输出输出图像

正如所见,(名称)应该位于线下方,但由于某种原因,\hspace之前的(名称)不起作用。

如能得到任何帮助我将非常感激。

答案1

您的代码做了什么

来自非官方 LaTeX 参考手册,第 20.1 节:

LaTeX 通常会删除行首或行末的水平空格。要保留此空格,请使用可选*形式 [of \hspace]。

因此我们改用\hspace*

\documentclass[]{article}
\begin{document}
    \section*{Affirmation}
    \addcontentsline{toc}{section}{Affirmation}
    \hspace{1cm}something
    \vspace{2cm}
    \hspace{1cm}city, date \hspace{3cm}\line(1,0){200}
    \newline
    \hspace*{8cm}(name)
    \clearpage
\end{document}

输出

你的照片表达了什么

其余的间距与您的输出有很大不同,因为您的屏幕截图肯定不是由您发布的代码生成的。经过一番猜测,我认为这更接近您的预期(请注意,\hspace在几个实例中您必须使用带星号的版本):

\documentclass{article}
\begin{document}
\section*{Affirmation}
\addcontentsline{toc}{section}{Affirmation}
\hspace*{1cm}something

\vspace{2cm}

\noindent\hspace*{1cm}city, date \hspace{3cm}\line(1,0){200}
\newline
\noindent\hspace*{8cm}(name)
\end{document}

输出

我的建议

考虑到您的布局并考虑实现方式,我会做这样的事情,这比手动干预大量间距更干净:

\documentclass{article}
\begin{document}
\section*{Affirmation}
\addcontentsline{toc}{section}{Affirmation}

something\\[2cm]
city, date \hfill
\begin{minipage}[t]{7cm}\centering
    \rule{\linewidth}{.5pt}\\
    (name)
\end{minipage}

\end{document}

输出

答案2

正如@doncherry所说,您可以使用带星号的版本解决问题\hspace*{}。但我在这里为您提供了另一种解决方案,即生成一行签名。我通常使用它。

\begin{flushright}
\begin{minipage}{6cm}
\begin{center}
\hrulefill\\
(date)
\end{center}
\end{minipage}
\end{flushright}

在此处输入图片描述

相关内容