Латекс: вертикальное пространство до и за списками - PullRequest
1 голос
/ 18 ноября 2010

Я не могу избавиться от вертикального пространства до и за списками.У меня есть код, как показано ниже:

\begin{list}{-}{}
    \setlength{\itemsep}{0pt}
    \setlength{\parskip}{0pt}
    \setlength{\parsep}{0pt}

    \item First item
    \item Second item

\end{list}

Ответы [ 3 ]

2 голосов
/ 19 ноября 2010

Обновленный ответ: теперь учитывает как однострочные, так и многострочные элементы списка.


Одна позиция (простая) Детализировать без детализации ...

Some text that is here and I want to see what it does. \\
  \indent$\bullet$\,first item \\
  \indent$\bullet$\,second item \\
Some text that is here and I want to see what it does.

Замените $\bullet$ на то, что вы хотите.

\indent- first item\\
\indent$\cdot$\,first item\\
\indent$\circ$\,first item\\
\indent$\ast$\,first item\\

Кажется, что "-" отлично работает с пробелами, как показано, но остальным нужен след \,, который вставляет пробел между математическим символом и следующим словом. Без него не будет пробела между «маркером» и текстом, который следует за ним.


Многострочные элементы (чуть более сложные) Ну, не намного сложнее. Просто нашел ссылку на выполнение «висячих отступов», которая, кажется, делает это достаточно гибким, чтобы делать все, что вы хотите. [1] * * тысяча двадцать-один

\documentclass{article}

\begin{document}

\newlength{\originalParindent} %see comments below
\setlength{\originalParindent}{\parindent} 

Some text that is here and I want to see what it does and to show the current
indentation behavior of a blob of text. Some text that is here and I want to
see what it does. Some text that is here and I want to see what it does. \par

\leftskip .3in % see comments below
\parindent -0.09in % see comments below

\indent$\bullet$\,first item that spills onto a second line to demonstrate the
function of leftskip and it's ability to make hanging indents. Might as well
make sure we hit three lines with this first item to be sure it works.\\

\indent$\bullet$\,second item can run onto a second line as well; hopefully
this solves the problem\par

\leftskip 0in %reset the defaults
\setlength{\parindent}{\originalParindent} %resent the defaults

Some text that is here and I want to see what it does. Just want to make sure
the defaults are restored and paragraphs indent with their proper functionality.

\end{document}

Комментарии

  • Parindent: Мы собираемся обмануть вещи, чтобы они выглядели как размеченная пуля с несколькими строками с отступом, чтобы соответствовать первому отступу текста Для этого мы возьмём значения parindent и leftskip. Leftskip обычно равен нулю, но я не знаю, на что установлен parindent, поэтому мы сохраняем его в переменной и восстанавливаем позже. Нашел этот трюк, пытаясь найти что-то эквивалентное \setlength{\parindent}{default}. [2]

  • leftskip: это играет с тем, как далеко все отступы. Если вы хотите, чтобы это было направо, просто увеличьте значение. Ноль означает, что пули находятся на одном уровне с абзацами.

  • parindent: это переопределяет поведение по умолчанию, при котором последующие строки выравниваются по левому краю маркера. Значение -0,9 как раз выглядит правильно для компенсации маркера и пробела, так что последующие строки выглядят так, как будто они совпадают с первой строкой. Вы можете настроить это тоже. Например, что-то вроде этого может выглядеть лучше.

Большое пространство между маркером и текстом; Соответствующая поправка парижента:

\leftskip .3in % see comments below
\parindent -0.215in % see comments below

\indent$\bullet$\quad first item that spills onto a second line to demonstrate
the function of leftskip and it's ability to make hanging indents. Might as
well make sure we hit three lines with this first item to be sure it works.\\

Надеюсь, это поможет! Ручки parindent и leftskip позволят вам усовершенствовать то, что вы хотите.


[1] http://www.wkiri.com/today/?p=76

[2] http://www.cs.cmu.edu/afs/cs/usr/bovik/database/tsf-bboard/Tex/enumerate

1 голос
/ 04 декабря 2011

Расширяя предыдущие ответы, вариант без маркеров вообще, но вместо первых строк без отступа и других строк (начиная со 2-й строки) с отступом:

\newenvironment{table_itemize}
{
    \begingroup                 % Start of formatting properties

    \leftskip 0.1in             % indentation for lines except first line
    \parindent -0.1in           % first line: no indentation

    \renewcommand{\item}{}      % no bullets
}{
    % restore all formatting that we changed since begingroup
    % (e.g. leftskip, parindent)
    \endgroup
}

Тогда используйте так же, как уже указано в посте Когута:

\begin{table_itemize}

    \item Something very short

    \item Something very long. Something very long. Something very long. Something very long. Something very long. Something very long.

\end{table_itemize}
1 голос
/ 19 ноября 2010

Продолжение ответа Хенди: Латекс: вертикальное пространство до и после списков

Я сделал его записи и подготовил следующее:

\newlength{\originalParindent}                                            
\newenvironment{my_itemize}
{
    \setlength{\originalParindent}{\parindent}                            
    \leftskip .3in                                                        
    \parindent -0.11in

    \newcommand{\originalItem}{\item}                                     
    \renewcommand{\item}{\indent - }                                      
}
{                                                                         
    \par

    \leftskip 0in
    \setlength{\parindent}{\originalParindent}                            
    \renewcommand{\item}{\originalParindent}                              
}   

После этого я могу написать только:

\begin{my_itemize}

     \item Something very short

     \item Somethnig very long. Somethnig very long. Somethnig very long. Somethnig very long. Somethnig very long. Somethnig very long.

\end{my_itemize}

Чтобы получить правильный список где угодно в моем документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...