寻求一种方法来打印某些文本的前 N ​​行

寻求一种方法来打印某些文本的前 N ​​行

是否有命令可以排版一些文本(一个段落),然后仅按格式输出前 N 行。这意味着最后一个单词实际上可能只是带连字符的单词的第一部分。我喜欢制作不同文本/行距大小的字体样本,这样的命令会使这一切变得更容易、更漂亮。

如果有什么不同的话,我会使用 Lualatex。

\documentclass{article}
\usepackage{blindtext}

\newcommand\firstnlines[2]{%
  #2 % want to print first #1 lines of #2 here
}

\begin{document}
\begin{minipage}{3in}
  % set fontsize & baselineskip here
  \firstnlines{8}{\blindtext}
\end{minipage}
\end{document}

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{blindtext}

\newcommand\firstnlines[2]{{%
  \splittopskip=\ht\strutbox
  \vbadness10000
  \setbox0\vbox{{\strut#2}}% 
  \setbox2\vsplit0 to #1\baselineskip
  \unvbox2
}}

\begin{document}

8
\begin{minipage}[t]{3in}
  % set fontsize & baselineskip here
  \firstnlines{8}{\blindtext}
\end{minipage}

1
\begin{minipage}[t]{3in}
  % set fontsize & baselineskip here
  \firstnlines{1}{\blindtext}
\end{minipage}

3
\begin{minipage}[t]{3in}
  % set fontsize & baselineskip here
  \firstnlines{3}{\blindtext}
\end{minipage}

\end{document}

相关内容