KnowledgeBasePro — Guia de Construção de Artigos em Markdown e Expressões Matemáticas LaTeX
Sumário do artigo
Autor: projetoplataforma.com.br
Aplicação: KnowledgeBasePro
Escopo: Article Reader e BookWave Reader
Renderização: Markdown + MathJax/LaTeX
1. Objetivo
Este documento define um padrão editorial e técnico para a criação de artigos no KnowledgeBasePro, utilizando Markdown como linguagem principal de escrita e LaTeX para representação matemática.
O objetivo é permitir que o conteúdo seja:
- tecnicamente correto;
- visualmente consistente;
- legível em desktop e dispositivos móveis;
- compatível com o Article Reader;
- compatível com o BookWave Reader;
- pesquisável pelo mecanismo de busca;
- utilizável pelo mecanismo RAG;
- adequado para artigos técnicos, documentação, cursos, estudos e materiais acadêmicos.
O sistema interpreta dois níveis de conteúdo:
Markdown
↓
Python-Markdown
↓
HTML estruturado
↓
MathJax
↓
Expressões LaTeX renderizadas
Portanto, o texto do artigo continua sendo escrito normalmente em Markdown, enquanto as fórmulas matemáticas são declaradas utilizando sintaxe LaTeX.
2. Estrutura recomendada de um artigo
Um artigo técnico deve possuir hierarquia clara.
Exemplo:
# Título do Artigo
Introdução ao assunto.
## 1. Conceito principal
Explicação.
### 1.1 Subconceito
Detalhamento.
## 2. Funcionamento
Explicação técnica.
## 3. Exemplo prático
Exemplo aplicado.
## 4. Conclusão
Síntese do conteúdo.
## Referências
- Autor, obra, ano.
- Documentação oficial.
Hierarquia recomendada
| Markdown | Uso |
|---|---|
# |
Título principal |
## |
Seção |
### |
Subseção |
#### |
Tópico interno |
##### |
Evitar em excesso |
###### |
Utilizar apenas quando realmente necessário |
Evite criar artigos com vários títulos #.
O ideal é:
# Título do artigo
│
├── ## Seção
│ ├── ### Subseção
│ └── ### Subseção
│
└── ## Seção
```---
# 3. Parágrafos
Um novo parágrafo deve ser separado por uma linha em branco.
Correto:
```markdown
Este é o primeiro parágrafo.
Este é o segundo parágrafo.
```Evite:```markdown
Este é o primeiro parágrafo.
Este é o segundo parágrafo.
quando as ideias deveriam estar separadas semanticamente.
4. Negrito, itálico e destaque
Negrito
**texto importante**
```Resultado:
**texto importante**
## Itálico
```markdown
*termo técnico*
```Resultado:
*termo técnico*
## Negrito e itálico
```markdown
***conceito muito importante***
```Resultado:
***conceito muito importante***
---
# 5. Código inline
Para comandos, nomes de arquivos, funções, variáveis e termos de programação utilize crases simples.
```markdown
Utilize o comando `docker compose ps`.
```Resultado:
Utilize o comando `docker compose ps`.
Outro exemplo:
```markdown
A variável `DATABASE_URL` é utilizada pelo SQLAlchemy.
```---
# 6. Blocos de código
Utilize três crases e informe a linguagem.
Exemplo:
````markdown
```python
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "KnowledgeBasePro"
## Linguagens comuns
```text
python
javascript
html
css
sql
bash
shell
powershell
yaml
json
dockerfile
php
java
c
cpp
```
Exemplo SQL:
````markdown
```sql
SELECT
id,
title,
category
FROM article
ORDER BY title;
```
Exemplo Docker:
```yaml
services:
redis:
image: redis:7-alpine
```
Não utilize fórmulas LaTeX dentro de blocos de código quando a intenção for renderizá-las matematicamente. Dentro de um bloco de código, o conteúdo é tratado como código literal.
7. Listas
Lista simples
- Processador
- Memória RAM
- Armazenamento
- Sistema Operacional
Lista numerada
1. Receber o dado
2. Processar
3. Armazenar
4. Apresentar o resultado
Lista hierárquica
- Hardware
- CPU
- RAM
- SSD
- Software
- Sistema Operacional
- Aplicações
```---
# 8. Citações
Utilize `>`.
```markdown
> Um sistema computacional é formado pela interação entre hardware, software e dados.
```Resultado:
> Um sistema computacional é formado pela interação entre hardware, software e dados.
---
# 9. Links
Sintaxe:
```markdown
[Texto do link](https://exemplo.com)
```Exemplo:```markdown
[Projeto Plataforma](https://projetoplataforma.com.br)
Links externos podem ser abertos em nova aba pelo Article Reader.
10. Imagens
Sintaxe:

```Exemplo:```markdown

Também é possível adicionar título:

No leitor, esse título pode ser utilizado como legenda.
Boas práticas para imagens
Sempre utilize texto alternativo significativo.
Evite:

```Prefira:```markdown

Isso melhora:
- acessibilidade;
- SEO;
- compreensão;
- manutenção editorial.
11. Tabelas
Exemplo:
| Componente | Função | Exemplo |
|---|---|---|
| CPU | Processamento | Intel Core |
| RAM | Memória volátil | DDR5 |
| SSD | Armazenamento | NVMe |
Para números, pode-se alinhar à direita:
| Item | Quantidade |
|---|---:|
| CPU | 1 |
| RAM | 32 GB |
| SSD | 1 TB |
```---
# 12. Admonitions
Quando habilitadas no renderer, podem ser utilizadas para destacar informações importantes.
Exemplo:
```markdown
!!! note "Nota"
Esta informação complementa o conceito apresentado.
Exemplo de alerta:
!!! warning "Atenção"
Não execute este comando em produção sem possuir backup.
```---
# 13. Introdução às expressões matemáticas
Markdown tradicional não define uma sintaxe matemática oficial.
No KnowledgeBasePro, utilizamos:
```text
Markdown
+
LaTeX
+
MathJax
O LaTeX descreve a expressão matemática.
O MathJax interpreta essa expressão no navegador e produz a representação visual.
14. Expressão matemática inline
Utilize $...$.
Exemplo:
Um byte possui $2^8 = 256$ combinações possíveis.
Outro exemplo:
O valor máximo de um inteiro sem sinal de $n$ bits é $2^n - 1$.
Também pode ser utilizada a forma:
\(2^n - 1\)
No KnowledgeBasePro, ambas são aceitas.
15. Expressão matemática em bloco
Para destacar uma fórmula, utilize $$...$$.
$$
2^8 = 256
$$
Também pode ser utilizada a forma LaTeX tradicional:
\[
2^8 = 256
\]
A forma recomendada para os artigos do KnowledgeBasePro é:
$$
...
$$
por ser visualmente simples durante a edição.
16. Potenciação
$$
2^8 = 256
$$
Expoente composto:
$$
2^{n-1}
$$
Sempre utilize {} quando o expoente possuir mais de um caractere.
Correto:
2^{n-1}
```Evite:```latex
2^n-1
quando a intenção for elevar toda a expressão n-1.
17. Índices inferiores
$$
101101_2
$$
Para base decimal:
$$
45_{10}
$$
Para nomes:
$$
V_{out}
$$
```---
# 18. Multiplicação
Utilize preferencialmente:
```latex
\cdot
```Exemplo:```markdown
$$
4 \cdot 8 = 32
$$
Pode-se utilizar:
\times
quando a intenção for destacar o símbolo de multiplicação:
$$
4 \times 8 = 32
$$
```---
# 19. Conversão binária para decimal
Exemplo recomendado:
```markdown
$$
101101_2
=
1\cdot2^5
+
0\cdot2^4
+
1\cdot2^3
+
1\cdot2^2
+
0\cdot2^1
+
1\cdot2^0
=
45_{10}
$$
Entretanto, para artigos didáticos, é melhor utilizar alinhamento.
$$
\begin{aligned}
101101_2
&= 1\cdot2^5 + 0\cdot2^4 + 1\cdot2^3 + 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 \\
&= 32 + 0 + 8 + 4 + 0 + 1 \\
&= 45_{10}
\end{aligned}
$$
Essa forma evidencia cada etapa do cálculo.
20. Ambiente aligned
O ambiente aligned é recomendado quando uma derivação possui várias linhas.
Estrutura:
\begin{aligned}
expressão_1 \\
expressão_2 \\
expressão_3
\end{aligned}
```Exemplo:```markdown
$$
\begin{aligned}
x
&= 2 + 3 \\
&= 5
\end{aligned}
$$
O símbolo & define o ponto de alinhamento.
Neste exemplo:
&=
faz todos os sinais de igualdade ficarem alinhados verticalmente.
21. Atenção especial ao \\
Dentro de LaTeX:
\\
significa quebra de linha matemática.
Exemplo:
$$
\begin{aligned}
a &= b + c \\
d &= e + f
\end{aligned}
$$
É necessário manter duas barras invertidas.
Correto:
\\
```Incorreto:```text
\
Se apenas uma barra chegar ao MathJax, a quebra de linha não será interpretada.
22. Frações
Sintaxe:
\frac{numerador}{denominador}
```Exemplo:```markdown
$$
\frac{1}{2}
$$
Expressão maior:
$$
\frac{x^2 + y^2}{2}
$$
```---
# 23. Raiz quadrada
```markdown
$$
\sqrt{x}
$$
```Exemplo:```markdown
$$
\sqrt{x^2+y^2}
$$
Raiz de índice específico:
$$
\sqrt[3]{8} = 2
$$
```---
# 24. Intervalos
Para representar:
> de `-2^(n-1)` até `2^(n-1)-1`
uma forma matemática clara é:
```markdown
$$
-2^{n-1} \leq x \leq 2^{n-1}-1
$$
Outra forma é utilizar notação de intervalo:
$$
x \in \left[-2^{n-1},\,2^{n-1}-1\right]
$$
Essa segunda forma é particularmente adequada para artigos acadêmicos.
25. Comparações
| Operação | LaTeX |
|---|---|
| Menor que | < |
| Maior que | > |
| Menor ou igual | \leq |
| Maior ou igual | \geq |
| Diferente | \neq |
| Aproximadamente | \approx |
Exemplo:
$$
x \geq 0
$$
```---
# 26. Pertence a um conjunto
```markdown
$$
x \in \mathbb{R}
$$
Exemplo para inteiros:
$$
x \in \mathbb{Z}
$$
```Naturais:```markdown
$$
x \in \mathbb{N}
$$
```---
# 27. Somatórios
```markdown
$$
\sum_{i=1}^{n} i
$$
Exemplo clássico:
$$
\sum_{i=1}^{n} i
=
\frac{n(n+1)}{2}
$$
```---
# 28. Produtório
```markdown
$$
\prod_{i=1}^{n} i
$$
Equivalente a:
$$
n!
=
\prod_{i=1}^{n} i
$$
```---
# 29. Limites
```markdown
$$
\lim_{x \to 0}
\frac{\sin x}{x}
=
1
$$
```---
# 30. Derivadas
```markdown
$$
\frac{d}{dx}x^2 = 2x
$$
Derivada parcial:
$$
\frac{\partial f}{\partial x}
$$
```---
# 31. Integrais
```markdown
$$
\int x^2\,dx
=
\frac{x^3}{3}+C
$$
Integral definida:
$$
\int_0^1 x^2\,dx
=
\frac{1}{3}
$$
```---
# 32. Matrizes
```markdown
$$
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
$$
Outro exemplo:
$$
A =
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
$$
```---
# 33. Vetores
```markdown
$$
\vec{v}
=
\begin{bmatrix}
x \\
y \\
z
\end{bmatrix}
$$
```---
# 34. Sistemas de equações
```markdown
$$
\begin{cases}
x + y = 10 \\
x - y = 2
\end{cases}
$$
```---
# 35. Função definida por partes
```markdown
$$
f(x)=
\begin{cases}
x^2, & x \geq 0 \\
-x, & x < 0
\end{cases}
$$
```---
# 36. Conjuntos
```markdown
$$
A = \{1,2,3,4\}
$$
```União:```markdown
$$
A \cup B
$$
```Interseção:```markdown
$$
A \cap B
$$
Conjunto vazio:
$$
\varnothing
$$
```---
# 37. Lógica matemática
E lógico:
```markdown
$$
A \land B
$$
OU lógico:
$$
A \lor B
$$
```Negação:```markdown
$$
\neg A
$$
```Implica:```markdown
$$
A \Rightarrow B
$$
```Equivalência:```markdown
$$
A \Leftrightarrow B
$$
```---
# 38. Notação científica
```markdown
$$
1.5 \times 10^6
$$
```---
# 39. Percentuais
Pode ser escrito:
```markdown
$$
50\%
$$
No LaTeX, % possui significado especial e deve ser escapado:
\%
```---
# 40. Texto dentro de uma fórmula
Utilize:
```latex
\text{}
```Exemplo:```markdown
$$
T_{\text{total}}
=
T_{\text{CPU}}
+
T_{\text{I/O}}
$$
```---
# 41. Espaçamento matemático
Alguns comandos úteis:
| LaTeX | Espaçamento |
|---|---|
| `\,` | pequeno |
| `\:` | médio |
| `\;` | maior |
| `\quad` | grande |
| `\qquad` | muito grande |
Exemplo:
```markdown
$$
x \in \left[0,\,255\right]
$$
```---
# 42. Parênteses e delimitadores ajustáveis
Utilize:
```latex
\left(
\right)
```Exemplo:```markdown
$$
\left(
\frac{a+b}{c}
\right)
$$
```Colchetes:```markdown
$$
\left[
\frac{a+b}{c}
\right]
$$
```Chaves:```markdown
$$
\left\{
x \in \mathbb{R}
\mid
x > 0
\right\}
$$
```---
# 43. Símbolos gregos
Alguns exemplos:
| Nome | LaTeX |
|---|---|
| Alfa | `\alpha` |
| Beta | `\beta` |
| Gama | `\gamma` |
| Delta | `\delta` |
| Theta | `\theta` |
| Lambda | `\lambda` |
| Pi | `\pi` |
| Sigma | `\sigma` |
| Ômega | `\omega` |
Exemplo:
```markdown
$$
\lambda = \frac{c}{f}
$$
```---
# 44. Expressões matemáticas em artigos de computação
## Capacidade de endereçamento
```markdown
$$
2^n
$$
Para 32 bits:
$$
2^{32} = 4\,294\,967\,296
$$
Inteiro sem sinal
$$
0 \leq x \leq 2^n - 1
$$
Inteiro com sinal em complemento de dois
$$
-2^{n-1}
\leq
x
\leq
2^{n-1}-1
$$
```ou:```markdown
$$
x
\in
\left[
-2^{n-1},
\,2^{n-1}-1
\right]
$$
Conversão hexadecimal
$$
\text{0x2D}_{16}
=
2\cdot16^1
+
13\cdot16^0
=
45_{10}
$$
```---
# 45. Expressões relacionadas a redes
Taxa de transmissão:
```markdown
$$
T
=
\frac{\text{Quantidade de bits}}
{\text{Tempo}}
$$
```Exemplo:```markdown
$$
T
=
\frac{1\,000\,000\,000\ \text{bits}}
{1\ \text{s}}
=
1\ \text{Gbps}
$$
```---
# 46. Expressões relacionadas a armazenamento
Conversão binária:
```markdown
$$
1\ \text{KiB}
=
2^{10}\ \text{bytes}
=
1024\ \text{bytes}
$$
``````markdown
$$
1\ \text{MiB}
=
2^{20}\ \text{bytes}
$$
```---
# 47. Expressões relacionadas a desempenho
Speedup de Amdahl:
```markdown
$$
S(N)
=
\frac{1}
{(1-P)+\frac{P}{N}}
$$
```Onde:```text
P = parte paralelizável
N = número de processadores
```---
# 48. Código contendo `$`
O KnowledgeBasePro protege blocos de código antes de interpretar matemática.
Portanto:
````markdown
```javascript
const price = "$100";
continua sendo código.
Da mesma forma:
```markdown
`$variavel`
```
continua sendo código inline.
---
# 49. Quando `$` pode gerar ambiguidade
Em texto comum, valores monetários podem utilizar `$`.
Exemplo:
```markdown
O valor é US$ 100.
```
Prefira escrever:
```text
US$ 100
```
em vez de:
```text
$100
```
quando houver possibilidade de o parser interpretar o conteúdo como matemática.
---
# 50. Não colocar LaTeX dentro de bloco de código
Isto:
````markdown
```text
$$
x^2
$$
```
serve para ensinar a sintaxe, não para renderizar a fórmula.
Para renderizar:
$$
x^2
$$
```---
# 51. Diferença entre escrever e demonstrar LaTeX
Se o artigo precisa mostrar literalmente:
```text
$$
x^2
$$
utilize bloco de código.
Exemplo:
```markdown
$$
x^2
$$
```
Se precisa renderizar:
$$
x^2
$$
escreva fora do bloco.
52. Padrão editorial recomendado
Para um conceito matemático, utilize:
- explicação textual;
- fórmula;
- interpretação dos símbolos;
- cálculo;
- exemplo prático.
Exemplo:
## Capacidade de representação de um byte
Um byte possui oito bits. Cada bit pode assumir dois estados: `0` ou `1`.
Portanto, o número de combinações possíveis é:
$$
2^8 = 256
$$
Onde:
- $2$ representa a quantidade de estados possíveis de um bit;
- $8$ representa a quantidade de bits;
- $256$ representa a quantidade total de combinações.
Para um valor sem sinal, o intervalo é:
$$
0 \leq x \leq 255
$$
pois:
$$
2^8 - 1 = 255
$$
Esse formato é melhor do que apresentar somente a fórmula.
53. Padrão para derivação matemática
Para raciocínios em várias etapas:
$$
\begin{aligned}
101101_2
&= 1\cdot2^5 + 0\cdot2^4 + 1\cdot2^3 + 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 \\
&= 32 + 0 + 8 + 4 + 0 + 1 \\
&= 45_{10}
\end{aligned}
$$
Prefira isso a uma única linha excessivamente longa.
54. Padrão para fórmulas muito largas
Evite:
$$
expressão extremamente longa + expressão extremamente longa + expressão extremamente longa + ...
$$
Prefira aligned:
$$
\begin{aligned}
A
&= expressão_1 \\
&\quad + expressão_2 \\
&\quad + expressão_3
\end{aligned}
$$
Isso melhora a leitura em dispositivos móveis.
55. Compatibilidade entre Article Reader e BookWave
A mesma sintaxe deve ser utilizada nos dois leitores.
Fluxo:
Article.content
↓
render_markdown
↓
proteção matemática
↓
HTML
↓
MathJax
├── Article Reader
└── BookWave Reader
Não é necessário manter duas versões do artigo.
56. O banco não armazena a fórmula renderizada
O banco armazena:
$$
x^2 + y^2 = z^2
$$
e não:
<mjx-container>...</mjx-container>
Isso é importante.
A fórmula continua sendo conteúdo textual e portável.
O HTML matemático é produzido somente no navegador.
57. Benefícios dessa abordagem
A utilização de Markdown + LaTeX oferece:
- portabilidade;
- versionamento simples;
- melhor qualidade editorial;
- compatibilidade com artigos acadêmicos;
- compatibilidade com documentação técnica;
- facilidade para IA e RAG;
- armazenamento textual;
- independência do HTML gerado pelo MathJax.
58. Checklist antes de publicar um artigo
Antes de salvar/publicar:
- [ ] Existe somente um título principal
#? - [ ] As seções utilizam
##? - [ ] As subseções utilizam
###? - [ ] Os parágrafos estão separados corretamente?
- [ ] Os comandos estão em código inline?
- [ ] Os blocos possuem linguagem?
- [ ] As tabelas possuem cabeçalho?
- [ ] Os links possuem texto descritivo?
- [ ] As imagens possuem texto alternativo?
- [ ] Fórmulas inline utilizam
$...$? - [ ] Fórmulas destacadas utilizam
$$...$$? - [ ] Expressões multilinha utilizam
aligned? - [ ] Quebras de linha usam
\\? - [ ] Expoentes compostos usam
{}? - [ ] Índices compostos usam
{}? - [ ]
%está escapado como\%? - [ ] A fórmula foi explicada em texto?
- [ ] O resultado foi interpretado, e não apenas apresentado?
- [ ] O artigo foi testado no Article Reader?
- [ ] O artigo foi testado no BookWave?
59. Modelo completo de artigo técnico
# Sistemas Numéricos: conversão binária para decimal
Os computadores representam informações utilizando estados binários.
## 1. Sistema binário
O sistema binário utiliza apenas dois símbolos:
- `0`
- `1`
Cada posição representa uma potência de dois.
## 2. Conversão
Considere:
$$
101101_2
$$
A expansão posicional é:
$$
\begin{aligned}
101101_2
&= 1\cdot2^5 + 0\cdot2^4 + 1\cdot2^3 + 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0 \\
&= 32 + 0 + 8 + 4 + 0 + 1 \\
&= 45_{10}
\end{aligned}
$$
Portanto:
$$
101101_2 = 45_{10}
$$
## 3. Implementação em Python
```python
binary = "101101"
decimal = int(binary, 2)
print(decimal)
```Resultado:```text
45
```
## 4. Conclusão
A conversão binária para decimal pode ser compreendida pela soma das potências de dois associadas aos bits de valor `1`.
60. Referência rápida de LaTeX
| Objetivo | Sintaxe |
|---|---|
| Potência | x^2 |
| Potência composta | 2^{n-1} |
| Índice | x_1 |
| Índice composto | 45_{10} |
| Fração | \frac{a}{b} |
| Raiz | \sqrt{x} |
| Multiplicação | \cdot |
| Multiplicação visual | \times |
| Menor ou igual | \leq |
| Maior ou igual | \geq |
| Diferente | \neq |
| Aproximado | \approx |
| Pertence | \in |
| Somatório | \sum |
| Produtório | \prod |
| Integral | \int |
| Limite | \lim |
| Infinito | \infty |
| Seta | \to |
| Implica | \Rightarrow |
| Equivalente | \Leftrightarrow |
| União | \cup |
| Interseção | \cap |
| Texto | \text{texto} |
| Espaço pequeno | \, |
| Espaço grande | \quad |
| Linha em aligned | \\ |
61. Regra editorial final
Uma fórmula nunca deve aparecer isoladamente quando o objetivo do artigo é ensinar.
A sequência ideal é:
CONCEITO
↓
EXPLICAÇÃO
↓
FÓRMULA
↓
SIGNIFICADO DOS TERMOS
↓
DESENVOLVIMENTO
↓
RESULTADO
↓
INTERPRETAÇÃO
↓
EXEMPLO PRÁTICO
Essa abordagem transforma matemática de uma simples notação em um instrumento didático.
62. Convenção oficial recomendada para o KnowledgeBasePro
Matemática inline
$expressão$
Matemática destacada
$$
expressão
$$
Matemática multilinha
$$
\begin{aligned}
linha_1 \\
linha_2 \\
linha_3
\end{aligned}
$$
Código
```linguagem
código
```
Artigo
text
Markdown para estrutura
+
LaTeX para matemática
+
MathJax para renderização—
Autor: projetoplataforma.com.br
Projeto: KnowledgeBasePro
Documento: Guia Editorial Markdown + LaTeX