Onde você encontra o código-fonte do TikZ/PGF?

Onde você encontra o código-fonte do TikZ/PGF?

Gostaria de verificar o código-fonte usado para implementar o formato de retângulo padrão no PGF/TikZ. Estava pensando em procurar algo parecido \pgfdeclareshape{rectangle}com os arquivos PGF, mas não tenho ideia de onde procurar.

Encontrei um pgfbaseshapes.styarquivo, texmf-dist/tex/latex/pgf/basiclayer/mas ele está quase vazio e marcado como obsoleto.

Alguma dica sobre onde devo procurar?

Também seria muito bom se alguém pudesse explicar brevemente como o código PGF/TikZ é organizado em arquivos, ou seja, onde procurar o código de uma determinada forma, uma biblioteca, etc.

Responder1

  1. A primeira resposta já está mencionada nos comentários. A resposta básica é procurar a tex/pgf/genericpasta da distribuição TeX. (TikZ/PGF tem detalhes de implementação diferentes dependendo da escolha do driver, portanto classifica ainda mais o código em ConTeXt/Lua/Xe/PDF/La(TeX) etc.) Genérico tende a incluir o código independente do driver.

    Para adicionar mais uma opção do TeXnicCenter, se você usar Ctrl+ Shift+ Fe digitar C:\Program Files (x86)\MiKTeX 2.9\tex\generic\pgfcomo Usar Diretório ele irá procurar por todos os arquivos PGF relevantes em uma Findjanela separada (para a qual existem duas). Uma captura de tela

    insira a descrição da imagem aqui

    Estranhamente, se não encontrar nada em um arquivo, ele diz, Cannot access file!mas na verdade acessa todos os arquivos.

  2. A organização dos arquivos aproximadamente;

    1. Front-End Layer (arquivos TikZ) tikz.code.texé o arquivo principal para tudo.
    2. Camada Básica (arquivos PGF)
    3. Camada do sistema (arquivos de nível mais baixo relacionados ao driver)
    4. Bibliotecas (versões PGF)
    5. Matemática, Chaves, Utilitários etc.

    Quando usamos \usetikzlibrary{<lib name>}ele procura o arquivo da biblioteca

    tikzlibrary<lib name>.code.tex
    

    dentro da pasta Front-End TikZ. No entanto, essas chamadas de biblioteca também envolvem

    pgflibrary<lib name>.code.tex
    

    sob o capô. Portanto, também podemos argumentar que existe um front-end para as bibliotecas que é usado principalmente para obter a funcionalidade principal de uma maneira conveniente e passar para o código PGF real.

informação relacionada