![Как провести вертикальную линию через маркеры в списке?](https://rvso.com/image/309878/%D0%9A%D0%B0%D0%BA%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D0%B8%20%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%83%D1%8E%20%D0%BB%D0%B8%D0%BD%D0%B8%D1%8E%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%80%D1%8B%20%D0%B2%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5%3F.png)
Я переношу документ из 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.