2

I need to insert text like this in my Latex document:

((((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;

Latex writes the all text in one line, going way off in the right margin. I cannot use \linebreak by hand, this just gives a poor result when the text is longer, and it would be a lot of work given all the similar text to include.

Any idea?

Thanks!

4

5 回答 5

7

您的问题缺乏对预期结果的定义,所以我只是尝试猜测。

最简单的想法:只需在每个逗号后添加空格。

于 2009-06-05T22:03:50.083 回答
6

您可以在文本中添加连字符提示:如果您\-输入一个单词(例如non\-breaking),LaTeX 只会在这些位置中断,但如果需要,会在这些位置中断。不过,您会在中断位置得到一个连字符。另一种可能的选择可能是使用连字符包并将逗号定义为连字符。由于我自己从未使用过该软件包,因此我可能在这里错了。

于 2009-06-05T22:03:55.743 回答
3

我还没有尝试过,但看起来你可能会对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

于 2009-06-06T02:25:24.517 回答
1

这是一个快速解决方案,可以部分实现(据我所知)。它不需要对标记进行任何更改,但如果您愿意,可以自动插入额外的空格。

\documentclass{文章}
\开始{文档}
\新命令\逗号{,}
\newcommand\openbrace{(}
\newcommand\closebrace{)}
开始组
\catcode`\,=\active
\catcode`\(=\active
\catcode`\)=\活动
\gdef\奇怪{%
  开始组
  \catcode`\,=\active
  \catcode`\(=\active
  \catcode`\)=\活动
  \def,{\逗号\allowbreak}%
  \def({\openbrace\allowbreak}%
  \def){\closebrace\allowbreak}%
  \过程怪异
}
\端组
\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;}
\结束{文档}
于 2009-06-06T05:43:56.030 回答
0

据我所知,您可以在节点之间放置空格并使用通常的换行符。\-您还可以通过插入单词 来引入可选的连字符(带有连字符) 。

如果您(或任何必须批准您的工作的人)坚持任意休息,也许您可​​以使用seqsplit包。

于 2009-06-06T06:15:20.010 回答