PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Farbiger Text mit dnaseq



djanna
31-07-2014, 14:04
Ich möchte eine lange Sequenz mit dem Paket dnaseq darstellen. Das klappt soweit auch, allerdings möchte ich bestimmte Abschnitte nicht farbig hinterlegen, sondern mit farbigem Text (wie \textcolor) darstellen.



\documentclass{book}
\usepackage{dnaseq}

\begin{document}

\noindent\begin{minipage}{\textwidth}
\noindent\rule{\textwidth}{.5pt}
\DNA!IENIFPGTPFQRDV'{red}IDCAMPKDIDAARLA'{white}AA WKETVLHTPSLHTPSDGQQDPALASKTLC !
\end{minipage}

\end{document}


Leider kann ich '{red} nicht einfach durch \textcolor{red}{...} ersetzen. Da ich ganz auf den farbigen HIntergrund verzichten kann, bestünde eine Möglichkeit wohl in der Umdefinierung des '{color}-Befehls. Allerdings weiß ich nicht, wie das geht und hoffe auf eure Hilfe.

u_fischer
31-07-2014, 14:26
\documentclass{book}
\usepackage{dnaseq}
\makeatletter
\def\@DNA@thecolor{black}%UF
\def\@DNA#1{%
%% insert a space after \DNAblock bases
\ifnum\count@=\DNAblock\count@=0\ %
\advance\@tempcnta by 1\fi
\def\@DNA@cmp{#1}%
%% check for end of sequence or color shift
\ifx\@DNA@cmp\@DNA@end
\let\next\egroup
\else
\ifx\@DNA@cmp\@DNA@color
\let\next\@DNA@setcolor
\else
\advance\count@ by 1
\advance\@tempcntb by 1
%% line break after calculated number of blocks
\ifnum\@tempcnta=\blocks \\
\hskip\z@\phantom{\DNAreserve}\llap {\the\@tempcntb}\ %
\@tempcnta=0
\fi
%\colorbox{\@DNA@thecolor}{\struty#1}%UF
\mbox{\color{\@DNA@thecolor}\struty#1}%UF
\penalty0\let\next\@DNA
\fi
\fi
\next
}
\makeatother
\begin{document}

\noindent\begin{minipage}{\textwidth}
\noindent\rule{\textwidth}{.5pt}
\DNA!IENIFPGTPFQRDV'{red}IDCAMPKDIDAARLA'{black}AA WKETVLHTPSLHTPSDGQQDPALASKTLC !
\end{minipage}

\end{document}

djanna
31-07-2014, 14:43
Perfekt! Vielen Dank!