LINUX.ORG.RU

Latex: как «соединить» абзац и verbatim текст?

 


0

1

Есть примерно такой исходник:

\documentclass[twocolumn,12pt]{article}
\usepackage[a6paper,landscape,vscale=0.4]{geometry}

\begin{document}
.\vspace{30mm}

\textbf{TeX}
\begin{verbatim}
Professor Donald Knuth de-
veloped the first version 
of the TeX program in 
1978-79. 
\end{verbatim}

\textbf{ABC}
\begin{verbatim}
Over the course of the next 
two years he improved and 
changed the program fur-
ther and it then became 
known as TeX 82. 
\end{verbatim}

\end{document}

Нужно:

1. Убрать отступы между «ABC» и «Over the course...», чтобы они выглядели как две строки одного абзаца. Пока делаю через отрицательный \vspace{}.

2. Запретить «TeX» отрываться от «Professor Donald Knuth...» и висеть одиноко на странице. При этом сам блок verbatim должен разрываться при необходимости, как делает «Over the course...».

★★
Ответ на: комментарий от bookman900

\,

В книжках пишут, что это «маленький нерастяжимый пробел».

Так не работает:

\textbf{TeX}\,\begin{verbatim}Professor Donald Knuth de-

И так тоже:

\textbf{TeX}\begin{verbatim}Professor Donald Knuth de-

fffgh ★★
() автор топика

Проблема решена путём создания более адекватной разметки.

fffgh ★★
() автор топика

Первый вопрос не актуален, а вот вторая проблема осталась.

Нужно «соединять» verbatim блоки с различными тегами так, чтобы блок и тэг не разбегались по разным страницам (а сам блок, при этом, мог разрываться).

Первый вариант решения: есть возможность вставлять теги прямо в verbatim блок (alltt и Verbatim из fancyvrb), но, похоже, кроме textbf, они ничего не поддерживают.

Может есть более продвинутый пакет «для вывода кода», который осиливает вставку большего количества тегов?

fffgh ★★
() автор топика
Ответ на: комментарий от fffgh

Сейчас проблема в том, что от блока «отрывается» markboth, и соответствующие пометки висят в колонтитулах не на той странице.

fffgh ★★
() автор топика
Ответ на: комментарий от fffgh

от блока «отрывается» markboth

Справился и с этим, но получаются частные решения. А общая проблема возникает вновь и вновь — как мне «приклеить» объект А к объекту Б? Так, чтобы А не мог остаться последним на странице/в колонке. И если на странице не получается разместить начало Б, то А переходил бы вместе с ним на следующую страницу.

При этом сам Б должен разрываться страницей.

fffgh ★★
() автор топика
Ответ на: комментарий от TeopeTuK

Прямо спасаешь, большое спасибо.

Один из вариантов по ссылке: "..{\vspace{\topsep}\nobreak\@afterheading}". Так не будет работать. Будет вот так: "..{\nobreak\vspace{\topsep}\@afterheading}".

fffgh ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.