Как обернуть непрерывный текст в латекс? - PullRequest
2 голосов
/ 06 июня 2009

Мне нужно вставить такой текст в мой латексный документ:

((((тетрамеристовой, pellicieraceae), маркгравиевый), бальзаминовый), (fouquieriaceae, синюховый, сладениевый, (ternstroemia, adinandra) пентафилаксовая, (Schima, Gordonia) Theaceae, (lissocarpa, Diospyros) эбеновая, симплоковый, (maesaceae , (теофрастовый, (Primulaceae, (Myrsine, ardisia) мирсиновый))), (диапенсиевый, (parastyrax, стиракс) стираксовый), Sapotaceae, (barringtonia, Густавие) Lecythidaceae, (((Ericaceae, цирилловый), (purdiaea, клетр) клетровые), (саррацениевые, ((актинидия, saurauia) актинидиевые, roridulaceae))))) Ericales;

Латекс записывает весь текст в одну строку, уходя далеко в правом поле. Я не могу использовать \ linebreak вручную, это только дает плохой результат, когда текст длиннее, и было бы много работы, учитывая весь подобный текст для включения.

Есть идеи?

Спасибо!

Ответы [ 5 ]

7 голосов
/ 06 июня 2009

В вашем вопросе отсутствует определение желаемого результата, поэтому я просто попытаюсь угадать.

Самая простая идея: просто добавьте пробелы после каждой запятой.

6 голосов
/ 06 июня 2009

Вы можете добавить в текст подсказки переноса: если вы вставите в слово \- (например, non\-breaking), LaTeX будет ломаться только в этой позиции, но при необходимости будет ломаться в этих позициях. Вы получите дефис в позиции взлома, хотя. Другим возможным вариантом может быть использование пакета hyphenat и определение запятой в качестве символа переноса. Поскольку я никогда не использовал этот пакет сам, я могу ошибаться здесь.

2 голосов
/ 06 июня 2009

Я не пробовал, но, похоже, пакет newicktree может вас заинтересовать. Статья PHY · FI: быстрое и простое онлайновое создание и манипуляции с цветными фигурами филогении и связанный с ним веб-инструмент также кажутся полезными.


РЕДАКТИРОВАТЬ : Я нашел способ более или менее выполнить то, что вы хотите, используя пакет так, чтобы он почти наверняка не был предназначен. Вот код LaTeX:

\documentclass{article}
\usepackage{url}
\begin{document}
\url{((((tetrameristaceae,pellicieraceae),marcgraviaceae),balsaminaceae),(fouquieriaceae,polemoniaceae,sladeniaceae,(ternstroemia,adinandra)pentaphylacaceae,(schima,gordonia)theaceae,(lissocarpa,diospyros)ebenaceae,symplocaceae,(maesaceae,(theophrastaceae,(primulaceae,(myrsine,ardisia)myrsinaceae))),(diapensiaceae,(parastyrax,styrax)styracaceae),sapotaceae,(barringtonia,gustavia)lecythidaceae,(((ericaceae,cyrillaceae),(purdiaea,clethra)clethraceae),(sarraceniaceae,((actinidia,saurauia)actinidiaceae,roridulaceae)))))ericales;}
\end{document}

Вот результат: ИЗОБРАЖЕНИЕ http://img230.imageshack.us/img230/4705/newick.png

1 голос
/ 06 июня 2009

Вот быстрое решение, которое проходит часть пути (насколько я могу судить). Это не требует каких-либо изменений в разметке, но позволяет вам вставлять лишние пробелы, если вам нравится автоматически.

\documentclass{article}
\begin{document}
\newcommand\comma{,}
\newcommand\openbrace{(}
\newcommand\closebrace{)}
\begingroup
\catcode`\,=\active
\catcode`\(=\active
\catcode`\)=\active
\gdef\weird{%
  \begingroup
  \catcode`\,=\active
  \catcode`\(=\active
  \catcode`\)=\active
  \def,{\comma\allowbreak}%
  \def({\openbrace\allowbreak}%
  \def){\closebrace\allowbreak}%
  \processweird
}
\endgroup
\newcommand\processweird[1]{#1\endgroup}
\weird{((((tetrameristaceae,pellicieraceae),marcgraviaceae),balsaminaceae),(fouquieriaceae,polemoniaceae,sladeniaceae,(ternstroemia,adinandra)pentaphylacaceae,(schima,gordonia)theaceae,(lissocarpa,diospyros)ebenaceae,symplocaceae,(maesaceae,(theophrastaceae,(primulaceae,(myrsine,ardisia)myrsinaceae))),(diapensiaceae,(parastyrax,styrax)styracaceae),sapotaceae,(barringtonia,gustavia)lecythidaceae,(((ericaceae,cyrillaceae),(purdiaea,clethra)clethraceae),(sarraceniaceae,((actinidia,saurauia)actinidiaceae,roridulaceae)))))ericales;}
\end{document}
0 голосов
/ 06 июня 2009

Насколько я знаю, вы можете поместить пробел между узлами и иметь обычные разрывы строк. Вы также можете ввести дополнительные переносы (с дефисом), вставив в слова \-.

Если вы (или тот, кто должен одобрить вашу работу) настаивает на произвольных перерывах, возможно, вы можете использовать пакет seqsplit .

...