ComdTeX

Diagramas y dibujos

ComdTeX trae los diagramas adentro del editor: bloques ::: que se escriben como texto, se numeran solos y se renderizan en la vista previa. Desde la versión 1.21 también llegan renderizados a tus exportes: el PDF muestra el diagrama, no su código.

Los bloques visuales

BloqueSintaxisQué renderiza
Flujo:::flowchartDiagramas Mermaid (flujos, secuencias)
Grafo:::graphGraphviz/DOT
Gráfica:::plotFunciones matemáticas en SVG
Diagrama conmutativo:::commdiagEstilo tikz-cd
Tabla de verdad:::truthEvaluada y tabulada automáticamente
Dibujo:::excalidrawUn editor de dibujo a mano alzada, local, incluido
Pseudocódigo:::pseudocodeAlgoritmo numerado
Secuencia:::seqADN, ARN o proteína en grupos numerados

Cada bloque acepta un nombre opcional y se numera por tipo, como los teoremas:

:::graph[Dependencias]
a -> b
b -> c
:::

:::truth[Contrapositiva]
p implies q
(not q) implies (not p)
:::

Excalidraw, local

El bloque :::excalidraw abre un editor de dibujo a mano alzada completo dentro de ComdTeX. El dibujo se guarda como parte de tu archivo (la escena viaja con la nota, sin servicios externos) y se renderiza en la vista previa. Como todo en ComdTeX, funciona sin internet.

Tablas de verdad evaluadas

Escribe expresiones booleanas, una por línea, y ComdTeX genera la tabla completa: variables detectadas, todas las combinaciones, resultado por columna. Operadores: and, or, not, implies, iff.

En los exportes

Desde la versión 1.21, los bloques visuales se rasterizan a imágenes reales en cada camino de exporte:

  • Compilar PDF y la reconstrucción automática al guardar: el PDF muestra los diagramas.
  • Exportar PDF (vía pandoc): igual.
  • Exportar como .tex: las imágenes se guardan junto al archivo (nombre-diag-1.png); si subes a Overleaf, sube el .tex y los PNG juntos.
  • Las tablas de verdad se exportan como tablas reales, no como imágenes.
  • El pseudocódigo y los bloques de código se exportan como código, a propósito.

Un límite honesto: el motor LaTeX incluido (WASM) no puede leer archivos de imagen del disco. Un documento con diagramas se compila primero con un motor local (tectonic, xelatex o pdflatex, si alguno está instalado); si no hay ninguno, el motor WASM compila con los diagramas degradados a código con su título, legibles aunque no visuales.

Secuencias biológicas

:::seq muestra secuencias de ADN, ARN y proteínas como las presentan las secciones de métodos. El cuerpo son registros FASTA o líneas de secuencia crudas, opcionalmente precedidos por líneas de opciones:

:::seq[Región del cebador]
type: dna
highlight: 1-6 EcoRI, 13-18 BamHI
motif: GAATTC
revcomp: yes
>seq1 fragmento de ejemplo
GAATTCATGGCCGGATCCAAGCTTGGATCC
:::

La vista previa dispone los residuos en grupos numerados de 10, y muestra la longitud y, para nucleótidos, el contenido de GC, con una leyenda para los resaltados y las coincidencias de motivos. Los caracteres no válidos se reportan en su lugar en vez de dibujarse.

OpciónSignificado
typedna, rna o protein. Se detecta por las letras si falta
highlightRangos separados por comas, cada uno con una etiqueta opcional: 12-31 primer-F. 2:5-9 loop elige el registro 2
motifMotivos separados por comas; se marca cada aparición (sin distinguir mayúsculas)
revcompyes hace que los motivos también coincidan con el complemento inverso (ADN y ARN)
widthResiduos por línea, de 10 a 200 (por defecto 60)
groupResiduos por grupo, hasta 200 (por defecto 10); 0 para no agrupar

Un encabezado FASTA (>nombre descripción) nombra un registro, y un bloque puede contener varios. Un número de posición al inicio de una línea, como en GenBank, se ignora. Un bloque se numera solo como los demás (“Sequence 1”) y acepta un [nombre] opcional.

En la exportación a LaTeX una secuencia es un listado monoespaciado simple, con los rangos resaltados en una leyenda en lugar de color. Las demás exportaciones reciben un bloque de código con la misma agrupación. No existe una referencia @seq:: a diferencia de las figuras y las tablas, un bloque de secuencia no se puede citar por etiqueta.

Guardado seguro

Los bloques visuales se almacenan textualmente en tu .md o .tex: guardar y reabrir nunca los aplana ni los pierde, y el archivo sigue siendo legible en cualquier otro editor.

Diagrams and drawings

ComdTeX brings diagrams inside the editor: ::: blocks written as text, auto-numbered, rendered in the preview. Since version 1.21 they also reach your exports rendered: the PDF shows the diagram, not its source.

The visual blocks

BlockSyntaxWhat it renders
Flowchart:::flowchartMermaid diagrams (flows, sequences)
Graph:::graphGraphviz/DOT
Plot:::plotMathematical functions as SVG
Commutative diagram:::commdiagtikz-cd style
Truth table:::truthEvaluated and tabulated automatically
Drawing:::excalidrawA full freehand drawing editor, local, built in
Pseudocode:::pseudocodeNumbered algorithm
Sequence:::seqDNA, RNA or protein in numbered groups

Every block takes an optional name and numbers itself per type, like theorems:

:::graph[Dependencies]
a -> b
b -> c
:::

:::truth[Contrapositive]
p implies q
(not q) implies (not p)
:::

Excalidraw, local

The :::excalidraw block opens a full freehand drawing editor inside ComdTeX. The drawing is stored as part of your file (the scene travels with the note, no external services) and renders in the preview. Like everything in ComdTeX, it works offline.

Evaluated truth tables

Write boolean expressions, one per line, and ComdTeX generates the whole table: detected variables, every combination, one result column each. Operators: and, or, not, implies, iff.

In exports

Since version 1.21, visual blocks rasterize to real images on every export path:

  • Compile PDF and the automatic rebuild on save: the PDF shows the diagrams.
  • Export PDF (via pandoc): same.
  • Export as .tex: images are saved beside the file (name-diag-1.png); when uploading to Overleaf, upload the .tex and the PNGs together.
  • Truth tables export as real tables, not images.
  • Pseudocode and code blocks export as code, on purpose.

One honest limit: the bundled LaTeX engine (WASM) cannot read image files from disk. A document with diagrams compiles first through a local engine (tectonic, xelatex or pdflatex, if any is installed); with none available, the WASM engine compiles with the diagrams degraded to captioned code, readable even if not visual.

Biological sequences

:::seq shows DNA, RNA and protein sequences the way methods sections do. The body is FASTA records or raw sequence lines, optionally preceded by option lines:

:::seq[Primer region]
type: dna
highlight: 1-6 EcoRI, 13-18 BamHI
motif: GAATTC
revcomp: yes
>seq1 demo fragment
GAATTCATGGCCGGATCCAAGCTTGGATCC
:::

The preview lays the residues out in numbered groups of 10, and shows the length and, for nucleotides, the GC content, with a legend for highlights and motif hits. Invalid characters are reported in place instead of being drawn.

OptionMeaning
typedna, rna or protein. Detected from the letters when absent
highlightRanges, comma separated, each with an optional label: 12-31 primer-F. 2:5-9 loop picks record 2
motifComma separated motifs, every occurrence marked (case-insensitive)
revcompyes makes motifs also match the reverse complement (DNA and RNA)
widthResidues per line, from 10 to 200 (default 60)
groupResidues per group, up to 200 (default 10); 0 for no groups

A FASTA header (>name description) names a record, and a block can hold several. A leading position number on a line, as in GenBank, is ignored. A block numbers itself like the others (“Sequence 1”) and takes an optional [name].

In the LaTeX export a sequence is a plain monospace listing, with the highlighted ranges in a legend instead of color. Other exports get a fenced block with the same grouping. There is no @seq: reference: unlike figures and tables, a sequence block cannot be cited by label.

Safe storage

Visual blocks are stored verbatim in your .md or .tex: saving and reopening never flattens or loses them, and the file stays readable in any other editor.