这是在两个水平规则之间生成项目列表的代码。要制作文本(逐项显示或纯文本),使用 [c] 选项设置 minipage 应该没问题,但内容并不完全位于两个规则的中间。规则和文本之间的间隙应该像顶部和底部边距一样,约为 \baselineskip 或 \itemsep 的 1.5 倍。
\documentclass[a4paper]{article}
\usepackage[verbose,vmargin=20mm,hmargin=20mm]{geometry}
\usepackage{fontsize,fix-cm,enumitem}
\setlist[itemize,1]{label=$\bullet$}
\changefontsize{24}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[skip=11pt plus1pt, indent=0pt]{parskip}
\begin{document}
\rule{\textwidth}{2pt}
\begin{minipage}[t][.2\textheight][c]{\textwidth}
\begin{itemize}
\item ...walking ...
\item ...jogging ...
\end{itemize}
\end{minipage}
\rule{\textwidth}{2pt}
\end{document}
答案1
随意修改垂直间距。
\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\newenvironment{ruled}
{%
\par
\addvspace{2\topsep}
\noindent\begin{minipage}{\textwidth}
\hrule height 2pt
\vspace{\topsep}
}
{%
\par\nointerlineskip
\vspace{\topsep}
\hrule height 0pt depth 2pt
\end{minipage}
\par
\addvspace{2\topsep}
}
\begin{document}
\lipsum[1][1-4]
\begin{ruled}
\begin{itemize}[topsep=0pt]
\item ...walking ...
\item ...jogging ...
\end{itemize}
\end{ruled}
\lipsum[2][1-4]
\begin{ruled}
\lipsum[3][1-4]
\end{ruled}
\lipsum[4][1-4]
\end{document}
您可能还想检查一下tcolorbox
。
答案2
第一个\rule{\textwidth}{2pt}
占整行,因此 LaTeX 继续在下一行。这就是minipage
为了对齐其框所指的内容。
该选项[t]
指示minipage
使用顶部对齐方式来对齐其周围内容(此处为空行)的基线。由于您添加了第三个选项[c]
,LaTeX 实际上指的是小页面框的边缘(默认情况下,它使用内部文本的基线)。最终,框的放置方式是其顶部边缘与空行的基线对齐,并在上方留出额外的间隙。里面的内容minipage
实际上居中。
\documentclass[a4paper]{article}
\usepackage[verbose,vmargin=20mm,hmargin=20mm]{geometry}
\usepackage{fontsize,fix-cm,enumitem}
\setlist[itemize,1]{label=$\bullet$}
\changefontsize{16}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[skip=11pt plus1pt, indent=0pt]{parskip}
\setlength{\fboxsep}{0pt}
\begin{document}
\rule{\textwidth}{2pt}
\fbox{\begin{minipage}[t][.2\textheight][c]{\textwidth}
\begin{itemize}
\item ...walking ...
\item ...jogging ...
\end{itemize}
\end{minipage}}
\rule{\textwidth}{2pt}
\bigskip
X
\fbox{\begin{minipage}[t][.2\textheight][c]{0.4\textwidth}
\begin{itemize}
\item ...walking ...
\item ...jogging ...
\end{itemize}
\end{minipage}}
X
\fbox{\begin{minipage}[b][.2\textheight][c]{0.4\textwidth}
\begin{itemize}
\item ...walking ...
\item ...jogging ...
\end{itemize}
\end{minipage}}
\end{document}
答案3
请尝试以下操作:
\documentclass{article}
\usepackage[a4paper,
margin=20mm,
showframe
]{geometry}
\usepackage{fontsize,fix-cm}
\changefontsize{24}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[latin]{babel}
\usepackage[skip=11pt plus1pt, indent=0pt]{parskip}
\usepackage{enumitem}
\newlist{tabitem}{itemize}{1}
\setlist[tabitem,1]{
label=\textbullet,
before=\begin{minipage}[t]{\hsize},
after =\end{minipage}
}
\usepackage{tabularray}
\UseTblrLibrary{varwidth}
\usepackage{lipsum}
\begin{document}
\begin{tblr}{hlines = 2pt,
colspec = {@{} X[j] @{}},
rowsep = 11pt}
\lipsum[66]
\end{tblr}
\lipsum[1][1-4]
\begin{tblr}{hlines = 2pt,
colspec = {@{} X[j] @{}},
measure = vbox,
rowsep = 11pt}
\begin{tabitem}
\item ...walking ...
\item ...jogging ...
\end{tabitem}
\end{tblr}
\end{document}
(灰线表示页面布局)