LINUX.ORG.RU

Latex и одна фигурная скобка справа

 


0

1

Глядя на старые записи (ручкой по бумаге) я заметил, что регулярно требуется следующая конструкция: несколько строк текста или формул, справа одна } (aka brace) и за ней пояснение.

Какой самый правильный способ сделать такую конструкцию? Нужно чтобы это работало с формулами и текстом (включая кириллицу) и скобка автоматически меняла размер в зависимости от количества строк.


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

Спасибо за быстрый ответ, но можно подробнее? Как именно вставлять эти две команды для формул и текста? Пока что мне компилятор ругается на не хватающие ему $.

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

Как ни кручу-верчу, ругается на отсутствие то правой, то левой скобки.

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

Хм. в таком виде:

\left. сложное выражение \right\}

Оно жалуется что нужны $. В таком виде:

$\left. сложное выражение \right\}$

Оно не жрет кирилицу. А вот так:

$\left.$ сложное выражение $\right\}$

Оно не ловит скобки и пишет что не хватает правой-левой.

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

Математическая мода отличается от текстовой. Для набора математики для начала изучи любой букварь по этой теме — это не долго, например мой: http://www.inp.nsk.su/~baldin/LaTeX/index.html

Кириллица в формулах без хаков доступна только внутри команды \text{} из пакета amsmath

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

За пределами матмоды фигурные скобки с автоподстройкой по высоте получается вообще не существуют?

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

Да, но при желании можно сделать свою собственную растягиваемую скобку. Как минимум, как-то так:

$\left\{\text{\parbox{ширина}{текст}}\right.$

(оформить это в команду - и ОК)

Eddy_Em ☆☆☆☆☆
()

несколько строк текста или формул, справа одна } (aka brace) и за ней пояснение.

Вона как! Тут уже непросто! Придется балансировку делать по высоте. Если же пояснение всегда короткое, то можно попробовать и упростить:

\usepackage{lipsum}
\begin{document}
\newdimen\ww
\def\abox{$\left.\parbox{\ww}{\lipsum[1]}\right\}$текст пояснения}
\ww=0.5\textwidth
\setbox0=\hbox{\abox}
\advance\ww by\textwidth
\advance\ww by-\wd0
\noindent\abox
\end{document}
Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Эх, оформить бы такое в готовый пакет. Собственно мне примерно вот так нужно:

- Первое правило           }
- Второе правило           }
- 2 + 3 = 4 и никак иначе  } Правила сложения
- ... шестое правило       }
- не правило               }

То есть запись идет в текстовой моде, item list, внутри иногда $формулы$. На лекциях так удобно писать, записываешь пункты по очереди, потом - фигурную скобку и пишешь о чем это. Хз как в России, но в Германии так любят писать.

Или есть альтернативное оформление такой конструкции? Видел про формулы с { слева, но это несколько другая степь. Разве что плюнуть и писать обычный список с заголовком, но блин.

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

Ниже точнее объяснил, чего мне надобно. Не доказательства)

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

Ты можешь вместо \parbox в моем примере запихать все в \minipage и засунуть в макрос.

Получишь просто и элегантно. На всякий случай можно еще добавить проверку ширины текста справа — если шире, скажем, чем 0.25\textwidth, то запихать его тоже в \parbox.

Только с такими блочищами будет другая проблема: огромные штрафы, если блок будет внизу страницы и не влезет. В общем, добавить еще отрицательный penalty в начале макроса и/или бесконечно растяжимый клей (ну или \raggedbottom сказать, что то же самое).

Или есть альтернативное оформление такой конструкции?

Я в методичках такое делал: блоки текста с отступами. Но вот так — большими кусками — не стоит все-таки делать. Криво в итоге получится. Разве что оформлять это дело как плавающую вставку...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

О. Примеры выглядят несколько запутанно (видимо из-за универсальности пакета), но это кажется почти то что надо. Спасибо, аноним, возьму на заметку)

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

Ага, выше кто-то упоминал minipage.

На всякий случай можно еще добавить проверку ширины текста справа

Я понимать понимаю, о чем речь, но как это делается без понятия. Потому что нуб в техе.

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

Точно так же: запихать в бокс и измерить его ширину. Если она больше, чем надо, то вместо обычного бокса использовать \parbox.

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