我该如何实现这个环境?(标题 - 边距 - 项目)

我该如何实现这个环境?(标题 - 边距 - 项目)

这是由 MS-Word 制作的

我想在 LaTeX 中创建这个环境或宏。

此图片由 ms-word 制作。

假设“标题”和“如何”的宽度为 3cm,并且“标题”和“标题 1”之间有 1cm 的边距。其他空间用于内容(标题 1、标题 2、如何实现?等)。当然,“标题”和“如何”应该跨越整个 3cm 宽。

我想要创建一个类似这样的环境或宏:

\begin{somethingiwant}{Title}
  \item Title 1
  \item Title 2
\end{somethingiwant}

\begin{somethingiwant}{How}
  \item How can I implement this?
  \item Etc...
\end{somethingiwant}

“标题 1”和“标题 2”之间的间隙或行距应与我输入时相同:

Title 1 \\ Title 2

我不知道如何实现这一点。请帮帮我。

答案1

文字处理程序所能实现的功能不一定都是好的排版。以下是字母间距夸张的版本。

\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe} % just for the example

\newlist{mylist}{itemize}{1}
\setlist[mylist]{
  leftmargin=4cm,% adjust to suit
  labelwidth=4cm,% the same as leftmargin
  labelsep=0pt,
  before=\let\makelabel\expandedlabel,
  label=\textbullet, 
  align=left,
}
\newcommand\expandedlabel[1]{%
  \makebox[3cm][s]{% adjust 3cm to suit
    \sffamily\bfseries\expanditem{#1}%
  }%
  \hfill
}
\makeatletter
\newcommand{\expanditem}[1]{%
  \hfilneg
  \@tfor\next:=#1\do{\hfil\next}%
}
\makeatother

\begin{document}

\begin{mylist}
\item[Title] title 1 \\ title 2
\item[How] How \\ How to
\end{mylist}
\end{document}

在此处输入图片描述

答案2

像这样?

\documentclass{article}
\usepackage{enumitem,showframe}      %% showframe only for demo
\newlist{mylist}{itemize}{1}
\setlist[mylist]{leftmargin=*}
\begin{document}
  \begin{mylist}[{label=\makebox[3cm][l]{\bfseries Title}}]
    \item title 1 \\ title 2
    \item Title
  \end{mylist}
  \begin{mylist}[label={\makebox[3cm][l]{\bfseries How}}]
    \item How \\ How to
    \item How do I?
  \end{mylist}
\end{document}

在此处输入图片描述

答案3

使用的想法@Harish Kumar我尝试实现这样的事情

\documentclass{article}
\usepackage{enumitem}

\newlength{\fwidth} % Width of the `label column`
\setlength{\fwidth}{2.5cm} % Fix width of label
\newlist{mlist}{itemize}{1}
\setlist[mlist]{leftmargin=*,labelsep=0pt}

\newenvironment{mylist}[2][\fwidth]%
{\begin{mlist}[{label=\makebox[#1][l]{\bfseries #2}}]%
\item\begin{itemize}[label={},noitemsep]}%
{\end{itemize}\end{mlist}}


\begin{document}
\begin{mylist}{Title}
  \item Title 1
  \item Title 2
\end{mylist}
Change width by default to 3 cm
\begin{mylist}[3cm]{Title} % Change width by default to 3cm
  \item Title 1
  \item Title 2
\end{mylist}

\begin{mylist}{How}
  \item How can I implement this?
  \item Etc...
\end{mylist}

\end{document}

环境似乎符合 OP 的要求。

在此处输入图片描述

相关内容