From c82b92066cc45a3864970e24ba8e7cd6b60ddf4b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 18 Jun 2024 03:02:32 +0000 Subject: CTAN sync 202406180302 --- .../biblatex-contrib/biblatex-publist/README | 6 +- .../biblatex-publist/biblatex-publist.pdf | Bin 412844 -> 414056 bytes .../biblatex-publist/biblatex-publist.tex | 34 +- .../biblatex-contrib/biblatex-publist/publist.bbx | 43 +- .../biblatex-contrib/biblatex-publist/publist.cbx | 4 +- .../biblatex-contrib/biblatex-publist/publist.dbx | 2 +- macros/latex/required/latexbug/changes.txt | 7 + macros/latex/required/latexbug/latexbug.dtx | 57 +- macros/latex/required/latexbug/latexbug.pdf | Bin 224606 -> 225573 bytes macros/luatex/latex/pgfmolbio/README | 17 +- macros/luatex/latex/pgfmolbio/pgfmolbio-doc.pdf | Bin 0 -> 858436 bytes macros/luatex/latex/pgfmolbio/pgfmolbio.dtx | 572 ++++++++++----------- macros/luatex/latex/pgfmolbio/pgfmolbio.ins | 34 +- macros/luatex/latex/pgfmolbio/pgfmolbio.pdf | Bin 852998 -> 0 bytes 14 files changed, 441 insertions(+), 335 deletions(-) create mode 100644 macros/luatex/latex/pgfmolbio/pgfmolbio-doc.pdf delete mode 100644 macros/luatex/latex/pgfmolbio/pgfmolbio.pdf (limited to 'macros') diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README index 3cebed7b7b..8d8b26f969 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README @@ -46,7 +46,11 @@ instructions. == CHANGES == -* V. 2.9 (2025-05-09): +* V. 2.10 (2024-06-17): + - Add bibchecks to show only/no peer-reviewed items. + - Fix bibchecks to work with braced and non-braced values. + +* V. 2.9 (2024-05-09): - Add bibchecks to exclude (specific kinds of) unpublished work. * V. 2.8 (2024-03-08): diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf index fb8333ecf7..a7dfe989e1 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex index aa64fc9861..788f3e6df0 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex @@ -115,7 +115,7 @@ \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}% } -\date{Version 2.9, 2025/05/09} +\date{Version 2.10, 2024/06/17} \maketitle \begin{abstract} @@ -840,6 +840,8 @@ Note that the \jfcsmacro{printbibliography} option \section{Filtering\label{sec:filtering}} +\subsection{Filter out own work} + If you have a bibliographic database consisting not only of your own publications, you can extract yours with the bibliography filter \joption{mine}, which has to be passed to \jfcsmacro{printbibliography}, as in: @@ -862,13 +864,16 @@ entries of diverse type and authors, specify: Note that this method sometimes requires several reruns of \texttt{latex} to fix the numbering. +\subsection{Filter on publication or peer-review status}\label{sec:filterbc} + Sometimes you might also want to omit some publications from the list which are not yet published or not yet accepted (e.g., because they are under blind review and you do not want to reveal your identity yet). To this end, \bpl\ features some \joption{bibchecks} (for the concept, please refer to \cite[sec.~3.8.2]{bibltx}). Bibchecks can be activated -by passing \joption{check=} to the optional argument of \jfcsmacro{printbibliography}. +by passing \joption{check=} to the optional argument of \jfcsmacro{printbibliography} +(see example~\ref{bibcheckex}). -The following bibchecks are available: +The following bibchecks are available to this end: \begin{itemize} \item \joption{nosubmitted}: omits all entries with pubstate \joption{submitted}. \item \joption{noprepared}: omits all entries with pubstate \joption{inpreparation}. @@ -879,8 +884,18 @@ The following bibchecks are available: (and thus accepted) entries. \end{itemize} % +The bibchecks below let you filter out publications depending on their peer-review +setting. This is helpful if you want to differentiate peer-reviewed from non-peer-reviewed +work in your publication list: +\begin{itemize} + \item \joption{onlypr}: include only peer-reviewed entries (displays only titles which have + the \texttt{peerreview} field set and do not have it set to \texttt{no}). + \item \joption{nopr}: exclude peer-reviewed entries (omits all entries which have the + \texttt{peerreview} field set, except for those which have it set to \texttt{no}). +\end{itemize} +% Several of these bibchecks might be used in a row, e.g.: -\begin{lstlisting}[moretexcs={[1]{printbibliography}}] +\begin{lstlisting}[moretexcs={[1]{printbibliography}},caption={Using bibchecks},label={bibcheckex}] \printbibliography[heading=none,filter=mine,check=nosubmitted,check=noprepared] \end{lstlisting} @@ -964,10 +979,17 @@ until further change). \section{Revision Log} \begin{description} - \item [{V. 2.9 (2025/05/09):}]~ + \item [{V. 2.10 (2024/06/17):}]~ + \begin{itemize} + \item Add bibchecks to show only/no peer-reviewed items + (see sec.~\ref{sec:filterbc}). + \item Fix bibchecks to work with braced and non-braced values. + \end{itemize} + + \item [{V. 2.9 (2024/05/09):}]~ \begin{itemize} \item Add bibchecks to exclude (specific kinds of) unpublished work - (see sec.~\ref{sec:filtering}). + (see sec.~\ref{sec:filterbc}). \end{itemize} \item [{V. 2.8 (2024/03/08):}]~ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx index c7d385b452..074acd5394 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx @@ -25,8 +25,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{2.9} -\def\bpl@rdate{2025/05/09} +\def\bpl@version{2.10} +\def\bpl@rdate{2024/06/17} \ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space biblatex bibliography style (JSP)] @@ -1112,21 +1112,25 @@ % from publist \defbibcheck{nosubmitted}{% \edef\tmpps{\bibstring{submitted}}% - \iffieldequals{pubstate}{\tmpps}{\skipentry}{}% + \iffieldequals{pubstate}{\tmpps}{\skipentry}{% + \iffieldequalstr{pubstate}{submitted}{\skipentry}{}}% } % check to exclude work in preparation % from publist \defbibcheck{noprepared}{% \edef\tmpps{\bibstring{inpreparation}}% - \iffieldequals{pubstate}{\tmpps}{\skipentry}{}% + \iffieldequals{pubstate}{\tmpps}{\skipentry}{% + \iffieldequalstr{pubstate}{inpreparation}{\skipentry}{}}% } % check to exclude all work which is not (pre-)published \defbibcheck{onlypublished}{% \iffieldundef{pubstate}{}{% \edef\tmpps{\bibstring{prepublished}}% - \iffieldequals{pubstate}{\tmpps}{}{\skipentry}% + \iffieldequals{pubstate}{\tmpps}{% + \iffieldequalstr{pubstate}{prepublished}{}{\skipentry}% + }{\skipentry}% }% } @@ -1137,11 +1141,36 @@ \edef\tmppss{\bibstring{forthcoming}}% \iffieldequals{pubstate}{\tmpps}{}{% \iffieldequals{pubstate}{\tmppss}{}{% - \skipentry}% - }% + \iffieldequalstr{pubstate}{prepublished}{}{% + \iffieldequalstr{pubstate}{forthcoming}{}{% + \skipentry}% + }% + }% + }% }% } +% check to exclude all work which is not peer-reviewed +\defbibcheck{onlypr}{% + \iffieldundef{peerreview}{\skipentry}{% + \edef\tmppr{\bibstring{no}}% + \iffieldequals{peerreview}{\tmpps}{\skipentry}{% + \iffieldequalstr{peerreview}{no}{\skipentry}{}% + }% + }% +} + +% check to exclude all work which *is* peer-reviewed +\defbibcheck{nopr}{% + \iffieldundef{peerreview}{}{% + \edef\tmppr{\bibstring{no}}% + \iffieldequals{peerreview}{\tmpps}{}{% + \iffieldequalstr{peerreview}{no}{}{\skipentry} + }% + }% +} + + % % Count non-plauthors diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx index bfc159a131..78d144e32b 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx @@ -26,8 +26,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{2.9} -\def\bpl@rdate{2025/05/09} +\def\bpl@version{2.10} +\def\bpl@rdate{2024/06/17} \ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space biblatex citation style (JSP)] diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx index d43f60a465..874cb3c801 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx @@ -1,5 +1,5 @@ % publist.dbx, biblatex data model specification for the biblatex-publist -% package, version 2.9 (2025/05/09). +% package, version 2.10 (2024/06/17). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/required/latexbug/changes.txt b/macros/latex/required/latexbug/changes.txt index a962efc75a..034f3d7fe5 100644 --- a/macros/latex/required/latexbug/changes.txt +++ b/macros/latex/required/latexbug/changes.txt @@ -1,3 +1,10 @@ +2024-06-17 Frank Mittelbach + + * latexbug.dtx: + Add tagging project files; + Mark fontspec and unicode-math as "us" + Add a few other packages supported by team members + 2022-06-14 Frank Mittelbach * latexbug.dtx: diff --git a/macros/latex/required/latexbug/latexbug.dtx b/macros/latex/required/latexbug/latexbug.dtx index 93532a52e8..da0a7c995c 100644 --- a/macros/latex/required/latexbug/latexbug.dtx +++ b/macros/latex/required/latexbug/latexbug.dtx @@ -2,7 +2,7 @@ % % Package latexbug for use with LaTeX2e % -% Copyright 2016-2022 +% Copyright 2016-2024 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -267,7 +267,7 @@ % \begin{macrocode} %<*package> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{latexbug}[2022/06/14 v1.0n Bug-classification] +\ProvidesPackage{latexbug}[2024/06/17 v1.0o Bug-classification] % \end{macrocode} % % \begin{macro}{\latexbug@empty} @@ -345,6 +345,7 @@ %--------------------------------- latexbug.sty = us , regression-test = us , +regression-test.tex = us , %--------------------------------- base alltt.sty = us , ansinew.def = us , @@ -1598,14 +1599,46 @@ l3str-enc-iso88597.def = us* , l3str-enc-iso88598.def = us* , l3str-enc-iso88599.def = us* , xcoffins.sty = us* , -xfrac.sty = us* , xgalley.sty = us* , xparse.sty = us* , xtemplate.sty = us* , %--------------------------------- TAGGING PROJECT pdfmanagement-testphase.sty = us* - \Contact https://github.com/latex3/pdfresources/issues + \Contact https://github.com/latex3/tagging-project/issues , +tagpdf.sty = us* + \Contact https://github.com/latex3/tagging-project/issues , +documentmetadata-support.ltx = us* + \Contact https://github.com/latex3/tagging-project/issues , +l3backend-testphase-luatex.def = ignore , +l3backend-testphase-pdftex.def = ignore , +l3backend-testphase-xetex.def = ignore , +latex-lab-amsmath.ltx = ignore , +latex-lab-footnotes.ltx = ignore , +latex-lab-math.ltx = ignore , +latex-lab-mathpkg.ltx = ignore , +latex-lab-mathtools.ltx = ignore , +latex-lab-testphase-bib.sty = ignore , +latex-lab-testphase-block.sty = ignore , +latex-lab-testphase-float.sty = ignore , +latex-lab-testphase-graphic.sty = ignore , +latex-lab-testphase-marginpar.sty = ignore , +latex-lab-testphase-math.sty = ignore , +latex-lab-testphase-minipage.sty = ignore , +latex-lab-testphase-new-or-1.sty = ignore , +latex-lab-testphase-new-or-2.sty = ignore , +latex-lab-testphase-sec.sty = ignore , +latex-lab-testphase-table.sty = ignore , +latex-lab-testphase-text.sty = ignore , +latex-lab-testphase-title.sty = ignore , +latex-lab-testphase-toc.sty = ignore , +math-latex-lab-testphase.ltx = ignore , +pdfmanagement-firstaid.sty = ignore , pdfmanagement-testphase.ltx = ignore , +phase-II-latex-lab-testphase.ltx = ignore , +phase-III-latex-lab-testphase.ltx = ignore , +table-latex-lab-testphase.ltx = ignore , +tagpdf-luatex.def = ignore , +title-latex-lab-testphase.ltx = ignore , %--------------------------------- EXTERNAL PACKAGES SUPPORTED BY THE LaTeX Team hluatex.def = ignore , hpdftex.def = ignore , @@ -1619,23 +1652,33 @@ pd1enc.def = ignore , puenc.def = ignore , xcolor.sty = us* \Contact https://github.com/latex3/xcolor/issues , -%--------------------------------- PACKAGES BY MEMBERS OF THE LaTeX Team +%--------------------------------- PACKAGES BY MEMBERS OF THE LaTeX Team with their own repos beamer.cls = Joseph Wright \Contact https://github.com/josephwright/beamer/issues , dashundergaps.sty = Frank Mittelbach \Contact https://github.com/FrankMittelbach/fmitex-dashundergaps/issues , +parnotes.sty = Frank Mittelbach + \Contact https://github.com/FrankMittelbach/fmitex-parnotes , fewerfloatpages.sty = Frank Mittelbach \Contact https://github.com/FrankMittelbach/fmitex-fewerfloatpages , -fontspec.sty = Will Robertson - \Contact https://github.com/wspr/fontspec/issues , +fontspec.sty = us* + \Contact https://github.com/latex3/fontspec/issues , +footmisc.sty = Frank Mittelbach + \Contact https://github.com/FrankMittelbach/fmitex-footmisc , luatex85.sty = Joseph Wright \Contact https://github.com/josephwright/luatex85/issues , parskip.sty = Frank Mittelbach \Contact https://github.com/FrankMittelbach/fmitex-parskip/issues , siunitx.sty = Joseph Wright \Contact https://github.com/josephwright/siunitx/issues , +unicodefonttable.sty = Frank Mittelbach + \Contact https://github.com/FrankMittelbach/fmitex-unicodefonttable , +unicode-math.sty = us* + \Contact https://github.com/latex3/unicode-math/issues , widows-and-orphans.sty = Frank Mittelbach \Contact https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues , +xfrac.sty = us* + \Contact https://github.com/latex3/xfrac/issues , %--------------------------------- USEFUL FOR BUG REPORTS blindtext.sty = ignore , etoolbox.sty = ignore , diff --git a/macros/latex/required/latexbug/latexbug.pdf b/macros/latex/required/latexbug/latexbug.pdf index e6dd7b9adc..7d71a756db 100644 Binary files a/macros/latex/required/latexbug/latexbug.pdf and b/macros/latex/required/latexbug/latexbug.pdf differ diff --git a/macros/luatex/latex/pgfmolbio/README b/macros/luatex/latex/pgfmolbio/README index 291e363151..013d0a4b0f 100644 --- a/macros/luatex/latex/pgfmolbio/README +++ b/macros/luatex/latex/pgfmolbio/README @@ -1,18 +1,21 @@ -The pgfmolbio package v0.21 +The pgfmolbio package v0.21a ------------------------------------------------------------------------------ This package is released under the LaTeX Project Public License v1.3c or later -(see http://www.latex-project.org/lppl.txt). +(see https://www.latex-project.org/lppl.txt). -The experimental package pgfmolbio draws graphs typically found in +The package pgfmolbio draws graphs typically found in molecular biology texts. Currently, the package contains modules for drawing DNA sequencing chromatograms and protein domain diagrams. -The package requires pgf/TikZ (http://tug.ctan.org/pkg/pgf) -and LuaTeX (http://www.luatex.org). +The package requires pgf/TikZ (https://ctan.org/pkg/pgf) +and LuaTeX (https://www.luatex.org). Installation: Run pgfmolbio.ins through LaTeX and follow the instructions. +This package is unmaintained. If you want to volunteer to take over +the maintenance, contact me at https://wolfgang.esser-skala.at/contact/ . + -- -Wolfgang Skala -August 1st, 2013 +Wolfgang Esser-Skala +2024-06-17 diff --git a/macros/luatex/latex/pgfmolbio/pgfmolbio-doc.pdf b/macros/luatex/latex/pgfmolbio/pgfmolbio-doc.pdf new file mode 100644 index 0000000000..8f0135ae8f Binary files /dev/null and b/macros/luatex/latex/pgfmolbio/pgfmolbio-doc.pdf differ diff --git a/macros/luatex/latex/pgfmolbio/pgfmolbio.dtx b/macros/luatex/latex/pgfmolbio/pgfmolbio.dtx index eb4fc31525..32bd63e1dd 100644 --- a/macros/luatex/latex/pgfmolbio/pgfmolbio.dtx +++ b/macros/luatex/latex/pgfmolbio/pgfmolbio.dtx @@ -1,26 +1,26 @@ % \iffalse meta-comment % -% Copyright (C) 2013 by Wolfgang Skala +% Copyright (C) 2024 by Wolfgang Esser-Skala % % This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 +% conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2005/12/01 or later. +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. % % \fi % % \iffalse -%\ProvidesPackage{pgfmolbio}[2013/08/01 v0.21 Molecular biology graphs with TikZ] +%\ProvidesPackage{pgfmolbio}[2024/06/17 v0.21a Molecular biology graphs with TikZ] %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %module("pgfmolbio", package.seeall) -%\ProvidesFile{pgfmolbio.chromatogram.tex}[2013/08/01 v0.21 SCF chromatograms] +%\ProvidesFile{pgfmolbio.chromatogram.tex}[2024/06/17 v0.21a SCF chromatograms] %module("pgfmolbio.chromatogram", package.seeall) -%\ProvidesFile{pgfmolbio.domains.tex}[2013/08/01 v0.21 Protein domains] +%\ProvidesFile{pgfmolbio.domains.tex}[2024/06/17 v0.21a Protein domains] %module("pgfmolbio.domains", package.seeall) -%\ProvidesFile{pgfmolbio.convert.tex}[2013/08/01 v0.21 pgfmolbio graph conversion] +%\ProvidesFile{pgfmolbio.convert.tex}[2024/06/17 v0.21a pgfmolbio graph conversion] % %<*driver> \documentclass[captions=tableheading,cleardoublepage=empty,titlepage=false]{scrreprt} @@ -248,7 +248,7 @@ % % \fi % -% +% % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -270,10 +270,10 @@ % \GetFileInfo{pgfmolbio.sty} % % \CheckSum{1254} -% +% % \pagenumbering{roman} % \title{The \texttt{pgfmolbio} package --\texorpdfstring{\\}{}Molecular Biology Graphs with \TikZ\texorpdfstring{\footnote{This document describes version \fileversion, dated \filedate.}}{}} -% \author{\texorpdfstring{Wolfgang Skala\thanks{Division of Structural Biology, Department of Molecular Biology, University of Salzburg, Austria; \texttt{Wolfgang.Skala@stud.sbg.ac.at}}}{Wolfgang Skala}} +% \author{\texorpdfstring{Wolfgang Esser-Skala\thanks{Computational Systems Biology Group, Department of Biosciences and Medical Biology, University of Salzburg, Austria; \texttt{Wolfgang.Esser-Skala@plus.ac.at}}}{Wolfgang Esser-Skala}} % \date{\filedate} % \maketitle % @@ -287,58 +287,58 @@ % \chapter{Introduction} % \label{cha:Introduction} % \pagenumbering{arabic} -% -% +% +% % \section{About \texorpdfstring{\pkg{pgfmolbio}}{pgfmolbio}} % \label{sec:IntroAbout} -% -% Over the decades, \TeX\ has gained popularity across a large number of disciplines. Although originally designed as a mere typesetting system, packages such as \pkg{pgf}\footnote{Tantau, T. (2010). The \TikZ\ and \textsc{pgf} packages. \url{http://ctan.org/tex-archive/graphics/pgf/}.} and \pkg{pstricks}\footnote{van Zandt, T., Niepraschk, R., and Voß, H. (2007). PSTricks: PostScript macros for Generic \TeX. \url{http://ctan.org/tex-archive/graphics/pstricks}.} have strongly extended its \textit{drawing} abilities. Thus, one can create complicated charts that perfectly integrate with the text. -% -% Texts on molecular biology include a range of special graphs, e.\,g. multiple sequence alignments, membrane protein topologies, DNA sequencing chromatograms, protein domain diagrams, plasmid maps and others. The \pkg{texshade}\footnote{Beitz, E. (2000). \TeX shade: shading and labeling multiple sequence alignments using \LaTeXe. \textit{Bioinformatics}~\textbf{16}(2), 135--139.\\\url{http://ctan.org/tex-archive/macros/latex/contrib/texshade}.} and \pkg{textopo}\footnote{Beitz, E. (2000). \TeX topo: shaded membrane protein topology plots in \LaTeXe. \textit{Bioinformatics} \textbf{16}(11), 1050--1051.\\\url{http://ctan.org/tex-archive/macros/latex/contrib/textopo}.} packages cover alignments and topologies, respectively, but packages dedicated to the remaining graphs are absent. Admittedly, one may create those images with various external programs and then include them in the \TeX\ document. Nevertheless, purists (like the author of this document) might prefer a \TeX-based approach. -% +% +% Over the decades, \TeX\ has gained popularity across a large number of disciplines. Although originally designed as a mere typesetting system, packages such as \pkg{pgf}\footnote{\url{https://ctan.org/pkg/pgf}} and \pkg{pstricks}\footnote{\url{https://ctan.org/pkg/pstricks}} have strongly extended its \textit{drawing} abilities. Thus, one can create complicated charts that perfectly integrate with the text. +% +% Texts on molecular biology include a range of special graphs, e.\,g. multiple sequence alignments, membrane protein topologies, DNA sequencing chromatograms, protein domain diagrams, plasmid maps and others. The \pkg{texshade}\footnote{\url{https://ctan.org/pkg/texshade}} and \pkg{textopo}\footnote{\url{https://ctan.org/pkg/textopo}} packages cover alignments and topologies, respectively, but packages dedicated to the remaining graphs are absent. Admittedly, one may create those images with various external programs and then include them in the \TeX\ document. Nevertheless, purists (like the author of this document) might prefer a \TeX-based approach. +% % The \pkg{pgfmolbio} package aims at becoming such a purist solution. In the current development release, \pkg{pgfmolbio} is able to % \begin{itemize} % \item read DNA sequencing files in standard chromatogram format (\file{scf}) and draw the corresponding chromatogram; % \item read protein domain information from Uniprot or general feature format files (\file{gff}) and draw domain diagrams. % \end{itemize} % To this end, \pkg{pgfmolbio} relies on routines from \pkg{pgf}'s \TikZ\ frontend and on the Lua scripting language implemented in Lua\TeX. Consequently, the package will not work directly with traditional engines like pdf\TeX. However, a converter module ensures a high degree of backward compatibility. -% +% % Since this is a development release, \pkg{pgfmolbio} presumably includes a number of bugs, and its commands and features are likely to change in future versions. Moreover, the current version is far from complete, but since time is scarce, I am unable to predict when (and if) additional functions become available. Nevertheless, I would greatly appreciate any comments or suggestions. -% -% +% +% % \section{Getting Started} % \label{sec:IntroGettingStarted} -% +% % Before you consider using \pkg{pgfmolbio}, please make sure that both your Lua\TeX\ (at least 0.70.2) and \pkg{pgf} (at least 2.10) installations are up-to-date. Once your \TeX\ system meets these requirements, just load \pkg{pgfmolbio} as usual, i.\,e. by -% +% % \DescribeMacro\usepackage[]{pgfmolbio} -% +% % The package is divided into \textit{modules}, each of which produces a certain type of graph. Currently, three \ometa{module}s are available: % \begin{itemize} % \item \module{chromatogram} (chapter~\ref{cha:Chromatogram}) allows you to draw DNA sequencing chromatograms obtained by the Sanger sequencing method. % \item \module{domains} (chapter~\ref{cha:Domains}) provides macros for drawing protein domain diagrams and is also able to read domain information from files in Uniprot or general feature format. % \item Furthermore, \module{convert} (chapter~\ref{cha:Convert}) is used with one of the modules above and generates ``pure'' \TikZ\ code suitable for \TeX\ engines lacking Lua support. % \end{itemize} -% +% % \DescribeMacro\pgfmolbioset[]{} % Fine-tunes the graphs produced by each \pkg{pgfmolbio} module. The possible keys are described in the sections on the respective modules. % % % -% +% % \chapter{The \texorpdfstring{\module{chromatogram}}{chromatogram} module} % \label{cha:Chromatogram} -% -% +% +% % \section{Overview} % \label{sec:ChrOverview} -% -% The \module{chromatogram} module draws DNA sequencing chromatograms stored in standard chromatogram format (\file{scf}), which was developed by Simon Dear and Rodger Staden\footnote{Dear, S. and Staden, R. (1992). A standard file format for data from DNA sequencing instruments. \textit{DNA Seq.} \textbf{3}(2), 107--110.}. The documentation for the Staden package\footnote{\url{http://staden.sourceforge.net/}} describes the current version of the \file{scf} format in detail. As far as they are crucial to understanding the Lua code, we will discuss some details of this file format in the documented source code (section~\ref{sec:DocChrLua}). Note that \pkg{pgfmolbio} only supports \file{scf} version 3.00. -% -% +% +% The \module{chromatogram} module draws DNA sequencing chromatograms stored in standard chromatogram format (\file{scf}), which was developed by Simon Dear and Rodger Staden\footnote{Dear, S. and Staden, R. (1992). A standard file format for data from DNA sequencing instruments. \textit{DNA Seq.} \textbf{3}(2), 107--110.}. The documentation for the Staden package\footnote{\url{https://staden.sourceforge.net/}} describes the current version of the \file{scf} format in detail. As far as they are crucial to understanding the Lua code, we will discuss some details of this file format in the documented source code (section~\ref{sec:DocChrLua}). Note that \pkg{pgfmolbio} only supports \file{scf} version 3.00. +% +% % \section{Drawing Chromatograms} % \label{sec:ChrDrawingChromatograms} -% +% % \DescribeMacro\pmbchromatogram[]{} % The \module{chromatogram} module defines a single command, which reads a chromatogram from an \meta{scf file} and draws it with routines from \TikZ\ (Example~\ref{exa:ChrTikzpicture}). The options, which are set in the \ometa{key-value list}, configure the appearance of the chromatogram. The following sections will elaborate on the available keys. % \begin{exampletable} @@ -350,13 +350,13 @@ % \end{tikzpicture} % optional % \end{examplecode} % \end{exampletable} -% +% % Although you will often put |\pmbchromatogram| into a |tikzpicture| environment, you may actually use the macro on its own. \pkg{pgfmolbio} checks whether the command is surrounded by a |tikzpicture| and adds this environment if necessary. -% -% +% +% % \section{Displaying Parts of the Chromatogram} % \label{sec:ChrDisplayingParts} -% +% % \DescribeOption{chromatogram/}{sample range}{1-500 step 1}'-'[' step ']\relax % \opt{sample range} selects the part of the chromatogram which \pkg{pgfmolbio} should display. The value for this key consists of two or three parts, separated by the keywords |-| and |step|. The package will draw the chromatogram data between the \meta{lower} and \meta{upper} boundary. There are two ways of specifying these limits: % \begin{enumerate} @@ -371,7 +371,7 @@ % \item If you enter the keyword |base| followed by an optional space and a number, the chromatogram starts or stops at the peak corresponding to the respective base. The first detected base peak has index 1. Compare Examples~\ref{exa:ChrLimitsSamplePoints} and~\ref{exa:ChrLimitsBases} to see the difference. % \end{enumerate} % The optional third part of the value for \opt{sample range} orders the package to draw every \ometa{int}th sample point. If your document contains large chromatograms or a great number of them, drawing fewer sample points increases typesetting time at the cost of image quality (Example~\ref{exa:ChrSampleStep}). Nevertheless, the key may be especially useful while optimizing the layout of complex chromatograms. -% +% % \begin{exampletable}[p] % \caption{} % \label{exa:ChrLimitsBases} @@ -381,7 +381,7 @@ % ]{SampleScf.scf} % \end{examplecode} % \end{exampletable} -% +% % \begin{exampletable}[p] % \caption{} % \label{exa:ChrSampleStep} @@ -402,11 +402,11 @@ % ]{SampleScf.scf} % \end{examplecode} % \end{exampletable} -% -% +% +% % \section{General Layout} % \label{sec:ChrGeneralLayout} -% +% % \DescribeOption{chromatogram/}{x unit}{0.2mm} % \DescribeOption{chromatogram/}{y unit}{0.01mm} % These keys set the horizontal distance between two consecutive sample points and the vertical distance between two fluorescence intensity values, respectively. Example~\ref{exa:Chrxyunit} illustrates how you can enlarge a chromatogram twofold by doubling these values. @@ -443,7 +443,7 @@ % \end{tikzpicture} % \end{examplecode} % \end{exampletable} -% +% % \DescribeOption[/.style=]{chromatogram/}{canvas style}{draw=none, fill=none}