我想准备一个 LCD 显示屏视图,可以显示 8 行大文本或 16 行小文本。大小可以混合,因此有些行会使用小字体,而有些行会同时使用大字体。
不幸的是,线与线之间的距离发生了奇怪的事情。我做错了什么?
代码
\documentclass{article}
\newcommand{\fontsmall}{\fontsize{5pt}{6pt}\selectfont}
\newcommand{\fontnormal}{\fontsize{10pt}{12pt}\selectfont}
\newsavebox{\mybox}
\newenvironment{display}{%
\fontnormal%
\begin{lrbox}{\mybox}%
\begin{minipage}[][8\baselineskip][t]{15\baselineskip}%
}{%
\end{minipage}%
\end{lrbox}\fbox{\usebox{\mybox}}
}
\begin{document}
\begin{display}%
linie 1\\
linie 2\\
linie 3\\
linie 4\\
linie 5\\
linie 6\\
linie 7\\
linie 8
\end{display}%
\begin{display}%
\fontsmall
linie 1\\
linie 2\\
linie 3\\
linie 4\\
linie 5\\
linie 6\\
linie 7\\
linie 8\\
linie 9\\
linie 10\\
linie 11\\
linie 12\\
linie 13\\
linie 14\\
linie 15\\
linie 16
\end{display}%
\begin{display}%
\fontsmall
\hfill \today\\
~\\
\fontnormal
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
\fontsmall
linie 9\\
linie 10\\
linie 11\\
linie 12\\
linie 13\\
linie 14\\
linie 15\\
linie 16
\end{display}%
\begin{display}%
\fontsmall
\hfill \today\\
~\\
\fontnormal
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
\fontsmall
linie 9\\
linie 10\\
linie 11\\
linie 12\\
linie 13\\
linie 14\\
linie 15\\
linie 16
\fontnormal
\end{display}%
\begin{display}%
\fontsmall
\hfill \today\\
\fontnormal
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
some text \hfill some text \hfill some text\\
\fontsmall
linie 8\\
linie 9\\
linie 10\\
linie 11\\
linie 12\\
linie 13\\
linie 14\\
linie 15\\
linie 16
\fontnormal
\end{display}%
\end{document}
结果
答案1
问题在于您误用了\\
换行符。只有当相关文本以新段落结尾时,对行扩展的更改才会生效。这可以通过留空行或使用 来实现\par
。
\documentclass{article}
\newcommand{\fontsmall}{\fontsize{5pt}{6pt}\selectfont}
\newcommand{\fontnormal}{\fontsize{10pt}{12pt}\selectfont}
\newsavebox{\mybox}
\newenvironment{display}{%
\fontnormal%
\begin{lrbox}{\mybox}%
\begin{minipage}[][8\baselineskip][t]{15\baselineskip}%
}{%
\end{minipage}%
\end{lrbox}\fbox{\usebox{\mybox}}
}
\begin{document}
\begin{display}%
linie 1
linie 2
linie 3
linie 4
linie 5
linie 6
linie 7
linie 8
\end{display}%
\begin{display}%
\fontsmall
linie 1
linie 2
linie 3
linie 4
linie 5
linie 6
linie 7
linie 8
linie 9
linie 10
linie 11
linie 12
linie 13
linie 14
linie 15
linie 16
\end{display}%
\begin{display}%
\fontsmall
\hfill \today
~
\fontnormal
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
\fontsmall
linie 9
linie 10
linie 11
linie 12
linie 13
linie 14
linie 15
linie 16
\end{display}%
\begin{display}%
\fontsmall
\hfill \today
~
\fontnormal
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
\fontsmall
linie 9
linie 10
linie 11
linie 12
linie 13
linie 14
linie 15
linie 16
\fontnormal
\end{display}%
\begin{display}%
\fontsmall
\hfill \today
\fontnormal
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
some text \hfill some text \hfill some text
\fontsmall
linie 8
linie 9
linie 10
linie 11
linie 12
linie 13
linie 14
linie 15
linie 16
\fontnormal
\end{display}%
\end{document}