我正在将文档从 InDesign 迁移到 Latex,但似乎无法弄清楚这一部分。标题说明了一切。为了以防万一,我附上了一张图片。
我考虑制作一个表格,其中每个单元格包含一个项目,然后将项目符号水平偏移到表格的边框上,但在水平偏移项目符号(而不是文本)时找不到任何内容。
答案1
已编辑以提供rbitemize
环境。在此环境中,\item
将给出一个带有上下规则的单选按钮,并\item
带有指定行数的可选参数\item
(如果大于 1)。
我将内部宏命名为\rb
,参考我的“单选按钮”代码如何排版单选按钮?
在环境中,\item
被重新定义为自动调用内部\rb
宏。该\rb
宏基本上是一个堆栈。堆栈的核心(又称锚点)是\bullet
嵌入在缩放的 中的\circ
。这给出了单选按钮。但堆叠在单选按钮上方和下方的是规则。按钮上方的长度规则是固定的,而按钮下方的规则的长度受修订的 的可选参数的影响\item
。
\documentclass[12pt]{article}
\usepackage[usestackEOL]{stackengine}
\usepackage{graphicx}
\newcommand\rb[1]{\raisebox{-1.5pt}{%
\stackunder[-2pt]{%
\stackon[0pt]{%
\stackinset{c}{}{c}{.35pt}{$\bullet$}{\scalebox{2}{$\circ$}}%
}{%
\smash{\rule{1pt}{2.1ex}}\kern.5pt}%
}{%
\smash{\rule[\dimexpr-#1\baselineskip+1.8ex\relax]{1pt}{%
\dimexpr#1\baselineskip-1.8ex\relax}}\kern.5pt}%
}%
}
\let\svitem\item
\def\rbsetup{\renewcommand\item[1][1]{\svitem[\rb{##1}]}}
\newenvironment{rbitemize}{\itemize\rbsetup}{\enditemize}
\begin{document}
\noindent Here is my itemize:
\begin{rbitemize}
\item foo
\item[2] bar continuing for an extra line to check if I can extend the
vertical bar downward, albeit manually
\item baz
\end{rbitemize}
Done with itemize
\end{document}
答案2
一个简单的答案,只使用 LaTeX 的“标准”部分。这不是很灵活,特别是它假设您的项目都是单行,但它可能会让您走上更强大的道路。
\documentclass{article}
\newcommand\db{\mbox{\enspace\textbullet\hspace*{-2.8pt}\rule[-6pt]{0.4pt}{16pt}}}
\newenvironment{linked}{\begin{list}{}{%
\renewcommand{\makelabel}{\db}
\setlength{\itemsep}{-1pt}
\setlength{\parsep}{0pt}
}}{\end{list}}
\begin{document}
However, a service-oriented paradigm is further compounded when taking into account
the evolution of specifications over a given time period.
\begin{linked}
\item Small things in this list
\item Not very long or it will look awful.
\item OK?
\end{linked}
Conversely, any associated supporting element recognizes other systems' importance
and the necessity for possible bidirectional logical relationship approaches.
\end{document}
LaTeX 伴侣是此类定制不可或缺的参考资料。请特别参阅第 3 章中的“列表结构”部分。