我使用下面的代码来格式化一些信息,但红线之前的最后一行没有右对齐。我在代码中找不到问题所在。有什么建议吗?谢谢。
\documentclass[11pt,a4paper]{article}
\usepackage{color}
\usepackage[T1]{fontenc}
\setlength{\parindent}{0em}
\begin{document}
\begin{samepage}
{\color{blue}\hrule height 2pt}
\vspace{.1\baselineskip}
{\Large Some important text}
\hfill
{\large \textit{And more}} \\
{\small More some text}
\hfill \textit{Important person:}~Me \\[.3\baselineskip]
{Year:~2018, Volume:~1, Nr.:~1}
\hfill
Date 1: YYYY-MM-DD\\
{Classification:~A}
\hspace{\fill}
Date 2: YYYY-MM-DD
\vspace{.3\baselineskip}
{\color{red}\hrule height 2pt}
\end{samepage}
\end{document}
答案1
您必须在几个地方保护行尾,否则那里可能会出现空格。
\documentclass[11pt,a4paper]{article}
\usepackage{color}
\usepackage[T1]{fontenc}
\setlength{\parindent}{0em}
\begin{document}
\begin{samepage}
{\color{blue}\hrule height 2pt}
\vspace{.1\baselineskip}
{\Large Some important text}
\hfill
{\large \textit{And more}} \\
{\small More some text}
\hfill \textit{Important person:}~Me \\[.3\baselineskip]
{Year:~2018, Volume:~1, Nr.:~1}
\hfill
Date 1: YYYY-MM-DD\\
{Classification:~A}
\hspace{\fill}
Date 2: YYYY-MM-DD% <- Here
\vspace{.3\baselineskip}% <- Here
{\color{red}\hrule height 2pt}% <- Here (this one isn't necessary, actually)
\end{samepage}
\end{document}
编辑:行末有注释?真的吗?
这
是
某物
那
每个人
已经
有
问题
和(“每个人”链接是最好的:P
)。
这里发生的情况是(在正常情况下)TeX 将换行符解释为空格字符,因此当您输入:
abc
def
结果与您输入以下内容相同:
abc def
(请注意后面的空格c
)。但是当您输入:
abc%
def
TeX 会忽略 之后的所有内容%
,包括换行符,因此它本质上与以下内容相同:
abcdef
这就是为什么你DD
的代码后面有一个空格。
如果你有时间,我建议你读一下koleygr 的回答在这里如果你想要更详细的解释,我的回答这里。
答案2
你可以\vspace{.3\baselineskip}
用替换\vskip.3\baselineskip
,你的问题就解决了。TeX\vskip
原语比 LaTeX 的原语自然得多,\vspace
后者不会结束段落,而是在当前段落的行之间插入垂直空格(使用\vadjust
原语)。
A)当你输入时会发生什么
end words.
\vskip.3\baselineskip
然后\vskip
结束段落(使用\par
在之前插入的内部内容\vskip
),这\par
会占用结束行的空间。这是处理每个段落的正常行为。
B)当你输入时会发生什么
end words.
\vspace{.3\baselineskip}
{\color{red}\hrule height 2pt}
然后我们end words.
接着是空格(从结束行开始),接着是\vadjust
对象(从开始\vspace
),接着是空格(从第二结束行开始),接着是颜色设置(从\color
宏开始),接着是\par
,由原始插入\hrule
。第二个空格被这个占用,\par
但第一个空格不会被占用。
答案3
我会使用 aminipage
而不是samepage
。您在代码中添加了几个不需要的空格;例如,在 和x \hspace{<length>}
之间添加了一个空格x
。在您的情况下,这并不重要,因为您添加了无限的胶水,在其他情况下则很重要。
此外,行尾也算作空格;在某些情况下,行尾会被删除,而其他情况下则不会。最好使用更简洁的代码,以更清楚地显示您的意图。
\documentclass[11pt,a4paper]{article}
\usepackage{xcolor}
\begin{document}
\noindent
\begin{minipage}[b]{\textwidth}
{\color{blue}\hrule height 2pt}
\vspace{.3\baselineskip}
{\Large Some important text\hfill
\textit{And more}\par}%<-- to preserve \par at the font size change
{\small More some text}\hfill
\textit{Important person:}~Me
\vspace{.3\baselineskip}
Year:~2018, Volume:~1, Nr.:~1\hfill
Date 1: YYYY-MM-DD
Classification:~A\hfill
Date 2: YYYY-MM-DD
\vspace{.3\baselineskip}
{\color{red}\hrule height 2pt}
\end{minipage}
\end{document}
命令中的尾部空格被删除\par
(自动插入一个空白行)。最好是\vspace
发出段落之间就像上面的代码一样。此外,控制序列后面的空格/结束行(在上面的代码中\hfill
)在 TeX 中是看不到的。
我设置了整个第一行的\Large
大小,因为\large
右边的部分几乎无法区分;请注意\par
右括号之前的大小,这确保\Large
使用了正确的行间间距。