两条水平线中间的文本

两条水平线中间的文本

这是在两个水平规则之间生成项目列表的代码。要制作文本(逐项显示或纯文本),使用 [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}

在此处输入图片描述

(灰线表示页面布局)

相关内容