我应该如何编写命令来自动在左侧放置一个框,其中该框可以包含文本,并且框旁边是取决于参数的线条。
答案1
如果没有关于框架和 MWE 的宽度和高度的更多详细信息,这是一个原始答案:
\documentclass{article}
\usepackage{pgffor}
%\usepackage{setspace}
\newcommand\leftbox[1]{%
\par\noindent
\begin{minipage}[t]{.45\textwidth}
\fbox{%
\parbox[t][5cm]{\dimexpr\textwidth-2\fboxrule-2\fboxsep}{%
#1}%
}%
\end{minipage}%
}%
\newcommand\lines[1]{%
\hfill
\begin{minipage}[t]{.45\textwidth}%
\noindent
\foreach \x in {1,...,#1}{%
\rule{\textwidth}{1pt}\\[1em]}%
\end{minipage}%
}%
\begin{document}
\leftbox{text will be placed here inside this box with a frame}\lines{4}
\end{document}
可以通过使用以下方法避免使用该pgffor
包(感谢 Gonzalo):
\newcounter{lines}
\newcommand\lines[1]{%
\hfill
\begin{minipage}[t]{.45\textwidth}%
\loop \ifnum\value{lines}<#1\relax
\rule{\textwidth}{1pt}\\[1em]
\stepcounter{lines}%
\repeat
\end{minipage}
}
答案2
对齐有多种可能性,但像这样
\documentclass{article}
\long\def\leftbox#1{\fbox{\parbox[t]{.4\textwidth}{#1}}}
\def\lines#1{\parbox[t]{.4\textwidth}{\par%
\count0=#1
\vskip-\ht\strutbox
\loop
\vskip\baselineskip
\hrule width\hsize
\advance\count0 -1
\ifnum\count0>0
\repeat}}
\begin{document}
\leftbox{The text goes here\\
and here\\
and here}
\lines{4}
\end{document}