INÍCIO
No files matched your search
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"Generator": [
|
||||
"Quarto",
|
||||
"This file provides type information for Lua completion and diagnostics.",
|
||||
"Quarto will automatically update this file to reflect the current path",
|
||||
"of your Quarto installation, and the file will also be added to .gitignore",
|
||||
"since it points to the absolute path of Quarto on the local system.",
|
||||
"Remove the 'Generator' key to manage this file's contents manually."
|
||||
],
|
||||
"Lua.runtime.version": "Lua 5.3",
|
||||
"Lua.workspace.checkThirdParty": false,
|
||||
"Lua.workspace.library": [
|
||||
"/opt/quarto/share/lua-types"
|
||||
],
|
||||
"Lua.runtime.plugin": "/opt/quarto/share/lua-plugin/plugin.lua",
|
||||
"Lua.completion.showWord": "Disable",
|
||||
"Lua.completion.keywordSnippet": "Both",
|
||||
"Lua.diagnostics.disable": [
|
||||
"lowercase-global",
|
||||
"trailing-space"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"1_construcao_civil.qmd":[],"2_estruturas.qmd":[],"3_infraestrutura_e_transportes.qmd":[],"4_saneamento_basico.qmd":[],"5_solo.qmd":[],"a.qmd":[],"agradecimentos.qmd":[],"apresentacao.qmd":[],"bibliografia.qmd":[],"conceitual.qmd":[],"dedicatoria.qmd":[],"epigrafe.qmd":[],"index.qmd":[],"referencias.qmd":[],"teste\\teste.qmd":[]}
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Construção Civil","markdown":{"headingText":"Construção Civil","containsRefs":false,"markdown":"```{=HTML}\n\n<style>\n\nh1.title {\n background-color: #ff807D;\n color: #FFFFFF\n}\n\n.title::before {\n content: \"\";\n display: block;\n width: 100px; /* Defina a largura da imagem */\n height: 100px; /* Defina a altura da imagem */\n background-image: url('img/construcao.png');\n background-size: contain;\n background-repeat: no-repeat;\n margin: 10px; /* Espaço entre a imagem e o título */\n}\n\n</style>\n\n```\n\n\n**ABNT NBR 16001:2012** - Responsabilidade social --- Sistema de gestão\n--- Requisitos - Descrição da ABNT: \"Esta Norma estabelece os requisitos\nmínimos relativos a um sistema de gestão da responsabilidade social,\npermitindo que a organização formule e implemente uma política e\nobjetivos que levem em conta seus compromissos com: a) a\nresponsabilização; b) a transparência; c) o comportamento ético; d) o\nrespeito pelos interesses das partes interessadas; e) o atendimento aos\nrequisitos legais e outros requisitos subscritos pela organização; f) o\nrespeito às normas internacionais de comportamento; g) o respeito aos\ndireitos humanos; e h) a promoção do desenvolvimento sustentável.\"\n\n**ABNT NBR ISO 9000:2015 -** Sistemas de gestão da qualidade -\nFundamentos e vocabulário - Descrição da ABNT: \"Esta Norma descreve os\nconceitos fundamentais e princípios de gestão da qualidade que são\nuniversalmente aplicáveis a: organizações que buscam sucesso sustentado\npela implementação de um sistema de gestão da qualidade; clientes que\nbuscam confiança na capacidade de uma organização prover\nconsistentemente produtos e serviços em conformidade com seus\nrequisitos; organizações que buscam confiança de que, em sua cadeia de\nfornecedores, requisitos de produto e serviço serão atendidos;\norganizações e partes interessadas que buscam melhorar a comunicação por\nmeio da compreensão comum do vocabulário utilizado na gestão da\nqualidade organizações que fazem avaliação da conformidade com base nos\nrequisitos da ABNT NBR ISO 9001; provedores de treinamento, avaliação ou\nconsultoria em gestão da qualidade; desenvolvedores de normas\nrelacionadas.\"\n\n**ABNT NBR ISO 9001:2015** - Sistemas de gestão da qualidade -\nRequisitos - Descrição da ABNT: \"Esta Norma especifica requisitos para\num sistema de gestão da qualidade quando uma organização: a) necessita\ndemonstrar sua capacidade para prover consistentemente produtos e\nserviços que atendam aos requisitos do cliente e aos requisitos\nestatutários e regulamentares aplicáveis, e b) visa aumentar a\nsatisfação do cliente por meio da aplicação eficaz do sistema, incluindo\nprocessos para melhoria do sistema e para a garantia da conformidade com\nos requisitos do cliente e com os requisitos estatutários e\nregulamentares aplicáveis.\"\n\n**ABNT NBR ISO 10001:2022** - Gestão da qualidade - Satisfação do\ncliente - Diretrizes para códigos de conduta para organizações -\nDescrição da ABNT: \"Este Documento fornece orientações para planejar,\nprojetar, desenvolver, implementar, manter e melhorar os códigos de\nconduta voltados para a satisfação do cliente.\"\n\n**ABNT NBR ISO 10004:2013** - Gestão da qualidade --- Satisfação do\ncliente --- Diretrizes para monitoramento e medição - Descrição da ABNT:\n\"Esta Norma fornece orientação sobre como definir e executar processos\npara monitorar e medir a satisfação do cliente.\"\n\n**ABNT NBR ISO 10005:2007** - Sistemas de gestão da qualidade -\nDiretrizes para planos da qualidade - Descrição da ABNT: \"Esta Norma\nfornece diretrizes para o desenvolvimento, análise crítica, aceitação,\naplicação e revisão dos planos da qualidade.\"\n\n**ABNT NBR ISO 12006-2:2018** - Construção de edificação - Organização\nde informação da construção - Parte 2: Estrutura para classificação -\nDescrição da ABNT: \"Esta Parte da ABNT NBR ISO 12006 estabelece uma\nestrutura para o desenvolvimento de sistemas de classificação do\nambiente construído. Ela Identifica um conjunto de títulos de tabelas de\nclassificação, recomendadas para uma variedade de classes de objetos da\nconstrução, de acordo com pontos de vista diversos e particulares, por\nexemplo, pela forma ou pela função. Apresenta também como as classes dos\nobjetos, em cada tabela, estão relacionadas como uma série de sistemas e\nsubsistemas, por exemplo, em um modelo de informação da construção.\"\n\n**ABNT NBR ISO 10018:2022** - Gestão da qualidade --- Orientação para o\nengajamento de pessoas - Descrição da ABNT: \"Este documento provê\ndiretrizes para engajar pessoas no sistema de gestão da qualidade de uma\norganização e sobre como aumentar seu envolvimento e competência dentro\ndele.\"\n\n**ABNT ISO/TR 10017:2005 -** Guia sobre técnicas estatísticas para a\nABNT NBR ISO 9001:Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Estruturas","markdown":{"headingText":"Estruturas","containsRefs":false,"markdown":"```{=HTML}\n\n<style>\n\nh1.title {\n background-color: #E9D758;\n color: #FFFFFF\n}\n\n.title::before {\n content: \"\";\n display: block;\n width: 100px; /* Defina a largura da imagem */\n height: 100px; /* Defina a altura da imagem */\n background-image: url('img/estruturas.png');\n background-size: contain;\n background-repeat: no-repeat;\n margin: 10px; /* Espaço entre a imagem e o título */\n}\n\n</style>\n\n```\n\n\n**ABNT NBR 5628:2022** - Componentes construtivos estruturais - Ensaio\nde resistência ao fogo - Descrição da ABNT: \"Esta Norma especifica os\nmétodos de ensaio para a determinação da resistência ao fogo de\ncomponentes construtivos estruturais.\"\n\n**ABNT NBR 6120:2019 Versão Corrigida:2019** - Ações para o cálculo de\nestruturas de edificações - Descrição da ABNT: \"Esta Norma estabelece as\nações mínimas a serem consideradas no projeto de estruturas de\nedificações, qualquer que seja sua classe e destino, salvo os casos\nprevistos em Normas Brasileiras específicas (ABNT NBR 6123, ABNT NBR\n15421, ABNT NBR 14323 e ABNT NBR 15200).\"\n\n**ABNT NBR 6120:2019 Errata 1:2019** - Ações para o cálculo de\nestruturas de edificações\n\n**ABNT NBR 6123:2023** - Forças devidas ao vento em edificações -\nDescrição da ABNT: \"Esta Norma estabelece as condições para consideração\ndas forças devidas às ações estática e dinâmica do vento, para efeitos\nde projeto de edificações (em sentido amplo), abrangendo edifícios,\ntorres, chaminés, ginásios, pontes e outras obras de engenharia civil, e\nincluindo a estrutura como um todo ou em partes, componentes estruturais\ne acessórios.\"\n\n**ABNT NBR 7808:1983** - Símbolos gráficos para projetos de estruturas -\nDescrição da ABNT: \"Esta Norma estabelece os símbolos destinados a\nrepresentar os termos e as grandezas utilizadas em projetos de\nestruturas.\"\n\n**ABNT NBR 8681:2003 Versão Corrigida:2004** - Ações e segurança nas\nestruturas - Procedimento - Descrição da ABNT: \"Esta Norma fixa os\nrequisitos exigíveis na verificação da segurança das estruturas usuais\nda construção civil e estabelece as definições e os critérios de\nquantificação das ações e das resistências a serem consideradas no\nprojeto das estruturas de edificações, quaisquer que sejam sua classe e\ndestino, salvo os casos previstos em Normas Brasileiras específicas.\"\n\n**ABNT NBR 8681:2003 Errata 1:2004** - Ações e segurança nas\nestruturas - Procedimento\n\n**ABNT NBR 14323:2013** - Projeto de estruturas de aço e de estruturas\nmistas de aço e concreto de edifícios em situação de incêndio -\nDescrição da ABNT: \"Esta Norma, com base no método dos estados-limites,\nestabelece os requisitos para o projeto das estruturas de aço e das\nestruturas mistas de aço e concreto em situação de incêndio de\nedificações cobertas pelas ABNT NBR 8800 e ABNT NBR 14762, conforme os\nrequisitos de resistência ao fogo, prescritos pela ABNT NBR 14432 ou\nlegislação brasileira vigente.\"\n\n**ABNT NBR 14432:2001** - Exigências de resistência ao fogo de elementos\nconstrutivos de edificações - Procedimento - Descrição da ABNT: \"Esta\nNorma estabelece as condições a serem atendidas pelos elementos\nestruturais e de compartimentação que integram os edifícios para que, em\nsituação de incêndio, seja evitado o colapso estrutural.\"\n\n**ABNT NBR 14432:2000 Emenda 1:2001** - Exigências de resistência ao\nfogo de elementos construtivos de edificações -\nProcedimento\n\n**ABNT NBR 15421:2023** - Projeto de estruturas resistentes a sismos -\nDescrição da ABNT: \"Esta Norma estabelece os procedimentos e requisitos\npara a verificação da segurança das estruturas usuais da construção\ncivil, relativamente às ações de sismos, e os critérios de quantificação\ndestas ações e das resistências a serem consideradas no projeto das\nestruturas de edificações, relativamente a estas ações, quaisquer que\nsejam sua classe e seu destino, com exceção dos casos previstos em\nNormas Brasileiras específicas.\"\n\n**ABNT NBR 15575-2:2013** - Edificações habitacionais - Desempenho -\nParte 2: Requisitos para os sistemas estruturais - Descrição da ABNT:\n\"Esta parte da ABNT NBR 15575 estabelece os requisitos e critérios de\ndesempenho que se aplicam somente ao sistema estrutural da edificação\nhabitacional\"\n\n**Decreto Federal nº 9.983, de 22 de agosto de 2019** - [Dispõe sobre a\nEstratégia Nacional de Disseminação do Building Information Modelling e\ninstitui o Comitê Gestor da Estratégia do Building Information\nModelling.](https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2019/Decreto/D9983.htm) -\nRevogado pelo Decreto nº 11.888, de 2024\n\n**Decreto Federal nº 10.306, de 2 de abril de 2020** - [Estabelece a\nutilização do Building InforLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Infraestrutura e Transportes","markdown":{"headingText":"Infraestrutura e Transportes","containsRefs":false,"markdown":"```{=HTML}\n\n<style>\n\nh1.title {\n background-color: #48A9A6;\n color: #FFFFFF\n}\n\n.title::before {\n content: \"\";\n display: block;\n width: 100px; /* Defina a largura da imagem */\n height: 100px; /* Defina a altura da imagem */\n background-image: url('img/transportes.png');\n background-size: contain;\n background-repeat: no-repeat;\n margin: 10px; /* Espaço entre a imagem e o título */\n}\n\n</style>\n\n```\n\n\n**ABNT NBR 16001:2012** - Responsabilidade social --- Sistema de gestão\n--- Requisitos - Descrição da ABNT: \"Esta Norma estabelece os requisitos\nmínimos relativos a um sistema de gestão da responsabilidade social,\npermitindo que a organização formule e implemente uma política e\nobjetivos que levem em conta seus compromissos com: a) a\nresponsabilização; b) a transparência; c) o comportamento ético; d) o\nrespeito pelos interesses das partes interessadas; e) o atendimento aos\nrequisitos legais e outros requisitos subscritos pela organização; f) o\nrespeito às normas internacionais de comportamento; g) o respeito aos\ndireitos humanos; e h) a promoção do desenvolvimento sustentável.\"\n\n**ABNT NBR ISO 9000:2015 -** Sistemas de gestão da qualidade -\nFundamentos e vocabulário - Descrição da ABNT: \"Esta Norma descreve os\nconceitos fundamentais e princípios de gestão da qualidade que são\nuniversalmente aplicáveis a: organizações que buscam sucesso sustentado\npela implementação de um sistema de gestão da qualidade; clientes que\nbuscam confiança na capacidade de uma organização prover\nconsistentemente produtos e serviços em conformidade com seus\nrequisitos; organizações que buscam confiança de que, em sua cadeia de\nfornecedores, requisitos de produto e serviço serão atendidos;\norganizações e partes interessadas que buscam melhorar a comunicação por\nmeio da compreensão comum do vocabulário utilizado na gestão da\nqualidade organizações que fazem avaliação da conformidade com base nos\nrequisitos da ABNT NBR ISO 9001; provedores de treinamento, avaliação ou\nconsultoria em gestão da qualidade; desenvolvedores de normas\nrelacionadas.\"\n\n**ABNT NBR ISO 9001:2015** - Sistemas de gestão da qualidade -\nRequisitos - Descrição da ABNT: \"Esta Norma especifica requisitos para\num sistema de gestão da qualidade quando uma organização: a) necessita\ndemonstrar sua capacidade para prover consistentemente produtos e\nserviços que atendam aos requisitos do cliente e aos requisitos\nestatutários e regulamentares aplicáveis, e b) visa aumentar a\nsatisfação do cliente por meio da aplicação eficaz do sistema, incluindo\nprocessos para melhoria do sistema e para a garantia da conformidade com\nos requisitos do cliente e com os requisitos estatutários e\nregulamentares aplicáveis.\"\n\n**ABNT NBR ISO 10001:2022** - Gestão da qualidade - Satisfação do\ncliente - Diretrizes para códigos de conduta para organizações -\nDescrição da ABNT: \"Este Documento fornece orientações para planejar,\nprojetar, desenvolver, implementar, manter e melhorar os códigos de\nconduta voltados para a satisfação do cliente.\"\n\n**ABNT NBR ISO 10004:2013** - Gestão da qualidade --- Satisfação do\ncliente --- Diretrizes para monitoramento e medição - Descrição da ABNT:\n\"Esta Norma fornece orientação sobre como definir e executar processos\npara monitorar e medir a satisfação do cliente.\"\n\n**ABNT NBR ISO 10005:2007** - Sistemas de gestão da qualidade -\nDiretrizes para planos da qualidade - Descrição da ABNT: \"Esta Norma\nfornece diretrizes para o desenvolvimento, análise crítica, aceitação,\naplicação e revisão dos planos da qualidade.\"\n\n**ABNT NBR ISO 10018:2022** - Gestão da qualidade --- Orientação para o\nengajamento de pessoas - Descrição da ABNT: \"Este documento provê\ndiretrizes para engajar pessoas no sistema de gestão da qualidade de uma\norganização e sobre como aumentar seu envolvimento e competência dentro\ndele.\"\n\n**ABNT ISO/TR 10017:2005 -** Guia sobre técnicas estatísticas para a\nABNT NBR ISO 9001:2000. - Descrição da ABNT: \"Este Relatório Técnico\nfornece um guia para a seleção de técnicas estatísticas que possam ser\núteis a uma organização no desenvolvimento, implementação, manutenção e\nmelhoria do sistema de gestão da qualidade em uma organização, de acordo\ncom a ABNT NBR ISO 9001. Isso é feito através do exame de requisitos da\nABNT NBR ISO 9001, envolvendo o uso de dados quantitativos, e,\nposteriormente, através da identificação e da descrição de técnicas\nestatísticas que possam ser úteis quando aplicadas a esses dados.\"\n\n**ABNT ISO/TS 9002:2022** - Sistemas de gestão da qualidade - Diretrizes\npara a aplicação da ABNT NBR ISO 9001:2015 - Descrição da ABNT: \"Este\nDLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Saneamento Básico","markdown":{"headingText":"Saneamento Básico","containsRefs":false,"markdown":"```{=HTML}\n\n<style>\n\nh1.title {\n background-color: #7EBCE6;\n color: #FFFFFF\n}\n\n.title::before {\n content: \"\";\n display: block;\n width: 100px; /* Defina a largura da imagem */\n height: 100px; /* Defina a altura da imagem */\n background-image: url('img/agua.png');\n background-size: contain;\n background-repeat: no-repeat;\n margin: 10px; /* Espaço entre a imagem e o título */\n}\n\n</style>\n\n```\n\n\n**ABNT NBR 16001:2012** - Responsabilidade social --- Sistema de gestão\n--- Requisitos - Descrição da ABNT: \"Esta Norma estabelece os requisitos\nmínimos relativos a um sistema de gestão da responsabilidade social,\npermitindo que a organização formule e implemente uma política e\nobjetivos que levem em conta seus compromissos com: a) a\nresponsabilização; b) a transparência; c) o comportamento ético; d) o\nrespeito pelos interesses das partes interessadas; e) o atendimento aos\nrequisitos legais e outros requisitos subscritos pela organização; f) o\nrespeito às normas internacionais de comportamento; g) o respeito aos\ndireitos humanos; e h) a promoção do desenvolvimento sustentável.\"\n\n**ABNT NBR ISO 9000:2015 -** Sistemas de gestão da qualidade -\nFundamentos e vocabulário - Descrição da ABNT: \"Esta Norma descreve os\nconceitos fundamentais e princípios de gestão da qualidade que são\nuniversalmente aplicáveis a: organizações que buscam sucesso sustentado\npela implementação de um sistema de gestão da qualidade; clientes que\nbuscam confiança na capacidade de uma organização prover\nconsistentemente produtos e serviços em conformidade com seus\nrequisitos; organizações que buscam confiança de que, em sua cadeia de\nfornecedores, requisitos de produto e serviço serão atendidos;\norganizações e partes interessadas que buscam melhorar a comunicação por\nmeio da compreensão comum do vocabulário utilizado na gestão da\nqualidade organizações que fazem avaliação da conformidade com base nos\nrequisitos da ABNT NBR ISO 9001; provedores de treinamento, avaliação ou\nconsultoria em gestão da qualidade; desenvolvedores de normas\nrelacionadas.\"\n\n**ABNT NBR ISO 9001:2015** - Sistemas de gestão da qualidade -\nRequisitos - Descrição da ABNT: \"Esta Norma especifica requisitos para\num sistema de gestão da qualidade quando uma organização: a) necessita\ndemonstrar sua capacidade para prover consistentemente produtos e\nserviços que atendam aos requisitos do cliente e aos requisitos\nestatutários e regulamentares aplicáveis, e b) visa aumentar a\nsatisfação do cliente por meio da aplicação eficaz do sistema, incluindo\nprocessos para melhoria do sistema e para a garantia da conformidade com\nos requisitos do cliente e com os requisitos estatutários e\nregulamentares aplicáveis.\"\n\n**ABNT NBR ISO 10001:2022** - Gestão da qualidade - Satisfação do\ncliente - Diretrizes para códigos de conduta para organizações -\nDescrição da ABNT: \"Este Documento fornece orientações para planejar,\nprojetar, desenvolver, implementar, manter e melhorar os códigos de\nconduta voltados para a satisfação do cliente.\"\n\n**ABNT NBR ISO 10004:2013** - Gestão da qualidade --- Satisfação do\ncliente --- Diretrizes para monitoramento e medição - Descrição da ABNT:\n\"Esta Norma fornece orientação sobre como definir e executar processos\npara monitorar e medir a satisfação do cliente.\"\n\n**ABNT NBR ISO 10005:2007** - Sistemas de gestão da qualidade -\nDiretrizes para planos da qualidade - Descrição da ABNT: \"Esta Norma\nfornece diretrizes para o desenvolvimento, análise crítica, aceitação,\naplicação e revisão dos planos da qualidade.\"\n\n**ABNT NBR ISO 10018:2022** - Gestão da qualidade --- Orientação para o\nengajamento de pessoas - Descrição da ABNT: \"Este documento provê\ndiretrizes para engajar pessoas no sistema de gestão da qualidade de uma\norganização e sobre como aumentar seu envolvimento e competência dentro\ndele.\"\n\n**ABNT ISO/TR 10017:2005 -** Guia sobre técnicas estatísticas para a\nABNT NBR ISO 9001:2000. - Descrição da ABNT: \"Este Relatório Técnico\nfornece um guia para a seleção de técnicas estatísticas que possam ser\núteis a uma organização no desenvolvimento, implementação, manutenção e\nmelhoria do sistema de gestão da qualidade em uma organização, de acordo\ncom a ABNT NBR ISO 9001. Isso é feito através do exame de requisitos da\nABNT NBR ISO 9001, envolvendo o uso de dados quantitativos, e,\nposteriormente, através da identificação e da descrição de técnicas\nestatísticas que possam ser úteis quando aplicadas a esses dados.\"\n\n**ABNT ISO/TS 9002:2022** - Sistemas de gestão da qualidade - Diretrizes\npara a aplicação da ABNT NBR ISO 9001:2015 - Descrição da ABNT: \"Este\nDocumento provê orientaçõLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Solo","markdown":{"headingText":"Solo","containsRefs":false,"markdown":"```{=HTML}\n\n<style>\n\nh1.title {\n background-color: #744FC6;\n color: #FFFFFF\n}\n\n.title::before {\n content: \"\";\n display: block;\n width: 100px; /* Defina a largura da imagem */\n height: 100px; /* Defina a altura da imagem */\n background-image: url('img/solo.png');\n background-size: contain;\n background-repeat: no-repeat;\n margin: 10px; /* Espaço entre a imagem e o título */\n}\n\n</style>\n\n```\n\n\n**ABNT NBR 6457:2016 Versão corrigida:2016** - Amostras de solo ---\nPreparação para ensaios de compactação e ensaios de caracterização -\nDescrição da ABNT: \"Esta Norma especifica o método para a preparação de\namostras de solos para os ensaios de compactação e de caracterização\n(análise granulométrica e determinação dos limites de liquidez e\nplasticidade, da massa específica das partículas que passam na peneira\nde 4,8 mm, da massa específica aparente e da absorção de água pelos\ngrãos retidos na peneira de 4,8 mm).\"\n\n**ABNT NBR 6457:2016 Errata 1:2016** - Amostras de solo - Preparação\npara ensaios de compactação e ensaios de caracterização\n\n**ABNT NBR 6458:2016 Versão Corrigida 2:2017** - Grãos de pedregulho\nretidos na peneira de abertura 4,8 mm - Determinação da massa\nespecífica, da massa específica aparente e da absorção de água -\nDescrição da ABNT: \"Esta Norma especifica o método para determinação da\nmassa específica, da massa específica aparente e da absorção de água dos\ngrãos de pedregulho retidos na peneira de 4,8 mm, por meio da realização\nde pelo menos dois ensaios.\"\n\n**ABNT NBR 6458:2016 Errata 1:2017** - Grãos de pedregulho retidos na\npeneira de abertura 4,8 mm - Determinação da massa específica, da massa\nespecífica aparente e da absorção de água\n\n**ABNT NBR 6458:2016 Errata 2:2017** - Grãos de pedregulho retidos na\npeneira de abertura 4,8 mm - Determinação da massa específica, da massa\nespecífica aparente e da absorção de água\n\n**ABNT NBR 6459:2016** **Versão Corrigida:2017** - Solo - Determinação\ndo limite de liquidez - Descrição da ABNT: \"Esta Norma especifica o\nmétodo para a determinação do limite de liquidez dos solos.\"\n\n**ABNT NBR 6459:2016 Errata 1:2017** - Solo --- Determinação do limite\nde liquidez\n\n**ABNT NBR 6489:2019** - Solo - Prova de carga estática em fundação\ndireta - Descrição da ABNT: \"Esta Norma especifica um método de ensaio\npara prova de carga estática para fins de fundações diretas,\ncompreendendo os requisitos para execução, registro e apresentação.\"\n\n**ABNT NBR 6490:2016** - Rochas --- Caracterização de ocorrência ---\nReconhecimento e amostragem - Descrição da ABNT: \"Esta Norma estabelece\nos requisitos para a seriação dos trabalhos necessários ao\nreconhecimento e amostragem, para fins de caracterização dos materiais,\ndas ocorrências de rochas suscetíveis de serem utilizadas como material\nde construção em obras de engenharia.\"\n\n**ABNT NBR 6502:2022** - Solos e rochas - Terminologia - Descrição da\nABNT: \"Esta Norma define os termos relativos aos materiais da crosta\nterrestre, rochas e solos, para fins de engenharia geotécnica.\"\n\n**ABNT NBR 7180:2016** - Solo --- Determinação do limite de\nplasticidade - Descrição da ABNT: \"Esta Norma especifica o método para a\ndeterminação do limite de plasticidade e para o cálculo do índice de\nplasticidade dos solos.\"\n\n**ABNT NBR 7181:2016 Versão Corrigida 2:2018** - Solo - Análise\ngranulométrica - Descrição da ABNT: \"Esta Norma estabelece o método para\nanálise granulométrica de solos, realizada por peneiramento ou por uma\ncombinação de sedimentação e peneiramento.\"\n\n**ABNT NBR 7181:2016 Errata 1:2017** - Solo - Análise granulométrica\n\n**ABNT NBR 7181:2016 Errata 2:2018** - Solo - Análise granulométrica\n\n**ABNT NBR 7182:2016 Versão Corrigida:2020** - Solo - Ensaio de\ncompactação - Descrição da ABNT: \"Esta Norma específica um método para\ndeterminação da relação entre o teor de umidade e a massa específica\naparente seca de solos, quando compactados, de acordo com os\nprocedimentos especificados.\"\n\n**ABNT NBR 7182:2016 Errata 1:2020** - Solo --- Ensaio de compactação\n\n**ABNT NBR 7185:2016** - Solo - Determinação da massa específica\naparente, in situ, com emprego do frasco de areia - Descrição da ABNT:\n\"Esta Norma especifica um método para determinação da massa específica\naparente do solo, in situ, com emprego do frasco de areia.\"\n\n**ABNT NBR 8044:2018** - Projeto geotécnico - Procedimento - Descrição\nda ABNT: \"Esta Norma estabelece os procedimentos a serem observadas nos\nestudos e projetos geotécnicos.\"\n\n**ABNT NBR 9061:1985** - Segurança de escavação a céu aberto -\nProcedimento - Descrição da ABNT: \"Esta Norma fixa as condições de\nsegurança exigíLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Apresentação","markdown":{"headingText":"Apresentação","headingAttr":{"id":"","classes":["unnumbered"],"keyvalue":[]},"containsRefs":false,"markdown":"\nEm áreas relacionadas à engenharia civil, é possível se deparar com\nNormas Regulamentadoras (NR), Norma Técnica Brasileira (NBR), leis\n(Federais, Estaduais e Municipais), normas e manuais do DNER/DNIT,\nnormas da ABGE, manuais estaduais e manuais municipais. Com tantas\nnormas/leis/manuais, gera-se muitas dúvidas durante a realização do\nprojeto, da execução, da fiscalização e da manutenção de uma obra de\nengenharia civil, levando a várias dúvidas: quais normas/leis/manuais\ndevem ser atendidas? São obrigatórias? Ou trata-se apenas de\norientações? O intuito deste livro é explicar as diferenças entre elas e\ncompreender melhor a origem de cada norma, manual ou lei. No livro\nconsta também uma lista de normas e leis existentes relacionados à\nengenharia civil, em todas as suas áreas: construção civil, estruturas,\ninfraestrutura e transporte, saneamento básico e solo.\n\nNa parte conceitual, primeiro serão apresentadas as definições das\nprincipais palavras utilizadas no decorrer deste livro. Posteriormente,\nserá explicada a origem das normas/leis/manuais apresentadas no livro,\nquais são os órgãos ou instituições que elaboram as normas/leis/manuais\ne, para concluir, serão explicadas como devem ser utilizadas para\ndesenvolver o melhor projeto/execução/fiscalização/manutenção.\n\nDepois, o livro é dividido nas 5 principais áreas da engenharia civil:\nconstrução civil, estruturas, infraestrutura e transportes, saneamento\nbásico e solo. A seguir, são apresentados todos os assuntos que constam\ndentro de cada uma das partes:\n\n1. Parte 1 - CONSTRUÇÃO CIVIL\n\n a. Conforto Ambiental\n\n b. Construção\n\n c. Elétrica e complementares\n\n d. Orçamentos\n\n e. Perícias de Engenharia\n\n f. Prevenção de Incêndio\n\n g. Segurança no Trabalho\n\n2. Parte 2 - ESTRUTURAS\n\n a. Aço\n\n b. Alumínio\n\n c. Alvenaria Estrutural\n\n d. Concreto\n\n e. Estruturas Mistas\n\n f. Fundações\n\n g. Gestão\n\n h. Madeira\n\n i. Obras estruturais\n\n j. Segurança no Trabalho\n\n3. Parte 3 - INFRAESTRUTURA E TRANSPORTES\n\n a. Cidades\n\n b. Estradas\n\n c. Transportes\n\n d. Segurança no Trabalho\n\n4. Parte 4 - SANEAMENTO BÁSICO\n\n a. Hidráulica\n\n b. Recursos Hídricos\n\n c. Rede de Drenagem\n\n d. Resíduos Sólidos\n\n e. Sistema de Abastecimento de Água\n\n f. Sistema de Abastecimento de Esgoto\n\n g. Segurança no Trabalho\n\n5. Parte 5 - SOLO\n\n a. Aterramento\n\n b. Ensaios\n\n c. Fundação\n\n d. Gestão\n\n e. Impermeabilização\n\n f. Muro de arrimo\n\n g. Rocha\n\n h. Sondagem\n\n i. Solo-cimento\n\n j. Taludes\n\n k. Terraplenagem\n\n l. Tirantes\n\n m. Topografia\n\n n. Segurança no Trabalho\n\nNo livro consta um compilado com um total de 3.452 normas, leis e\nmanuais na área da Engenharia Civil, sendo 38 Normas Regulamentadoras\n(NR), 2.847 ABNT Normas Técnica Brasileira (NBR), 453 Normas do\nDNIT/DNER, 17 Normas e 2 Diretrizes Normativas da ABGE, 60 Manuais, 23\nLeis/Decretos voltadas à Engenharia Civil e 12 Resoluções.\n\nO livro possui formatos em meio físico, *online* e *e-book*, e o livro\nfísico consta uma edição com todas as partes chamado de Volume Único, e\ntambém é possível adquirir o livro por volumes (Volume 1, Volume 2,\nVolume 3, Volume 4 e Volume 5) que possuem temas específicos. Cada um\ndos volumes possui o seguinte material: apresentação, conceitual, tema\ndo volume e a bibliografia. Os temas são: Parte 1 -- Construção civil,\nParte 2 -- Estruturas, Parte 3 -- Infraestrutura e Transportes, Parte 4\n-- Saneamento Básico e Parte 5 -- Solos. O livro foi produzido com a\nopção de volumes separados caso haja interesse em adquirir apenas um dos\ntemas especírficos.\n\nEm cada uma das partes do livro físico consta um *qrcode* que ao\nescaneá-lo será possível acessar o livro *online* no site da Editora\nMoan. No livro *online* foram deixados *links* das normas e leis, sendo\npossível verificar as mesmas diretamente nos *sites* originais.","srcMarkdownNoYaml":""},"formats":{"moan-livro-html":{"identifier":{"display-name":"HTML","target-format":"moan-livro-html","base-format":"html","extension-name":"moan-livro"},"execute":{"fig-width":7,"fig-height":5,"fig-format":"retina","fig-dpi":96,"df-print":"default","error":false,"eval":true,"cache":null,"freeze":false,"echo":true,"output":true,"warning":true,"include":true,"keep-md":false,"keep-ipynb":false,"ipynb":null,"enabled":null,"daemon":null,"daemon-restart":false,"debug":false,"ipynb-filters":[],"ipynb-shell-interactivity":null,"plotly-connected":true,"engine":"markdown"},"render":{"keep-tex":false,"keep-typ":falsLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Bibliografia","markdown":{"headingText":"Bibliografia","headingAttr":{"id":"","classes":["unnumbered"],"keyvalue":[]},"containsRefs":false,"markdown":"\nABGE (Associação Brasileira de Geologia de Engenharia e Ambiental).\n**Site**, 2024. Disponível em: <https://www.abge.org.br/home>. Acesso\nem: 07 de agosto de 2024.\n\nABGE (Associação Brasileira de Geologia de Engenharia e Ambiental).\n**Normas** **ABGE**, 2024. Disponível em:\n<https://www.abge.org.br/abge-normas>. Acesso em: 07 de agosto de 2024.\n\nABNT (Associação Brasileira de Normas Técnicas). **Site**, 2024.\nDisponível em: <https://www.abnt.org.br/> . Acesso em: 07 de agosto de\n2024.\n\nABNT (Associação Brasileira de Normas Técnicas). **Catálogo**, 2024.\nDisponível em: <https://www.abntcatalogo.com.br/pav.aspx> . Acesso em:\nentre 16 maio de 2023 e 12 de agosto de 2024.\n\nABNT (Associação Brasileira de Normas Técnicas). **Consulta Nacional**,\n2024. Disponível em:\n<https://www.abntonline.com.br/consultanacional/>[.]{.underline} Acesso\nem: 07 de agosto de 2024.\n\nBELO HORIZONTE. **Instrução técnica para elaboração de estudos e\nprojetos de drenagem.** Belo Horizonte: Prefeitura Municipal de Belo\nHorizonte, 2022. Disponível em:\n<https://prefeitura.pbh.gov.br/obras-e-infraestrutura/informacoes/publicacoes/instrucao-estudos-e-projetos-de-drenagem>.\nAcesso em: 23 de julho de 2024.\n\nBRASIL. Decreto nº 9.983, de 22 de agosto de 2019. **Dispõe sobre a\nEstratégia Nacional de Disseminação do Building Information Modelling e\ninstitui o Comitê Gestor da Estratégia do Building Information\nModelling.**. Diário Oficial da União: Brasília, DF, 2019. Disponível\nem:\n<https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2019/Decreto/D9983.htm>\n. Acesso em: 01 de agosto de 2024.\n\nBRASIL. Decreto nº 10.306, de 2 de abril de 2020. **Estabelece a\nutilização do Building Information Modelling na execução direta ou\nindireta de obras e serviços de engenharia realizada pelos órgãos e\npelas entidades da administração pública federal, no âmbito da\nEstratégia Nacional de Disseminação do Building Information Modelling -\nEstratégia BIM BR**. Diário Oficial da União: Brasília, DF, 2020.\nDisponível em:\n<https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2020/decreto/D10306.htm>\n. Acesso em: 01 de agosto de 2024.\n\nBRASIL. Decreto nº 11.888, de 22 de janeiro de 2024. **Dispõe sobre a\nEstratégia Nacional de Disseminação do Building Information Modelling no\nBrasil - Estratégia BIM BR e institui o Comitê Gestor da Estratégia do\nBuilding Information Modelling - BIM BR**. Diário Oficial da União:\nBrasília, DF, 2019. Disponível em:\n<https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2024/decreto/d11888.htm>\n. Acesso em: 01 de agosto de 2024.\n\nBRASIL. Decreto nº 81.621, de 3 de maio de 1978. **Aprova o Quadro Geral\nde Unidades de Medida, em substituição ao anexo do Decreto nº 63.233, de\n12 de setembro de 1968**. Diário Oficial da União: Brasília, DF, 1978.\nDisponível em:\n<https://www.planalto.gov.br/ccivil_03/decreto/1970-1979/d81621.htm> .\nAcesso em: 05 de agosto de 2024.\n\nBRASIL. **Estatuto da Cidade**. 3. ed. Brasília: Senado Federal,\nSubsecretaria de Edições Técnicas, 2008. Disponível em:\nhttps://www2.senado.leg.br/bdsf/bitstream/handle/id/70317/000070317.pdf.\nAcesso em: 07 de agosto de 2024.\n\nBRASIL. Lei nº 4.591, de 16 de dezembro de 1964. **Dispõe sobre o\ncondomínio em edificações e as incorporações imobiliárias**. Diário\nOficial da União: Brasília, DF, 1964. Disponível em:\n<https://www.planalto.gov.br/ccivil_03/leis/l4591.htm> . Acesso em: 05\nde agosto de 2024.\n\nBRASIL. Lei nº 4.864, de 29 de novembro de 1965. **Cria Medidas de\nestímulo à Indústria de Construção Civil**. Diário Oficial da União:\nBrasília, DF, 1965. Disponível em:\n<https://www.planalto.gov.br/ccivil_03/leis/L4864.htm> . Acesso em: 05\nde agosto de 2024.\n\nBRASIL. Lei nº 6.514, de 22 de dezembro de 1977. **Altera o Capítulo V\ndo Titulo II da Consolidação das Leis do Trabalho, relativo a segurança\ne medicina do trabalho e dá outras providências**. Diário Oficial da\nUnião: Brasília, DF, 1977. Disponível em:\n<http://www.planalto.gov.br/ccivil_03/LEIS/L6514.htm> . Acesso em: 07 de\nagosto de 2024.\n\nBRASIL. Lei nº 6.766, de 19 de dezembro de 1979. **Dispõe sobre o\nParcelamento do Solo Urbano e dá outras Providências**. Diário Oficial\nda União: Brasília, DF, 1979. Disponível em:\n<https://www.planalto.gov.br/ccivil_03/leis/L6766.htm>. Acesso em: 07 de\nagosto de 2024.\n\nBRASIL. Lei nº 9.433, de 8 de janeiro de 1997. **nstitui a Política\nNacional de Recursos Hídricos, cria o Sistema Nacional de Gerenciamento\nde Recursos Hídricos, regulamenta o inciso XIX do art. 21 da\nConstituição Federal, e altera o art. 1º da Lei nº 8.001, de 13 de março\nde 1990, que modificou a Lei nº 7.990, de 28 de dezembro de 1989.**.\nDiáLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Conceitual","markdown":{"headingText":"Conceitual","headingAttr":{"id":"","classes":["unnumbered"],"keyvalue":[]},"containsRefs":false,"markdown":"\nA parte conceitual será dividida em três partes:\n\n1. Definições -- Onde explica o significado das principais palavras\n utilizadas no decorrer do livro.\n\n2. Origem das normas, leis e manuais que constma no livro -- É descrito\n quais os órgãos que produzem normas, leis e manuais, e é esclarecido\n quais são obrigatórios, que devem ser seguidos e quais são\n orientativos.\n\n3. Compreendendo a utilização de normas, leis e manuais, onde é dado um\n exemplo de como devemos proceder na utilização dos mesmos, e como\n proceder quando existem mais de uma lei/norma sobre o assunto a ser\n trabalhado.\n\n## Definições\n\n**ABGE (Associação Brasileira de Geologia de Engenharia e Ambiental)\n--** Responsável pela criação das Normas ABGE, transformaram o rico\nacervo sobre Investigações Geológico- Geotécnicas da associação em\n\"Normas ABGE\".\n\n**ABNT (Associação Brasileira de Normas Técnicas)** -- Responsável pela\ncriação das Normas Brasileiras (NBR). É membro fundador da International\nOrganization for Standardization (Organização Internacional de\nNormalização - ISO), da Comisión Panamericana de Normas Técnicas\n(Comissão Pan-Americana de Normas Técnicas - Copant) e da Asociación\nMercosur de Normalización (Associação Mercosul de Normalização - AMN).\nDesde a sua fundação, é também membro da International Electrotechnical\nCommission (Comissão Eletrotécnica Internacional - IEC).\n\n**Decreto** -- [Significado de Decreto]{.underline}: 1. substantivo\nmasculino. Ordem, decisão ou determinação legal, emitida por uma\nautoridade superior, pelo chefe de Estado, por uma instituição, civil ou\nmilitar, laica ou religiosa. 2. Etimologia (origem da palavra decreto).\nDo latim decretum.i. (DICIO -- Dicionário Online de Português)\n\n**Diretriz Normativa** -- [Significado de Diretriz]{.underline}: 1.\nsubstantivo feminino. Linha segundo a qual se traça um plano em qualquer\nestrada ou caminho. \\[Figurado\\] Rascunho delineado de um plano, um\nprospecto, um programa: o prefeito tem traçado novas diretrizes para o\ngoverno do município. \\[Figurado\\] Maneira de se proceder ou se portar,\nconduta etc. 2. Etimologia (origem da palavra diretriz). Do latim\ndirectrix. [Significado de Normativa]{.underline}: 1. adjetivo. Que\nestabelece e determina regras, preceitos; prescritivo. Utilizado como\nregra, padrão, modelo a ser seguido: medida normativa. 2. Etimologia\n(origem da palavra normativa). Feminino de normativo, do francês\nnormatif. (DICIO -- Dicionário Online de Português)\n\n**DNER (Departamento Nacional de Estradas e Rodagem) -** Órgão extinto,\ncom a Lei nº10.233 de 5 de junho de 2001 foi reestruturado e criado o\natual Departamento Nacional de Infraestrutura de Transportes (DNIT)\n\n**DNIT (Departamento Nacional de Infraestrutura e Transportes)\n--**Trata-se de uma Autarquia Federal vinculada ao Ministério dos\nTransportes. O órgão é gestor e executor, das vias navegáveis, ferrovias\ne rodovias federais, instalações de vias de transbordo e de interface\nintermodal e instalações portuárias fluviais e lacustres.\n\n**Instrução Técnica** -- [Significado de Instrução]{.underline}: 1.\nsubstantivo feminino: Noções adquiridas; saber: ter boa instrução. 3.\nEtimologia (origem da palavra instrução). Do latim instructio.onis.\n[Significado de Técnica]{.underline}: 1. substantivo feminino. Conjunto\nde métodos e processos próprios de uma arte, ciência ou profissão:\ntécnica de escrita; técnica cirúrgica; técnica de ensino. \\[Por\nExtensão\\] Habilidade, destreza na feitura ou realização de algo. 2.\nEtimologia (origem da palavra técnica). Feminino de técnico. (DICIO --\nDicionário Online de Português)\n\n**Lei** -- [Significado de Lei]{.underline}: 1. substantivo feminino.\nRegra necessária ou obrigatória: submeter-se a uma lei. \\[Jurídico\\] Ato\nda autoridade soberana que regula, ordena, autoriza ou veda: promulgar\numa lei. 2. Etimologia (origem da palavra lei). Do latim lex.legis,\n\\\"consolidação\\\". (DICIO -- Dicionário Online de Português)\n\n**Manual** -- [Significado de Manual]{.underline}: substantivo\nmasculino. Compêndio, livro pequeno que encerra os conhecimentos básicos\nde uma ciência, uma técnica, um ofício: manual do agricultor, do\ncarpinteiro. (DICIO -- Dicionário Online de Português)\n\n**NBR (Norma Técnica Brasileira)** -- são criadas pela Associação\nBrasileira de Normas Técnicas (ABNT) sendo elaboradas pelos Comitês\nBrasileiros (ABNT/CB), organismos de Normalização Setorial (ABNIT/ONS) e\nComissões de Estudo Especiais (ABNT/CEE), é necessário pagar para obter\no acesso delas.\n\n**NR (Norma Regulamentadora)** -- Foram criadas pelo Governo Federal\natravés de lei para seguLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Dedicatória","markdown":{"headingText":"Dedicatória","headingAttr":{"id":"","classes":["unnumbered"],"keyvalue":[]},"containsRefs":false,"markdown":"\n```{=html}\n<p style=\"text-align: right;\">\nDedico aos meus pais, Remi e Lidia Sander, <br />\npelo incentivo à educação e pelo amor incondicional.\n</p>\n```\n","srcMarkdownNoYaml":""},"formats":{"moan-livro-html":{"identifier":{"display-name":"HTML","target-format":"moan-livro-html","base-format":"html","extension-name":"moan-livro"},"execute":{"fig-width":7,"fig-height":5,"fig-format":"retina","fig-dpi":96,"df-print":"default","error":false,"eval":true,"cache":null,"freeze":false,"echo":true,"output":true,"warning":true,"include":true,"keep-md":false,"keep-ipynb":false,"ipynb":null,"enabled":null,"daemon":null,"daemon-restart":false,"debug":false,"ipynb-filters":[],"ipynb-shell-interactivity":null,"plotly-connected":true,"engine":"markdown"},"render":{"keep-tex":false,"keep-typ":false,"keep-source":false,"keep-hidden":false,"prefer-html":false,"output-divs":true,"output-ext":"html","fig-align":"default","fig-pos":null,"fig-env":null,"code-fold":"none","code-overflow":"scroll","code-link":false,"code-line-numbers":false,"code-tools":false,"tbl-colwidths":"auto","merge-includes":true,"inline-includes":false,"preserve-yaml":false,"latex-auto-mk":true,"latex-auto-install":true,"latex-clean":true,"latex-min-runs":1,"latex-max-runs":10,"latex-makeindex":"makeindex","latex-makeindex-opts":[],"latex-tlmgr-opts":[],"latex-input-paths":[],"latex-output-dir":null,"link-external-icon":false,"link-external-newwindow":false,"self-contained-math":false,"format-resources":[],"notebook-links":true,"shortcodes":[],"format-links":false},"pandoc":{"standalone":true,"wrap":"none","default-image-extension":"png","to":"html","filters":["_extensions/moan-livro/estilizador.lua","_extensions/moan-livro/qrcode-moan.lua","latex-environment"],"from":"markdown+emoji","number-sections":true,"citeproc":false,"toc-depth":6,"include-after-body":{"text":"<script src=\"https://leitorweb.livro.online/leitor-web.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://leitorweb.livro.online/css/configuracoesleitor.min.css\" type=\"text/css\">\n"},"output-file":"dedicatoria.html"},"language":{"toc-title-document":"Neste capítulo","toc-title-website":"Nesta página","related-formats-title":"Outros formatos","related-notebooks-title":"Notebooks","source-notebooks-prefix":"Fonte","other-links-title":"Outros Links","code-links-title":"Links de código","launch-dev-container-title":"Iniciar Dev Container","launch-binder-title":"Iniciar Binder","article-notebook-label":"Caderno de Artigo","notebook-preview-download":"Baixar Caderno","notebook-preview-download-src":"Baixar código-fonte","notebook-preview-back":"Voltar ao Artigo","manuscript-meca-bundle":"Arquivo MECA","section-title-abstract":"Resumo","section-title-appendices":"Apêndices","section-title-footnotes":"Notas de rodapé","section-title-references":"Referências","section-title-reuse":"Reuso","section-title-copyright":"Direito autoral","section-title-citation":"Citação","appendix-attribution-cite-as":"Por favor, cite este trabalho como:","appendix-attribution-bibtex":"BibTeX","appendix-view-license":"Visualizar Licença","title-block-author-single":"Autor","title-block-author-plural":"Autores","title-block-affiliation-single":"Afiliação","title-block-affiliation-plural":"Afiliações","title-block-published":"Data de Publicação","title-block-modified":"Data de Modificação","title-block-keywords":"Palavras-chave","callout-tip-title":"Dica","callout-note-title":"Nota","callout-warning-title":"Aviso","callout-important-title":"Importante","callout-caution-title":"Cuidado","code-summary":"Código","code-tools-menu-caption":"Código","code-tools-show-all-code":"Mostrar o código","code-tools-hide-all-code":"Esconder o código","code-tools-view-source":"Ver o código fonte","code-tools-source-code":"Código fonte","tools-share":"Compartilhar","tools-download":"Baixar","code-line":"Linha","code-lines":"Linhas","copy-button-tooltip":"Copiar para a área de transferência","copy-button-tooltip-success":"Copiada","repo-action-links-edit":"Editar essa página","repo-action-links-source":"Ver o código fonte","repo-action-links-issue":"Criar uma issue","back-to-top":"De volta ao topo","search-no-results-text":"Nenhum resultado","search-matching-documents-text":"documentos correspondentes","search-copy-link-title":"Copiar link para a busca","search-hide-matches-text":"Esconder correspondências adicionais","search-more-match-text":"mais correspondência neste documento","search-more-matches-text":"mais correspondências neste documento","search-clear-button-title":"Limpar","search-text-placeholder":"","search-detached-cancel-button-title":"Cancelar","search-submit-button-title":"Enviar","search-label":"Procurar","toggle-section":"Alternar seção","toggle-sidebar":"Alternar barra lateral","toggle-dark-mode":"Alternar modLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"title":"Metadados","markdown":{"headingText":"Metadados","headingAttr":{"id":"","classes":["unnumbered"],"keyvalue":[["style","text-align:left;"]]},"containsRefs":false,"markdown":"\\setcounter{page}{13} <!-- Não apague esta linha. Coloque o número da primeira página com conteúdo após o sumário -->\n\n{style=\"display: block; margin: 10px auto;\"}\n\n\nEste livro é uma publicação da [**{{< meta moan-dados.editora >}}**](https://editora.livro.online), {{< meta moan-dados.local >}}. Seu identificador é **ark:{{< meta moan-dados.ark >}}**. A versão física (impressa) deste livro possui **ark:{{< meta moan-dados.ark-versão-impressa >}}** e **isbn:{{< meta moan-dados.isbn-versão-impressa >}}**. Ele pertence à coleção de mesma nome \"Norma para Toda Obra\" (**ark:68745/eM8Rf**). Os volumes da coleção são:\n\n- Volume Único (ark:68745/eM8Rf/gJ - ark:68745/eM8Rf/gJ.ht (Versão Online) e ISBN: 978-65-85027-18-2); \n- Volume 1: Construção Civil (ark:68745/eM8Rf/tt ISBN: 978-65-85027-17-5);\n- Volume 2: Estruturas (ark:68745/eM8Rf/B4 - ISBN: 978-65-85027-16-8);\n- Volume 3: Infraestrutura e Transportes (ark:68745/eM8Rf/gF - e ISBN: 978-65-85027-19-9);\n- Volume 4: Saneamento Básico (ark:68745/eM8Rf/DH - e ISBN: 978-65-85027-15-1);\n- Volume 5: Solo (ark:68745/eM8Rf/fr - e ISBN: 978-65-85027-14-4).\n\n{fig-alt=\"Logo da Editora Moan. forma abstrata de um livro com uma bola representando uma pessoa lendo. Dentro dessa bola tem impressão digital\" width=\"60%\" height=\"auto\" style=\"display: block; margin: 30px auto;\"}\n\nPara saber o que é e como usar um identificador ARK, acesse: [https://n2t.net/ark:68745/eMT4d/posts/ark_o_que_e](https://n2t.net/ark:68745/eMT4d/posts/ark_o_que_e).\n\nConfira, abaixo, os metadados completos deste livro, conforme registro ARK. Você pode escolher a versão JSON ou YAML.\n\n\n::: {.panel-tabset}\n\n## JSON\n\n```{=html}\n\n<object id=\"metadados_livro_json\" style=\"width: 100%; height:500px;\" data=\"https://leitorweb.livro.online/moan-quarto/exemplo.json\" type=\"text/json\"></object>\n\n<p>Caso não esteja visualizando, acesse: <a class=\"link_ark_json\" href=\"https://ark.livro.online/json/ark_dp_68745_b_eM8Rf_b_gJ_p_ht.json\">https://ark.livro.online/json/ark_dp_68745_b_eM8Rf_b_gJ_p_ht.json</a></p>\n\n```\n\n\n## YAML\n\n```{=html}\n\n<object id=\"metadados_livro_yml\" style=\"width: 100%; height:500px;\" data=\"https://leitorweb.livro.online/moan-quarto/exemplo.yml\" type=\"text/yaml\"></object>\n\n<p>Caso não esteja visualizando, acesse: <a class=\"link_ark_yaml\" href=\"https://ark.livro.online/yaml/ark_dp_68745_b_eM8Rf_b_gJ_p_ht.yml\">https://ark.livro.online/yaml/ark_dp_68745_b_eM8Rf_b_gJ_p_ht.yml</a></p>\n\n\n```\n\n:::\n\n## Como Citar\n\nBibTeX:\n\n::: {#como-citar-bibtex}\n```\n@book{juliani_cfs_2024,\n author = {Juliani, Carla Fernanda Sander},\n title = {Norma para Toda Obra — Volume Único},\n year = {2024},\n publisher = {Editora Moan},\n address = {Foz do Iguaçu},\n url = {https://livro.online/norma_para_toda_obra},\n urldate = {A data que vc acessou no padrão aaaa-mm-dd},\n}\n```\n:::\n\nPara atribuição, cite este trabalho como:\n\n::: {#como-citar-atribuicao}\nJULIANI, C. F. S. **Norma para Toda Obra — Volume Único**. Foz do Iguaçu: Editora Moan, 2024. Disponível em: https://livro.online/norma_para_toda_obra. Acesso em: dd m. aaaa.\n:::\n\n## Versão Impressa\n\nCompre a versão impressa e ajude a manter este projeto com livros gratuitos *online*. Mantenha o conhecimento livre!\n\nAssim que o livro físico estiver disponível para venda, ele aparecerá aqui[^1].\n\n[^1]: Se algum link de compra estiver quebrado, por favor, nos avise no e-mail {{< var e-mail >}} ou pelo whatsapp {{< var whatsapp >}}.\n\n## Direitos Autorais\n\n{{< meta moan-dados.direitos-autorais >}}\n\n[{{< meta moan-dados.licença >}}]({{< meta moan-dados.licenca-link >}})\n","srcMarkdownNoYaml":""},"formats":{"moan-livro-html":{"identifier":{"display-name":"HTML","target-format":"moan-livro-html","base-format":"html","extension-name":"moan-livro"},"execute":{"fig-width":7,"fig-height":5,"fig-format":"retina","fig-dpi":96,"df-print":"default","error":false,"eval":true,"cache":null,"freeze":false,"echo":true,"output":true,"warning":true,"include":true,"keep-md":false,"keep-ipynb":false,"ipynb":null,"enabled":null,"daemon":null,"daemon-restart":false,"debug":false,"ipynb-filters":[],"ipynb-shell-interactivity":null,"plotly-connected":true,"engine":"markdown"},"render":{"keep-tex":false,"keep-typ":false,"keep-source":false,"keep-hidden":false,"prefer-html":false,"output-divs":true,"output-ext":"html","fig-align":"default","fig-pos":null,"fig-env":null,"code-fold":"none","code-overflow":"scroll","code-link":false,"code-line-numbers":false,"code-tools":false,"tbl-colwidths":"auto","merge-includes":true,"inline-includes":false,"preserve-yaml":false,"latex-auto-mk":true,"latex-auto-install":trueLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
159608
|
||||
@@ -0,0 +1 @@
|
||||
{"headings":[],"options":{"chapters":true},"entries":[]}
|
||||
@@ -0,0 +1 @@
|
||||
{"headings":["source-sans","source-serif","source-code","eb-garamond","open-sans"],"entries":[],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":[],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["definições","origem-das-normas-leis-e-manuais","abnt-nbr","processo-de-elaboração-das-normas","leis-federal-estadual-e-municipal","manuais-e-instrução-técnica","norma-abge","norma-e-manual-dnerdnit","norma-regulamentadora-nr","normas-reguladoras-vigentes","compreendendo-a-utilização-de-normas-leis-e-manuais-na-engenharia-civil"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":[],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["hidráulica","hidrometria","recursos-hídricos","bacias-hidrográficas","barragens","enquadramento-dos-recursos-hídricos","lançamento-de-efluentes","outorga","planos-de-recursos-hídricos","rede-de-drenagem","água-pluvial-em-edificações","vedação","drenagem-rodoviária","rede-de-drenagem-1","galerias-celulares","poço-de-visita","tampões-e-grelhas","trincheiras-drenantes","tubos-e-conexões","cerâmico","concreto","ferro","plásticos","poliolefínicos","pvc","vedação-1","tunnel-liner","resíduos-sólidos","análises","aterro-sanitário","biogás-e-biometano","compostagem","resíduos","aparelhos-de-refrigeração","construção-civil","fins-energéticos","perigosos","serviços-da-saúde","urbanos","sistema-de-abastecimento-de-água","captação-e-tratamento-da-água","adução","análise-da-água","ancoragem","captação-de-água-subterrânea","filtro-e-tubo","poços-de-monitoramento","projeto","estação-de-tratamento-de-água","rede-de-distribuição-de-água","tratamento","hidráulica-1","estanqueidade","perda-de-carga","pressão-hidrostática","resistência-mecânica","impermeabilização","rede-de-água-em-edificações","água-fria-e-água-quente","água-quente","aparelhos-hidráulicos","cavalete","chuveiros","duchas","limpeza-e-desinfeção","medidor","registro","torneiras","torneiras-elétricas","válvulas","vedação-2","piscina","projeto-1","rede-de-distribuição-de-água-1","poço-de-visita-1","tubos-e-conexões-1","aço","cobre","ferro-1","plástico","polietileno","poliolefínicos-1","polipropileno","pvc-1","termoplástico","reservatórios","impermeabilização-1","reservatório-termossolar","tanque-estacionário-rotomoldado","torneira-de-boia","uso-operação-e-manutenção","sistema-de-abastecimento-de-esgoto","projetos","rede-coletora-de-esgoto","estanqueidade-1","galerias-celulares-1","poço-de-visita-2","tubos-e-conexões-2","cerâmico-1","concreto-1","ferro-2","plástico-1","polietileno-1","poliéster-com-fibras-de-vidro","poliolefínicos-2","pvc-2","vedação-3","uso-operação-e-manutenção-1","limpeza","reparos","rede-de-esgoto-em-edificações","aparelhos-sanitários","mictório","pia","registro-1","tanques-lavatórios-e-bidês","vaso-sanitário","válvulas-1","sistema-não-ligado-a-rede-de-esgoto","tratamento-de-esgoto","efluentes-líquidos-industriais","estação-elevatória","estação-de-tratamento-de-esgoto","lançamento-de-efluentes-1","tanque-séptico","tratamento-1","segurança-no-trabalho","equipamento-de-proteção","qualificação-de-pessoas"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["cidades","acessibilidade","ambiental","áreas-contaminadas","cidades-inteligentes","cidades-sustentáveis","infraestrutura","cultural","estabelecimentos-de-saúde","lazer","passeio-público","rede-energética","energia-eólica","prevenção-de-incêndio","subterrânea","plano-diretor","projetos-urbanísticos","registro-cadastral-municipal","vizinhança","estradas","acessibilidade-1","acompanhamento-da-obra-e-documentos","ensaios","execução","padronização","projetos","terminologia","manutenção-e-operação","operação-da-rodovia","projeto-de-restauração-de-pavimentos","obras-complementares","ambiental-1","barreiras","cercasdefensas","cercas-vivas","concreto","pré-moldado","protendido","edificações","faixas-de-domínio","obras-de-arte-especiais","passarelas","pontes-e-viadutos","túneis","obras-da-malha-rodoviária","acesso-anel-ou-contorno-rodoviário","acostamento","calçada","ciclovia","drenagem-rodoviária","iluminação","integração-com-meio-ambiente","interseções","numeração","redutores-de-velocidade","sinalização","cruzamentos-rodoferroviários","dispositivos-auxiliares","sinalização-cicloviária","sinalização-horizontal","sinalização-semafórica","sinalização-temporária","sinalização-vertical","travessias-urbanas","pavimentos","agregados","base","solo-cal","solo-cimento","escórias","imprimação","pavimento-flexível","alcatrões","asfalto","asfalto-diluído","asfalto-polímero","cimento-asfáltico-de-petróleo","lama-asfáltica","materiais-betuminosos","misturas-asfálticas","borracha","intertravado","microrrevestimento","pré-misturado-a-frio","tratamento-superficial","pavimento-rígido","pavimento-semirrígido","permeável","pintura-de-ligação","emulsão","ligantes-asfálticos","sub-base","sub-leito","solo","muro-de-arrimo","rocha","sondagem","taludes","terraplenagem","aterro","topografia","transportes","acessibilidade-2","transporte-aéreo","prevenção-de-incêndio-1","transporte-ferroviário","bilhetagem","iluminação-1","prevenção-de-incêndios","projeto","segurança-do-tráfego","acidente","sinalização-1","telecomunicação","transporte-de-carga","produtos-perigosos","trem","freioteste-de-freio","locomotiva","roda","rodeiro","vagão","túneis-1","veículo-leve-sobre-trilhos-vlt","via-férrea","lastro","mudança-de-via","travessias","trilho","defeitos-de-trilhos","dormente","transporte-metroviário","bilhetagem-1","iluminação-2","prevenção-de-incêndios-1","projeto-1","segurança-do-tráfego-1","acidente-1","sinalização-2","telecomunicação-1","trem-1","freioteste-de-freio-1","locomotiva-1","roda-1","rodeiro-1","vagão-1","via-férrea-1","lastro-1","mudança-de-via-1","travessias-1","trilho-1","defeitos-de-trilhos-1","dormente-1","túneis-2","transporte-portuário","transporte-rodoviário","acidentes-de-trânsito","inspeção-veicular","motociclista","praça-de-pedágio","segurança-viária","transporte-de-carga-1","produtos-perigosos-1","túneis-3","segurança-no-trabalho","equipamento-de-proteção","qualificação-de-pessoas"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"options":{"chapters":true},"headings":[]}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"index.qmd": {
|
||||
"index.html": "cc7accbe"
|
||||
},
|
||||
"dedicatoria.qmd": {
|
||||
"dedicatoria.html": "f9fa30e1"
|
||||
},
|
||||
"agradecimentos.qmd": {
|
||||
"agradecimentos.html": "0a6a84c3"
|
||||
},
|
||||
"epigrafe.qmd": {
|
||||
"epigrafe.html": "1229f151"
|
||||
},
|
||||
"referencias.qmd": {
|
||||
"referencias.html": "39fd0619"
|
||||
},
|
||||
"a.qmd": {
|
||||
"a.html": "01ae08f3"
|
||||
},
|
||||
"teste/teste.qmd": {
|
||||
"teste.html": "a275b336"
|
||||
},
|
||||
"apresentacao.qmd": {
|
||||
"apresentacao.html": "b8fe5e4d"
|
||||
},
|
||||
"conceitual.qmd": {
|
||||
"conceitual.html": "1c55020f"
|
||||
},
|
||||
"1_construcao_civil.qmd": {
|
||||
"1_construcao_civil.html": "d2e0ea4b"
|
||||
},
|
||||
"2_estruturas.qmd": {
|
||||
"2_estruturas.html": "f071e94a"
|
||||
},
|
||||
"3_infraestrutura_e_transportes.qmd": {
|
||||
"3_infraestrutura_e_transportes.html": "2fd291b1"
|
||||
},
|
||||
"4_saneamento_basico.qmd": {
|
||||
"4_saneamento_basico.html": "1f048d65"
|
||||
},
|
||||
"5_solo.qmd": {
|
||||
"5_solo.html": "bd901d91"
|
||||
},
|
||||
"bibliografia.qmd": {
|
||||
"bibliografia.html": "1ca956ca"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"options":{"chapters":true},"entries":[],"headings":[]}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":[],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["aterramento","ensaios","fundação","gestão","impermeabilização","ensaios-1","execução","muro-de-arrimo","rocha","sondagem","solo-cimento","calda-de-cimento","taludes","terraplenagem","aterro","tirantes","topografia","segurança-no-trabalho","equipamento-de-proteção","qualificação-de-pessoas"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["metadados","como-citar","versão-impressa","direitos-autorais"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["conforto-ambiental","acústica","materiais-construtivos","iluminação","térmico","ensaios","isolantes-térmico","cimento","concreto","espuma","fibralã-cerâmica","fibras-minerais","folhas-de-alumínio","lã-de-pet","lã-de-rocha","lã-de-vidro","materiais-celulares-de-poliestireno","perlita-expandida","poliestireno-expandido","silicato-de-cálcio-ou-sílica-diatomácea","vermiculita-expandida","construção","acessibilidade","acompanhamento-da-obra-e-documentos","as-built-como-construído","caderno-de-encargos","canteiro-de-obra","controle-tecnológico","incorporação-imobiliária","elementos-construtivos-da-edificação","alvenaria-vedações-e-divisórias","adobe","alvenaria","argamassa","blocostijolos","divisórias","gesso-e-placa-cimentícia","light-wood-frame","painéis","parede-em-solo-cimento","parede-estrutural","parede-pré-moldada","taipa-de-pilão","cobertura","elevadores","escadas","esquadrias","dobradiças","fechaduras","portas-automáticas","portas-de-madeira","portas-resistentes-ao-fogo","barra-antipânico","impermeabilização","ensaios-1","execução","madeira","piscina","revestimento","alumínio","cerâmico","ensaio-de-reação-ao-fogo","fachada","paredes","piso","cerâmica","concreto-1","contrapiso","elevados","laminados","madeira-1","rocha","teto","tintas","ensaios-2","vidros","projeto","arquitetura","edificações","habitacionais","estabelecimentos-de-saúde","indústrias","paisagismo","uso-operação-e-manutenção","manutenção","reforma","elétrica-e-complementares","ar-condicionado","automação","eficiência-energética","elementos-elétricos","acessórios","cabos","cabos-resistentes-ao-fogo","ensaios-3","chuveiros-e-torneiras-elétricas","disjuntores","eletroduto-e-eletrocalha","geradores","iluminação-1","iluminação-de-emergência","iluminação-viária","lâmpadas","fluorescente","halógenas","incandescente","led","vapor-de-sódio","luminárias","interruptores","medidor-de-energia","mobiliários","recarga-para-veículo-elétrico","relé","sinalizador-sonoro","tomadas","transformadores","instalações-elétricas-em-locais-especiais","rede-de-distribuição-de-energia-elétrica","sistema-de-alarme","sistema-enterrado","sistema-fotovoltaicos","sistema-de-proteção-contra-descarga-atmosférica-spda","telecomunicação","cabos-ópticos","cabos-telefônicos","orçamentos","perícias-de-engenharia","prevenção-de-incêndio","elementos-de-prevenção-de-incêndio","barra-antipânico-1","bombas","chuveiros-automáticos","detecção-e-alarme","dutos-de-ventilação","elementos-de-compartimentação","elevadores-1","escadas-1","extintores","hidrantes","mangueira","iluminação-de-emergência-1","portas-e-vedadores","tubos","gás","materiais-de-combate-a-incêndios","aditivos-para-água","espuma-1","pó","projetos","controle-de-fumaça","corta-chamas","tipos-de-construção","bens-culturais","indústrias-1","rede-elétrica","salas-cofre","saúde","transporte-aéreo","transporte-sobre-trilhos","túneis","prevenção-contra-explosão","saída-de-emergência","sinalização","resistência-dos-materiais-ao-fogo","segurança-no-trabalho","equipamento-de-proteção","qualificação-de-pessoas"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":["aço","corrosão","limpeza","pintura","ensaio","solda","alumínio","alvenaria-estrutural","concreto","aço-1","aditivos","aglomerantes","agregados","água","cimento","concreto-armado","concreto-autoadensável","concreto-celular","concreto-pré-moldado-e-pré-fabricados","concreto-projetado","concreto-protendido","ensaios","corpo-de-prova","prova-de-carga-estática","fôrmas","juntas","material-pozolânico","estruturas-mistas","fundações","gestão","madeira","ensaio-de-resistência-ao-fogo","obras-estruturais","barragens","passarelas","piscina","pontes-e-viadutos","segurança-no-trabalho","equipamento-de-proteção","qualificação-de-pessoas"],"options":{"chapters":true}}
|
||||
@@ -0,0 +1 @@
|
||||
{"entries":[],"headings":[],"options":{"chapters":true}}
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
# Sobre
|
||||
|
||||
Repositório do livro online "Norma para Toda Obra".
|
||||
|
||||
# Direitos autorais
|
||||
|
||||
© Carla Fernanda Sander Juliani, Editora Moan, 2024.
|
||||
|
||||
# Licença
|
||||
|
||||
Todos os direitos reservados. A reprodução, cópia ou distribuição desta obra, seja em parte ou no todo, só poderá ser realizada mediante autorização, sob pena de violação da [lei de direitos autorais. (Lei 9.610/98)](https://www.planalto.gov.br/ccivil_03/leis/l9610.htm)
|
||||
@@ -0,0 +1,17 @@
|
||||
title: Moan-livro
|
||||
author: Rafael Tavares Juliani
|
||||
version: 1.0.0
|
||||
quarto-required: ">=1.4.0"
|
||||
lang: pt-BR
|
||||
contributes:
|
||||
formats:
|
||||
html:
|
||||
mainfont: Source Sans Pro
|
||||
lang: pt-BR
|
||||
citation: true
|
||||
google-scholar: true
|
||||
smooth-scroll: true
|
||||
theme:
|
||||
light: [cosmo, custom.scss]
|
||||
dark: [superhero, custom.scss]
|
||||
|
||||
@@ -0,0 +1,305 @@
|
||||
/*-- scss:defaults --*/
|
||||
|
||||
/* TODO: Customize html appearance by setting SCSS variables */
|
||||
/* See https://quarto.org/docs/output-formats/html-themes.html#theme-options */
|
||||
|
||||
/*-- scss:rules --*/
|
||||
|
||||
/* TODO: Provide custom CSS rules */
|
||||
|
||||
/*-- scss:defaults --*/
|
||||
$h2-font-size: 1.6rem !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$font-size-base: 1.1rem !default;
|
||||
|
||||
/*-- scss:rules --*/
|
||||
main p, main li {
|
||||
text-align: left;
|
||||
hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
font-kerning: auto;
|
||||
}
|
||||
|
||||
.duas_colunas {
|
||||
column-count: 2;
|
||||
column-gap: 20px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.esquerda p {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.direita p {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.centralizado p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.justificado p {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.versos {
|
||||
margin: 20px 20px 20px 60px;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.versos p {
|
||||
text-indent: -20px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*-- As fontes --*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
src: url('/fontes/Source_Sans_3/SourceSans3-VariableFont_wght.ttf');
|
||||
/* Adicione outras variantes da fonte (light, regular, etc.) conforme necessário */
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Serif';
|
||||
src: url('/fontes/Source_Serif_4/SourceSerif4-VariableFont_opsz,wght.ttf');
|
||||
/* Adicione outras variantes da fonte (light, regular, etc.) conforme necessário */
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Code Pro';
|
||||
src: url('/fontes/Source_Code_Pro/SourceCodePro-VariableFont_wght.ttf');
|
||||
/* Adicione outras variantes da fonte (light, regular, etc.) conforme necessário */
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'EB Garamond';
|
||||
src: url('/fontes/EB_Garamond/EBGaramond-VariableFont_wght.ttf');
|
||||
/* Adicione outras variantes da fonte (light, regular, etc.) conforme necessário */
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
src: url('/fontes/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf');
|
||||
/* Adicione outras variantes da fonte (light, regular, etc.) conforme necessário */
|
||||
}
|
||||
|
||||
.sourcesans {
|
||||
font-family: 'Source Sans Pro', sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.sourceserif {
|
||||
font-family: 'Source Serif', serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.sourcecode {
|
||||
font-family: 'Source Code Pro', monospace;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.ebgaramond {
|
||||
font-family: 'EB Garamond', serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.opensans {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
/*-- FIM das fontes --*/
|
||||
|
||||
.fonte_8 {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
.fonte_9 {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
.fonte_10 {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.fonte_11 {
|
||||
font-size: 1.0rem;
|
||||
}
|
||||
.fonte_12 {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
.fonte_13 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
.fonte_14 {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
.fonte_15 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
.fonte_16 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.espacamento_simples {
|
||||
line-height: 1.2 ;
|
||||
}
|
||||
|
||||
.espacamento_padrao {
|
||||
line-height: 1.5 ;
|
||||
}
|
||||
|
||||
.destaque
|
||||
{
|
||||
display: block;
|
||||
margin: 15px auto;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.continuacao {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.qrcode {
|
||||
display: block;
|
||||
margin: 20px auto;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
#como-citar-bibtex, #como-citar-atribuicao {
|
||||
|
||||
border: 1px solid #dedede;
|
||||
border-radius: 2px;
|
||||
padding: 10px;
|
||||
margin-bottom: 1rem;
|
||||
|
||||
}
|
||||
|
||||
#como-citar-atribuicao p {
|
||||
text-indent: -20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
#como-citar p {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.verso {
|
||||
text-indent: -15px;
|
||||
}
|
||||
|
||||
main li {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
h1{
|
||||
margin-bottom: 18px !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2#toc-title {
|
||||
box-shadow:none;
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
|
||||
margin-top: 50px;
|
||||
|
||||
}
|
||||
|
||||
#TOC .small_h2{
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
|
||||
#TOC a {
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.autores{
|
||||
margin-bottom: 30px;
|
||||
margin-top: -15px;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
div.autores p {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#direitos-autorais p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
blockquote{
|
||||
text-align: left;
|
||||
hyphens: auto;
|
||||
font-kerning: auto;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
blockquote+p span div {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
font-size: unset;
|
||||
}
|
||||
.references div{
|
||||
text-indent: -20px;
|
||||
margin-left: 20px;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.citation div {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
|
||||
.figure-caption {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contador-figura{
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
mjx-container {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 400px){
|
||||
|
||||
.qrcode {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 500px){
|
||||
|
||||
.duas_colunas {
|
||||
column-count: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 991.98px){
|
||||
body .page-columns, body.fullcontent:not(.floating):not(.docked) .page-columns, body.slimcontent:not(.floating):not(.docked) .page-columns, body.docked .page-columns, body.docked.slimcontent .page-columns, body.docked.fullcontent .page-columns, body.floating .page-columns, body.floating.slimcontent .page-columns, body.floating.fullcontent .page-columns {
|
||||
display: grid;
|
||||
gap: 0;
|
||||
grid-template-columns: [screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end];
|
||||
}
|
||||
|
||||
#quarto-margin-sidebar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#quarto-content {
|
||||
max-width: 768px;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
function Pandoc(doc)
|
||||
for _, el in pairs(doc.blocks) do
|
||||
if el.t == "Div" then
|
||||
|
||||
local hasFontClass = false
|
||||
local fontFamily = ''
|
||||
local hasAlinhamentoClass = false
|
||||
local alinhamento = ''
|
||||
local hasFontSizeClass = false
|
||||
local fontSize = ''
|
||||
local hasEntreLinhasClass = false
|
||||
local entreLinhas = ''
|
||||
|
||||
|
||||
for _, class in ipairs(el.classes) do
|
||||
if class == "ebgaramond" then
|
||||
hasFontClass = true
|
||||
fontFamily = '\\ebgaramond'
|
||||
break
|
||||
elseif class == "sourcesans" then
|
||||
hasFontClass = true
|
||||
fontFamily = '\\sourcesans'
|
||||
break
|
||||
elseif class == "sourcecode" then
|
||||
hasFontClass = true
|
||||
fontFamily = '\\sourcecode'
|
||||
break
|
||||
elseif class == "sourceserif" then
|
||||
hasFontClass = true
|
||||
fontFamily = '\\sourceserif'
|
||||
break
|
||||
elseif class == "opensans" then
|
||||
hasFontClass = true
|
||||
fontFamily = '\\opensans'
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
for _, class in ipairs(el.classes) do
|
||||
if class == "centralizado" then
|
||||
hasAlinhamentoClass = true
|
||||
alinhamento = '\\centralizado'
|
||||
break
|
||||
elseif class == "esquerda" then
|
||||
hasAlinhamentoClass = true
|
||||
alinhamento = '\\esquerda'
|
||||
break
|
||||
elseif class == "direita" then
|
||||
hasAlinhamentoClass = true
|
||||
alinhamento = '\\direita'
|
||||
break
|
||||
elseif class == "justificado" then
|
||||
hasAlinhamentoClass = true
|
||||
alinhamento = '\\justificado'
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
for _, class in ipairs(el.classes) do
|
||||
if class == "fonte_8" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{8pt}{10pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_9" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{9pt}{11pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_10" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{10pt}{12pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_11" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{11pt}{13pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_12" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{12pt}{14pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_13" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{13pt}{15pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_14" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{14pt}{16pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_15" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{15pt}{17pt}\\selectfont'
|
||||
break
|
||||
elseif class == "fonte_16" then
|
||||
hasFontSizeClass = true
|
||||
fontSize = '\\fontsize{16pt}{18pt}\\selectfont'
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
for _, class in ipairs(el.classes) do
|
||||
if class == "espacamento_simples" then
|
||||
hasEntreLinhasClass = true
|
||||
entreLinhas = '\\setstretch{1.2}'
|
||||
break
|
||||
elseif class == "espacamento_duplo" then
|
||||
hasEntreLinhasClass = true
|
||||
entreLinhas = '\\setstretch{1.5}'
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if hasFontClass then
|
||||
-- Adiciona o conteúdo antes e depois do elemento
|
||||
table.insert(el.content, 1, pandoc.RawInline("latex", fontFamily))
|
||||
table.insert(el.content, pandoc.RawInline("latex", "\\sourcesans"))
|
||||
|
||||
end
|
||||
|
||||
if hasAlinhamentoClass then
|
||||
-- Adiciona o conteúdo antes e depois do elemento
|
||||
table.insert(el.content, 1, pandoc.RawInline("latex", alinhamento))
|
||||
table.insert(el.content, pandoc.RawInline("latex", "\\justificado"))
|
||||
end
|
||||
|
||||
if hasFontSizeClass then
|
||||
-- Adiciona o conteúdo antes e depois do elemento
|
||||
table.insert(el.content, 1, pandoc.RawInline("latex", fontSize))
|
||||
table.insert(el.content, pandoc.RawInline("latex", "\\normalsize"))
|
||||
end
|
||||
|
||||
if hasEntreLinhasClass then
|
||||
-- Adiciona o conteúdo antes e depois do elemento
|
||||
table.insert(el.content, 1, pandoc.RawInline("latex", entreLinhas))
|
||||
table.insert(el.content, pandoc.RawInline("latex", "\\setstretch{1.5}"))
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
return doc
|
||||
end
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
name: Luacheck
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
|
||||
luacheck:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Luacheck
|
||||
uses: lunarmodules/luacheck@v1
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Test
|
||||
|
||||
on: [ push, pull_request ]
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
luaVersion: ['luajit', '5.1', '5.2', '5.3', '5.4.4']
|
||||
runs-on: ubuntu-22.04
|
||||
name: test lua ${{ matrix.luaVersion }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup ‘lua’
|
||||
uses: leafo/gh-actions-lua@v9
|
||||
with:
|
||||
luaVersion: ${{ matrix.luaVersion }}
|
||||
buildCache: true
|
||||
- name: Test
|
||||
run: |
|
||||
lua qrtest.lua
|
||||
@@ -0,0 +1 @@
|
||||
docs
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "ghpages"]
|
||||
path = ghpages
|
||||
url = [email protected]:speedata/luaqrcode.git
|
||||
@@ -0,0 +1,15 @@
|
||||
std = "max"
|
||||
include_files = {
|
||||
"**/*.lua",
|
||||
"*.rockspec",
|
||||
".luacheckrc"
|
||||
}
|
||||
exclude_files = {
|
||||
".luarocks",
|
||||
"locco/*"
|
||||
}
|
||||
globals = {
|
||||
"testing",
|
||||
"debugging"
|
||||
}
|
||||
max_line_length = false
|
||||
@@ -0,0 +1,24 @@
|
||||
Copyright (c) 2012-2020, Patrick Gundlach (SPEEDATA GMBH) and contributors, see https://github.com/speedata/luaqrcode. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of SPEEDATA nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL SPEEDATA BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,2 @@
|
||||
doc:
|
||||
lua locco/locco.lua qrencode.lua
|
||||
@@ -0,0 +1,10 @@
|
||||
See the homepage at http://speedata.github.io/luaqrcode/ for more information.
|
||||
|
||||
Special thanks to all contributors. Everything helps: bug reports, patches etc.
|
||||
|
||||
License: 3-clause BSD license<br>
|
||||
Usability status: mature, used in production<br>
|
||||
Maintenance status: maintained (bug fixes)<br>
|
||||
|
||||
Part of the [speedata Publisher](https://www.speedata.de/).
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
(Note from Patrick Gundlach: this is a slightly modified version of locco,
|
||||
I like to use three dashes for locco documentation, two dashes for normal
|
||||
Lua comments.)
|
||||
|
||||
______
|
||||
___ / ________________________
|
||||
__ / _ __ \ ___/ ___/ __ \
|
||||
_ /___/ /_/ / /__ / /__ / /_/ /
|
||||
/_____/\____/\___/ \___/ \____/
|
||||
|
||||
|
||||
Locco is a Lua port of Docco: the original quick-and-dirty, hundred-line-
|
||||
long, literate-programming-style documentation generator. For more information,
|
||||
see the generated docs:
|
||||
|
||||
<http://rgieseke.github.com/locco/>
|
||||
|
||||
Other languages:
|
||||
|
||||
CoffeeScript - <http://jashkenas.github.com/docco/>
|
||||
|
||||
Python - <http://fitzgen.github.com/pycco/>
|
||||
|
||||
Ruby - <http://rtomayko.github.com/rocco/>
|
||||
|
||||
Sh - <http://rtomayko.github.com/shocco/>
|
||||
@@ -0,0 +1,202 @@
|
||||
/*--------------------- Layout and Typography ----------------------------*/
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
color: #252519;
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
a {
|
||||
color: #261a3b;
|
||||
}
|
||||
a:visited {
|
||||
color: #261a3b;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0px 0 15px 0;
|
||||
line-height: 110%;
|
||||
}
|
||||
h1 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
#container {
|
||||
position: relative;
|
||||
}
|
||||
#background {
|
||||
position: fixed;
|
||||
top: 0; left: 525px; right: 0; bottom: 0;
|
||||
background: #f5f5ff;
|
||||
border-left: 1px solid #e5e5ee;
|
||||
z-index: -1;
|
||||
}
|
||||
#jump_to, #jump_page {
|
||||
background: white;
|
||||
-webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
|
||||
-webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
|
||||
font: 10px Arial;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
text-align: right;
|
||||
}
|
||||
#jump_to, #jump_wrapper {
|
||||
position: fixed;
|
||||
right: 0; top: 0;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
#jump_wrapper {
|
||||
padding: 0;
|
||||
display: none;
|
||||
}
|
||||
#jump_to:hover #jump_wrapper {
|
||||
display: block;
|
||||
}
|
||||
#jump_page {
|
||||
padding: 5px 0 3px;
|
||||
margin: 0 0 25px 25px;
|
||||
}
|
||||
#jump_page .source {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
text-decoration: none;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
#jump_page .source:hover {
|
||||
background: #f5f5ff;
|
||||
}
|
||||
#jump_page .source:first-child {
|
||||
}
|
||||
table td {
|
||||
border: 0;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
td.docs > table {
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
table.body {
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td.docs, th.docs {
|
||||
max-width: 450px;
|
||||
min-width: 450px;
|
||||
min-height: 5px;
|
||||
padding: 10px 25px 1px 50px;
|
||||
overflow-x: hidden;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
.docs pre {
|
||||
margin: 15px 0 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.docs p tt, .docs p code {
|
||||
background: #f8f8ff;
|
||||
border: 1px solid #dedede;
|
||||
font-size: 12px;
|
||||
padding: 0 0.2em;
|
||||
}
|
||||
.pilwrap {
|
||||
position: relative;
|
||||
}
|
||||
.pilcrow {
|
||||
font: 12px Arial;
|
||||
text-decoration: none;
|
||||
color: #454545;
|
||||
position: absolute;
|
||||
top: 3px; left: -20px;
|
||||
padding: 1px 2px;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
}
|
||||
td.docs:hover .pilcrow {
|
||||
opacity: 1;
|
||||
}
|
||||
td.code, th.code {
|
||||
padding: 14px 15px 16px 25px;
|
||||
width: 100%;
|
||||
vertical-align: top;
|
||||
background: #f5f5ff;
|
||||
border-left: 1px solid #e5e5ee;
|
||||
}
|
||||
pre, tt, code {
|
||||
font-size: 12px; line-height: 18px;
|
||||
font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------- Syntax Highlighting -----------------------------*/
|
||||
td.linenos { background-color: #f0f0f0; padding-right: 10px; }
|
||||
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
|
||||
body .hll { background-color: #ffffcc }
|
||||
body .c { color: #408080; font-style: italic } /* Comment */
|
||||
body .err { border: 1px solid #FF0000 } /* Error */
|
||||
body .k { color: #954121 } /* Keyword */
|
||||
body .o { color: #666666 } /* Operator */
|
||||
body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
body .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
body .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
body .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
body .gd { color: #A00000 } /* Generic.Deleted */
|
||||
body .ge { font-style: italic } /* Generic.Emph */
|
||||
body .gr { color: #FF0000 } /* Generic.Error */
|
||||
body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
body .gi { color: #00A000 } /* Generic.Inserted */
|
||||
body .go { color: #808080 } /* Generic.Output */
|
||||
body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
body .gs { font-weight: bold } /* Generic.Strong */
|
||||
body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
body .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
body .kc { color: #954121 } /* Keyword.Constant */
|
||||
body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
|
||||
body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
|
||||
body .kp { color: #954121 } /* Keyword.Pseudo */
|
||||
body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
|
||||
body .kt { color: #B00040 } /* Keyword.Type */
|
||||
body .m { color: #666666 } /* Literal.Number */
|
||||
body .s { color: #219161 } /* Literal.String */
|
||||
body .na { color: #7D9029 } /* Name.Attribute */
|
||||
body .nb { color: #954121 } /* Name.Builtin */
|
||||
body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
body .no { color: #880000 } /* Name.Constant */
|
||||
body .nd { color: #AA22FF } /* Name.Decorator */
|
||||
body .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
body .nf { color: #0000FF } /* Name.Function */
|
||||
body .nl { color: #A0A000 } /* Name.Label */
|
||||
body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
body .nt { color: #954121; font-weight: bold } /* Name.Tag */
|
||||
body .nv { color: #19469D } /* Name.Variable */
|
||||
body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
body .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
body .mf { color: #666666 } /* Literal.Number.Float */
|
||||
body .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
body .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
body .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
body .sb { color: #219161 } /* Literal.String.Backtick */
|
||||
body .sc { color: #219161 } /* Literal.String.Char */
|
||||
body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
|
||||
body .s2 { color: #219161 } /* Literal.String.Double */
|
||||
body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
body .sh { color: #219161 } /* Literal.String.Heredoc */
|
||||
body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
body .sx { color: #954121 } /* Literal.String.Other */
|
||||
body .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
body .s1 { color: #219161 } /* Literal.String.Single */
|
||||
body .ss { color: #19469D } /* Literal.String.Symbol */
|
||||
body .bp { color: #954121 } /* Name.Builtin.Pseudo */
|
||||
body .vc { color: #19469D } /* Name.Variable.Class */
|
||||
body .vg { color: #19469D } /* Name.Variable.Global */
|
||||
body .vi { color: #19469D } /* Name.Variable.Instance */
|
||||
body .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||
@@ -0,0 +1,266 @@
|
||||
#!/usr/bin/env lua
|
||||
-- __Locco__ is a Lua port of [Docco](http://jashkenas.github.com/docco/),
|
||||
-- the quick-and-dirty, hundred-line-long, literate-programming-style
|
||||
-- documentation generator. It produces HTML that displays your comments
|
||||
-- alongside your code. Comments are passed through
|
||||
-- [Markdown](http://daringfireball.net/projects/markdown/), and code is
|
||||
-- syntax highlighted.
|
||||
-- This page is the result of running Locco against its own source file:
|
||||
-- locco.lua locco.lua
|
||||
--
|
||||
-- For its syntax highlighting Locco relies on the help of
|
||||
-- [David Manura](http://lua-users.org/wiki/DavidManura)'s
|
||||
-- [Lua Balanced](https://github.com/davidm/lua-balanced) to split
|
||||
-- up the code. As a markdown engine it ships with
|
||||
-- [Niklas Frykholm](http://www.frykholm.se/)'s
|
||||
-- [markdown.lua](http://www.frykholm.se/files/markdown.lua) in the [Lua 5.2
|
||||
-- compatible version](https://github.com/speedata/luamarkdown) from
|
||||
-- [Patrick Gundlach](https://github.com/pgundlach). Otherwise there
|
||||
-- are no external dependencies.
|
||||
--
|
||||
-- The generated HTML documentation for the given source files is saved
|
||||
-- into a `docs` directory. If you have Locco on your path you can run it from
|
||||
-- the command-line:
|
||||
-- locco.lua project/*.lua
|
||||
--
|
||||
-- Locco is monolingual, but there are many projects written in
|
||||
-- and with support for other languages, see the
|
||||
-- [Docco](http://jashkenas.github.com/docco/) page for a list.<br>
|
||||
-- The [source for Locco](https://github.com/rgieseke/locco) is available on
|
||||
-- GitHub, and released under the MIT
|
||||
-- license.
|
||||
|
||||
-- ### Setup & Helpers
|
||||
|
||||
-- Add script path to package path to find submodules.
|
||||
local script_path = arg[0]:match('(.+)/.+')
|
||||
package.path = table.concat({
|
||||
script_path..'/?.lua',
|
||||
package.path
|
||||
}, ';')
|
||||
|
||||
-- Load markdown.lua.
|
||||
local md = require 'markdown'
|
||||
-- Load Lua Balanced.
|
||||
local lb = require 'luabalanced'
|
||||
-- Load HTML templates.
|
||||
local template = require 'template'
|
||||
|
||||
-- Ensure the `docs` directory exists and return the _path_ of the source file.<br>
|
||||
-- Parameter:<br>
|
||||
-- _source_: The source file for which documentation is generated.<br>
|
||||
local function ensure_directory(source)
|
||||
local path = source:match('(.+)/.+$')
|
||||
if not path then path = '.' end
|
||||
os.execute('mkdir -p '..path..'/ghpages/docs')
|
||||
return path
|
||||
end
|
||||
|
||||
-- Insert HTML entities in a string.<br>
|
||||
-- Parameter:<br>
|
||||
-- _s_: String to escape.<br>
|
||||
local function escape(s)
|
||||
s = s:gsub('&', '&')
|
||||
s = s:gsub('<', '<')
|
||||
s = s:gsub('>', '>')
|
||||
s = s:gsub('%%', '%')
|
||||
return s
|
||||
end
|
||||
|
||||
--local function replace_percent(s)
|
||||
-- s = s:gsub('%%', '%%%%')
|
||||
-- return s
|
||||
--end
|
||||
|
||||
-- Define the Lua keywords, built-in functions and operators that should
|
||||
-- be highlighted.
|
||||
local keywords = { 'break', 'do', 'else', 'elseif', 'end', 'false', 'for',
|
||||
'function', 'if', 'in', 'local', 'nil', 'repeat', 'return',
|
||||
'then', 'true', 'until', 'while' }
|
||||
local functions = { 'assert', 'collectgarbage', 'dofile', 'error', 'getfenv',
|
||||
'getmetatable', 'ipairs', 'load', 'loadfile', 'loadstring',
|
||||
'module', 'next', 'pairs', 'pcall', 'print', 'rawequal',
|
||||
'rawget', 'rawset', 'require', 'setfenv', 'setmetatable',
|
||||
'tonumber', 'tostring', 'type', 'unpack', 'xpcall' }
|
||||
local operators = { 'and', 'not', 'or' }
|
||||
|
||||
-- Wrap an item from a list of Lua keywords in a span template or return the
|
||||
-- unchanged item.<br>
|
||||
-- Parameters:<br>
|
||||
-- _item_: An item of a code snippet.<br>
|
||||
-- _item\_list_: List of keywords or functions.<br>
|
||||
-- _span\_class_: Style sheet class.<br>
|
||||
local function wrap_in_span(item, item_list, span_class)
|
||||
for i=1, #item_list do
|
||||
if item_list[i] == item then
|
||||
item = '<span class="'..span_class..'">'..item..'</span>'
|
||||
break
|
||||
end
|
||||
end
|
||||
return item
|
||||
end
|
||||
|
||||
-- Quick and dirty source code highlighting. A chunk of code is split into
|
||||
-- comments (at the end of a line), strings and code using the
|
||||
-- [Lua Balanced](https://github.com/davidm/lua-balanced/blob/master/luabalanced.lua)
|
||||
-- module. The code is then split again and matched against lists
|
||||
-- of Lua keywords, functions or operators. All Lua items are wrapped into
|
||||
-- a span having one of the classes defined in the Locco style sheet.<br>
|
||||
-- Parameter:<br>
|
||||
-- _code_: Chunk of code to highlight.<br>
|
||||
local function highlight_lua(code)
|
||||
local out = lb.gsub(code,
|
||||
function(u, s)
|
||||
local sout
|
||||
if u == 'c' then -- Comments.
|
||||
sout = '<span class="c">'..escape(s)..'</span>'
|
||||
elseif u == 's' then -- Strings.
|
||||
sout = '<span class="s">'..escape(s)..'</span>'
|
||||
elseif u == 'e' then -- Code.
|
||||
s = escape(s)
|
||||
-- First highlight function names.
|
||||
s = s:gsub('function ([%w_:%.]+)', 'function <span class="nf">%1</span>')
|
||||
-- There might be a non-keyword at the beginning of the snippet.
|
||||
sout = s:match('^(%A+)') or ''
|
||||
-- Iterate through Lua items and try to wrap operators,
|
||||
-- keywords and built-in functions in span elements.
|
||||
-- If nothing was highlighted go to the next category.
|
||||
for item, sep in s:gmatch('([%a_]+)(%A+)') do
|
||||
local span, n = wrap_in_span(item, operators, 'o')
|
||||
if span == item then
|
||||
span, n = wrap_in_span(item, keywords, 'k')
|
||||
end
|
||||
if span == item then
|
||||
span, n = wrap_in_span(item, functions, 'nt')
|
||||
end
|
||||
sout = sout..span..sep
|
||||
end
|
||||
end
|
||||
return sout
|
||||
end)
|
||||
out = '<div class="highlight"><pre>'..out..'</pre></div>'
|
||||
return out
|
||||
end
|
||||
|
||||
|
||||
-- ### Main Documentation Generation Functions
|
||||
|
||||
-- Given a string of source code, parse out each comment and the code that
|
||||
-- follows it, and create an individual section for it. Sections take the form:
|
||||
--
|
||||
-- {
|
||||
-- docs_text = ...,
|
||||
-- docs_html = ...,
|
||||
-- code_text = ...,
|
||||
-- code_html = ...,
|
||||
-- }
|
||||
--
|
||||
-- Parameter:<br>
|
||||
-- _source_: The source file to process.<br>
|
||||
local function parse(source)
|
||||
local sections = {}
|
||||
local has_code = false
|
||||
local docs_text, code_text = '', ''
|
||||
for line in io.lines(source) do
|
||||
if line:match('^%s*%-%-%-') then
|
||||
if has_code then
|
||||
code_text = code_text:gsub('\n\n$', '\n') -- remove empty trailing line
|
||||
sections[#sections + 1] = { ['docs_text'] = docs_text,
|
||||
['code_text'] = code_text }
|
||||
has_code = false
|
||||
docs_text, code_text = '', ''
|
||||
end
|
||||
docs_text = docs_text..line:gsub('%s*(%-%-%-%s?)', '', 1)..'\n'
|
||||
else
|
||||
if not line:match('^#!') then -- ignore #!/usr/bin/lua
|
||||
has_code = true
|
||||
code_text = code_text..line..'\n'
|
||||
end
|
||||
end
|
||||
end
|
||||
sections[#sections + 1] = { ['docs_text'] = docs_text,
|
||||
['code_text'] = code_text }
|
||||
return sections
|
||||
end
|
||||
|
||||
-- Loop through a table of split sections and convert the documentation
|
||||
-- from Markdown to HTML and pass the code through Locco's syntax
|
||||
-- highlighting. Add _docs\_html_ and _code\_html_ elements to the sections
|
||||
-- table.<br>
|
||||
-- Parameter:<br>
|
||||
-- _sections_: A table with split sections.<br>
|
||||
local function highlight(sections)
|
||||
for i=1, #sections do
|
||||
sections[i]['docs_html'] = md.markdown(sections[i]['docs_text'])
|
||||
sections[i]['code_html'] = highlight_lua(sections[i]['code_text'])
|
||||
end
|
||||
return sections
|
||||
end
|
||||
|
||||
-- After the highlighting is done, the template is filled with the documentation
|
||||
-- and code snippets and an HTML file is written.<br>
|
||||
-- Parameters:<br>
|
||||
-- _source_: The source file.<br>
|
||||
-- _path_: Path of the source file.<br>
|
||||
-- _filename_: The filename of the source file.<br>
|
||||
-- _sections_: A table with the original sections and rendered as HTML.<br>
|
||||
-- _jump\_to_: A HTML chunk with links to other documentation files.
|
||||
local function generate_html(source, path, filename, sections, jump_to)
|
||||
local f, err = io.open(path..'/ghpages/docs/'..filename:gsub('lua$', 'html'), 'wb')
|
||||
if err then print(err) end
|
||||
local h = template.header:gsub('%%title%%', source)
|
||||
h = h:gsub('%%jump%%', jump_to)
|
||||
f:write(h)
|
||||
for i=1, #sections do
|
||||
local t = template.table_entry:gsub('%%index%%', i..'')
|
||||
t = t:gsub('%%docs_html%%', sections[i]['docs_html'])
|
||||
t = t:gsub('%%code_html%%', sections[i]['code_html'])
|
||||
f:write(t)
|
||||
end
|
||||
f:write(template.footer)
|
||||
f:close()
|
||||
end
|
||||
|
||||
-- Generate the documentation for a source file by reading it in,
|
||||
-- splitting it up into comment/code sections, highlighting and merging
|
||||
-- them into an HTML template.<br>
|
||||
-- Parameters:<br>
|
||||
-- _source_: The source file to process.<br>
|
||||
-- _path_: Path of the source file.<br>
|
||||
-- _filename_: The filename of the source file.<br>
|
||||
-- _jump\_to_: A HTML chunk with links to other documentation files.
|
||||
local function generate_documentation(source, path, filename, jump_to)
|
||||
local sections = parse(source)
|
||||
local sections = highlight(sections)
|
||||
generate_html(source, path, filename, sections, jump_to)
|
||||
end
|
||||
|
||||
|
||||
-- Run the script.
|
||||
|
||||
-- Generate HTML links to other files in the documentation.
|
||||
local jump_to = ''
|
||||
if #arg > 1 then
|
||||
jump_to = template.jump_start
|
||||
for i=1, #arg do
|
||||
local link = arg[i]:gsub('lua$', 'html')
|
||||
link = link:match('.+/(.+)$') or link
|
||||
local t = template.jump:gsub('%%jump_html%%', link)
|
||||
t = t:gsub('%%jump_lua%%', arg[i])
|
||||
jump_to = jump_to..t
|
||||
end
|
||||
jump_to = jump_to..template.jump_end
|
||||
end
|
||||
|
||||
-- Make sure the output directory exists, generate the HTML files for each
|
||||
-- source file, print what's happening and write the style sheet.
|
||||
local path = ensure_directory(arg[1])
|
||||
for i=1, #arg do
|
||||
local filename = arg[i]:match('.+/(.+)$') or arg[i]
|
||||
generate_documentation(arg[i], path, filename, jump_to)
|
||||
print(arg[i]..' --> '..path..'/ghpages/docs/'..filename:gsub('lua$', 'html'))
|
||||
end
|
||||
local f, err = io.open(path..'/'..'ghpages/docs/locco.css', 'wb')
|
||||
if err then print(err) end
|
||||
f:write(template.css)
|
||||
f:close()
|
||||
@@ -0,0 +1,367 @@
|
||||
--[==[
|
||||
|
||||
LUA MODULE
|
||||
|
||||
luabalanced v$(_VERSION) - Functions for matching delimited snippets of Lua code in a string
|
||||
|
||||
SYNOPSIS
|
||||
|
||||
local LB = require "luabalanced"
|
||||
-- Extract Lua expression starting at position 4.
|
||||
print(LB.match_expression("if x^2 + x > 5 then print(x) end", 4))
|
||||
--> x^2 + x > 5 16
|
||||
-- Extract Lua string starting at (default) position 1.
|
||||
print(LB.match_string([["test\"123" .. "more"]]))
|
||||
--> "test\"123" 12
|
||||
-- Break Lua code into code types.
|
||||
LB.gsub([[
|
||||
local x = 1 -- test
|
||||
print("x=", x)
|
||||
]], function(u, s)
|
||||
print(u .. '[' .. s .. ']')
|
||||
end)
|
||||
--[[output:
|
||||
e[ local x = 1 ]
|
||||
c[-- test
|
||||
]
|
||||
e[ print(]
|
||||
s["x="]
|
||||
e[, x)
|
||||
]
|
||||
]]
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
This module can, for example, match a Lua string, Lua comment, or Lua
|
||||
expression. It is useful in particular for source filters or parsing
|
||||
Lua snippets embedded in another language. It is inspired by Damian Conway's
|
||||
Text::Balanced [1] in Perl. The unique feature of this implementation
|
||||
is that that it does not rigorously lex and parse the Lua grammar.
|
||||
It doesn't need to. It assumes during the parse that the Lua code is
|
||||
syntactically correct (which can be verified later using loadstring).
|
||||
By assuming this, extraction of delimited sequences is significantly
|
||||
simplified yet can still be robust, and it also supports supersets
|
||||
of the Lua grammar. The code, which is written entirely in Lua,
|
||||
is just under 200 lines of Lua code (compare to Yueliang used in
|
||||
MetaLua, where the lexer alone is a few hundred lines).
|
||||
|
||||
API
|
||||
|
||||
LB.match_string(s, pos) --> string, posnew
|
||||
|
||||
Match Lua string in string <s> starting at position `pos`.
|
||||
Returns `string`, `posnew`, where `string` is the matched
|
||||
string (or nil on no match) and `posnew` is the character
|
||||
following the match (or `pos` on no match).
|
||||
Supports all Lua string syntax: "...", '...', [[...]], [=[...]=], etc.
|
||||
|
||||
LB.match_bracketed(s, pos) --> string, posnew
|
||||
|
||||
Match bracketed Lua expression, e.g. "(...)", "{...}", "[...]", "[[...]]",
|
||||
[=[...]=], etc.
|
||||
Function interface is similar to `match_string`.
|
||||
|
||||
LB.match_comment(s, pos) --> string, posnew
|
||||
|
||||
Match Lua comment, e.g. "--...\n", "--[[...]]", "--[=[...]=]", etc.
|
||||
Function interface is similar to `match_string`.
|
||||
|
||||
LB.match_expression(s, pos) --> string, posnew
|
||||
|
||||
Match Lua expression, e.g. "a + b * c[e]".
|
||||
Function interface is similar to match_string.
|
||||
|
||||
LB.match_namelist(s, pos) --> array, posnew
|
||||
|
||||
Match name list (zero or more names). E.g. "a,b,c"
|
||||
Function interface is similar to match_string,
|
||||
but returns array as match.
|
||||
|
||||
M.match_explist(s, pos) --> array, posnew
|
||||
|
||||
Match expression list (zero or more expressions). E.g. "a+b,b*c".
|
||||
Function interface is similar to match_string,
|
||||
but returns array as match.
|
||||
|
||||
M.gsub(s, f)
|
||||
|
||||
Replace snippets of code in Lua code string `s`
|
||||
using replacement function `f(u,sin) --> sout`.
|
||||
`u` is the type of snippet ('c' = comment, 's' = string,
|
||||
'e' = any other code).
|
||||
Snippet is replaced with `sout` (unless `sout` is `nil` or `false`, in
|
||||
which case the original snippet is kept)
|
||||
This is somewhat analogous to `string.gsub`.
|
||||
|
||||
DEPENDENCIES
|
||||
|
||||
None (other than Lua 5.1 or 5.2).
|
||||
|
||||
HOME PAGE
|
||||
|
||||
http://lua-users.org/wiki/LuaBalanced
|
||||
https://github.com/davidm/lua-balanced
|
||||
|
||||
DOWNLOAD/INSTALL
|
||||
|
||||
If using LuaRocks:
|
||||
luarocks install lua-balanced
|
||||
|
||||
Otherwise, download <https://github.com/davidm/lua-balanced/zipball/master>
|
||||
and unzip. Alternately, if using git:
|
||||
git clone git://github.com/davidm/lua-balanced.git
|
||||
cd lua-balanced
|
||||
Optionally unpack:
|
||||
./util.mk
|
||||
or unpack and install in LuaRocks:
|
||||
./util.mk install
|
||||
|
||||
REFERENCES
|
||||
|
||||
[1] http://lua-users.org/wiki/LuaBalanced
|
||||
[2] http://search.cpan.org/dist/Text-Balanced/lib/Text/Balanced.pm
|
||||
|
||||
LICENSE
|
||||
|
||||
(c) 2008-2011 David Manura. Licensed under the same terms as Lua (MIT).
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
(end license)
|
||||
|
||||
--]==]---------------------------------------------------------------------
|
||||
|
||||
local M = {_TYPE='module', _NAME='luabalanaced', _VERSION='0.1.1.20120323'}
|
||||
|
||||
local assert = assert
|
||||
|
||||
-- map opening brace <-> closing brace.
|
||||
local ends = { ['('] = ')', ['{'] = '}', ['['] = ']' }
|
||||
local begins = {}; for k,v in pairs(ends) do begins[v] = k end
|
||||
|
||||
|
||||
local function match_string(s, pos)
|
||||
pos = pos or 1
|
||||
local posa = pos
|
||||
local c = s:sub(pos,pos)
|
||||
if c == '"' or c == "'" then
|
||||
pos = pos + 1
|
||||
while 1 do
|
||||
pos = assert(s:find("[" .. c .. "\\]", pos), 'syntax error')
|
||||
if s:sub(pos,pos) == c then
|
||||
local part = s:sub(posa, pos)
|
||||
return part, pos + 1
|
||||
else
|
||||
pos = pos + 2
|
||||
end
|
||||
end
|
||||
else
|
||||
local sc = s:match("^%[(=*)%[", pos)
|
||||
if sc then
|
||||
local _; _, pos = s:find("%]" .. sc .. "%]", pos)
|
||||
assert(pos)
|
||||
local part = s:sub(posa, pos)
|
||||
return part, pos + 1
|
||||
else
|
||||
return nil, pos
|
||||
end
|
||||
end
|
||||
end
|
||||
M.match_string = match_string
|
||||
|
||||
|
||||
local function match_bracketed(s, pos)
|
||||
pos = pos or 1
|
||||
local posa = pos
|
||||
local ca = s:sub(pos,pos)
|
||||
if not ends[ca] then
|
||||
return nil, pos
|
||||
end
|
||||
local stack = {}
|
||||
while 1 do
|
||||
pos = s:find('[%(%{%[%)%}%]\"\']', pos)
|
||||
assert(pos, 'syntax error: unbalanced')
|
||||
local c = s:sub(pos,pos)
|
||||
if c == '"' or c == "'" then
|
||||
local part; part, pos = match_string(s, pos)
|
||||
assert(part)
|
||||
elseif ends[c] then -- open
|
||||
local mid, posb
|
||||
if c == '[' then mid, posb = s:match('^%[(=*)%[()', pos) end
|
||||
if mid then
|
||||
pos = s:match('%]' .. mid .. '%]()', posb)
|
||||
assert(pos, 'syntax error: long string not terminated')
|
||||
if #stack == 0 then
|
||||
local part = s:sub(posa, pos-1)
|
||||
return part, pos
|
||||
end
|
||||
else
|
||||
stack[#stack+1] = c
|
||||
pos = pos + 1
|
||||
end
|
||||
else -- close
|
||||
assert(stack[#stack] == assert(begins[c]), 'syntax error: unbalanced')
|
||||
stack[#stack] = nil
|
||||
if #stack == 0 then
|
||||
local part = s:sub(posa, pos)
|
||||
return part, pos+1
|
||||
end
|
||||
pos = pos + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
M.match_bracketed = match_bracketed
|
||||
|
||||
|
||||
local function match_comment(s, pos)
|
||||
pos = pos or 1
|
||||
if s:sub(pos, pos+1) ~= '--' then
|
||||
return nil, pos
|
||||
end
|
||||
pos = pos + 2
|
||||
local partt, post = match_string(s, pos)
|
||||
if partt then
|
||||
return '--' .. partt, post
|
||||
end
|
||||
local part; part, pos = s:match('^([^\n]*\n?)()', pos)
|
||||
return '--' .. part, pos
|
||||
end
|
||||
|
||||
|
||||
local wordop = {['and']=true, ['or']=true, ['not']=true}
|
||||
local is_compare = {['>']=true, ['<']=true, ['~']=true}
|
||||
local function match_expression(s, pos)
|
||||
pos = pos or 1
|
||||
local posa = pos
|
||||
local lastident
|
||||
local poscs, posce
|
||||
while pos do
|
||||
local c = s:sub(pos,pos)
|
||||
if c == '"' or c == "'" or c == '[' and s:find('^[=%[]', pos+1) then
|
||||
local part; part, pos = match_string(s, pos)
|
||||
assert(part, 'syntax error')
|
||||
elseif c == '-' and s:sub(pos+1,pos+1) == '-' then
|
||||
-- note: handle adjacent comments in loop to properly support
|
||||
-- backtracing (poscs/posce).
|
||||
poscs = pos
|
||||
while s:sub(pos,pos+1) == '--' do
|
||||
local part; part, pos = match_comment(s, pos)
|
||||
assert(part)
|
||||
pos = s:match('^%s*()', pos)
|
||||
posce = pos
|
||||
end
|
||||
elseif c == '(' or c == '{' or c == '[' then
|
||||
local part; part, pos = match_bracketed(s, pos)
|
||||
elseif c == '=' and s:sub(pos+1,pos+1) == '=' then
|
||||
pos = pos + 2 -- skip over two-char op containing '='
|
||||
elseif c == '=' and is_compare[s:sub(pos-1,pos-1)] then
|
||||
pos = pos + 1 -- skip over two-char op containing '='
|
||||
elseif c:match'^[%)%}%];,=]' then
|
||||
local part = s:sub(posa, pos-1)
|
||||
return part, pos
|
||||
elseif c:match'^[%w_]' then
|
||||
local newident,newpos = s:match('^([%w_]+)()', pos)
|
||||
if pos ~= posa and not wordop[newident] then -- non-first ident
|
||||
local pose = ((posce == pos) and poscs or pos) - 1
|
||||
while s:match('^%s', pose) do pose = pose - 1 end
|
||||
local ce = s:sub(pose,pose)
|
||||
if ce:match'[%)%}\'\"%]]' or
|
||||
ce:match'[%w_]' and not wordop[lastident]
|
||||
then
|
||||
local part = s:sub(posa, pos-1)
|
||||
return part, pos
|
||||
end
|
||||
end
|
||||
lastident, pos = newident, newpos
|
||||
else
|
||||
pos = pos + 1
|
||||
end
|
||||
pos = s:find('[%(%{%[%)%}%]\"\';,=%w_%-]', pos)
|
||||
end
|
||||
local part = s:sub(posa, #s)
|
||||
return part, #s+1
|
||||
end
|
||||
M.match_expression = match_expression
|
||||
|
||||
|
||||
local function match_namelist(s, pos)
|
||||
pos = pos or 1
|
||||
local list = {}
|
||||
while 1 do
|
||||
local c = #list == 0 and '^' or '^%s*,%s*'
|
||||
local item, post = s:match(c .. '([%a_][%w_]*)%s*()', pos)
|
||||
if item then pos = post else break end
|
||||
list[#list+1] = item
|
||||
end
|
||||
return list, pos
|
||||
end
|
||||
M.match_namelist = match_namelist
|
||||
|
||||
|
||||
local function match_explist(s, pos)
|
||||
pos = pos or 1
|
||||
local list = {}
|
||||
while 1 do
|
||||
if #list ~= 0 then
|
||||
local post = s:match('^%s*,%s*()', pos)
|
||||
if post then pos = post else break end
|
||||
end
|
||||
local item; item, pos = match_expression(s, pos)
|
||||
assert(item, 'syntax error')
|
||||
list[#list+1] = item
|
||||
end
|
||||
return list, pos
|
||||
end
|
||||
M.match_explist = match_explist
|
||||
|
||||
|
||||
local function gsub(s, f)
|
||||
local pos = 1
|
||||
local posa = 1
|
||||
local ts = {}
|
||||
while 1 do
|
||||
pos = s:find('[%-\'\"%[]', pos)
|
||||
if not pos then break end
|
||||
if s:match('^%-%-', pos) then
|
||||
local exp = s:sub(posa, pos-1)
|
||||
if #exp > 0 then ts[#ts+1] = (f('e', exp) or exp) end
|
||||
local comment; comment, pos = match_comment(s, pos)
|
||||
ts[#ts+1] = (f('c', assert(comment)) or comment)
|
||||
posa = pos
|
||||
else
|
||||
local posb = s:find('^[\'\"%[]', pos)
|
||||
local str
|
||||
if posb then str, pos = match_string(s, posb) end
|
||||
if str then
|
||||
local exp = s:sub(posa, posb-1)
|
||||
if #exp > 0 then ts[#ts+1] = (f('e', exp) or exp) end
|
||||
ts[#ts+1] = (f('s', str) or str)
|
||||
posa = pos
|
||||
else
|
||||
pos = pos + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
local exp = s:sub(posa)
|
||||
if #exp > 0 then ts[#ts+1] = (f('e', exp) or exp) end
|
||||
return table.concat(ts)
|
||||
end
|
||||
M.gsub = gsub
|
||||
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,255 @@
|
||||
local M = {}
|
||||
|
||||
M.header = [[<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>%title%</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" media="all" href="locco.css" />
|
||||
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<div id="background"></div>
|
||||
%jump%
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="docs">
|
||||
<h1>
|
||||
%title%
|
||||
</h1>
|
||||
</th>
|
||||
<th class="code">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
]]
|
||||
|
||||
M.jump_start = [[
|
||||
<div id="jump_to">
|
||||
Jump To …
|
||||
<div id="jump_wrapper">
|
||||
<div id="jump_page">
|
||||
]]
|
||||
|
||||
M.jump = [[
|
||||
<a class="source" href="%jump_html%">%jump_lua%</a>
|
||||
]]
|
||||
|
||||
M.jump_end = [[
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
]]
|
||||
|
||||
M.table_entry = [[
|
||||
<tr id="section-%index%">
|
||||
<td class="docs">
|
||||
<div class="pilwrap">
|
||||
<a class="pilcrow" href="#section-%index%">¶</a>
|
||||
</div>
|
||||
%docs_html%
|
||||
</td>
|
||||
<td class="code">
|
||||
%code_html%
|
||||
</td>
|
||||
</tr>]]
|
||||
|
||||
M.footer = [[</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>]]
|
||||
|
||||
M.css = [[/*--------------------- Layout and Typography ----------------------------*/
|
||||
body {
|
||||
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
color: #252519;
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
a {
|
||||
color: #261a3b;
|
||||
}
|
||||
a:visited {
|
||||
color: #261a3b;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0px 0 15px 0;
|
||||
}
|
||||
h1 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
#container {
|
||||
position: relative;
|
||||
}
|
||||
#background {
|
||||
position: fixed;
|
||||
top: 0; left: 525px; right: 0; bottom: 0;
|
||||
background: #f5f5ff;
|
||||
border-left: 1px solid #e5e5ee;
|
||||
z-index: -1;
|
||||
}
|
||||
#jump_to, #jump_page {
|
||||
background: white;
|
||||
-webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
|
||||
-webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
|
||||
font: 10px Arial;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
text-align: right;
|
||||
}
|
||||
#jump_to, #jump_wrapper {
|
||||
position: fixed;
|
||||
right: 0; top: 0;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
#jump_wrapper {
|
||||
padding: 0;
|
||||
display: none;
|
||||
}
|
||||
#jump_to:hover #jump_wrapper {
|
||||
display: block;
|
||||
}
|
||||
#jump_page {
|
||||
padding: 5px 0 3px;
|
||||
margin: 0 0 25px 25px;
|
||||
}
|
||||
#jump_page .source {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
text-decoration: none;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
#jump_page .source:hover {
|
||||
background: #f5f5ff;
|
||||
}
|
||||
#jump_page .source:first-child {
|
||||
}
|
||||
table td {
|
||||
border: 0;
|
||||
outline: 0;
|
||||
}
|
||||
td.docs, th.docs {
|
||||
max-width: 450px;
|
||||
min-width: 450px;
|
||||
min-height: 5px;
|
||||
padding: 10px 25px 1px 50px;
|
||||
overflow-x: hidden;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
.docs pre {
|
||||
margin: 15px 0 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.docs p tt, .docs p code {
|
||||
background: #f8f8ff;
|
||||
border: 1px solid #dedede;
|
||||
font-size: 12px;
|
||||
padding: 0 0.2em;
|
||||
}
|
||||
.pilwrap {
|
||||
position: relative;
|
||||
}
|
||||
.pilcrow {
|
||||
font: 12px Arial;
|
||||
text-decoration: none;
|
||||
color: #454545;
|
||||
position: absolute;
|
||||
top: 3px; left: -20px;
|
||||
padding: 1px 2px;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
}
|
||||
td.docs:hover .pilcrow {
|
||||
opacity: 1;
|
||||
}
|
||||
td.code, th.code {
|
||||
padding: 14px 15px 16px 25px;
|
||||
width: 100%;
|
||||
vertical-align: top;
|
||||
background: #f5f5ff;
|
||||
border-left: 1px solid #e5e5ee;
|
||||
}
|
||||
pre, tt, code {
|
||||
font-size: 12px; line-height: 18px;
|
||||
font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------- Syntax Highlighting -----------------------------*/
|
||||
td.linenos { background-color: #f0f0f0; padding-right: 10px; }
|
||||
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
|
||||
body .hll { background-color: #ffffcc }
|
||||
body .c { color: #408080; font-style: italic } /* Comment */
|
||||
body .err { border: 1px solid #FF0000 } /* Error */
|
||||
body .k { color: #954121 } /* Keyword */
|
||||
body .o { color: #666666 } /* Operator */
|
||||
body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
body .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
body .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
body .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
body .gd { color: #A00000 } /* Generic.Deleted */
|
||||
body .ge { font-style: italic } /* Generic.Emph */
|
||||
body .gr { color: #FF0000 } /* Generic.Error */
|
||||
body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
body .gi { color: #00A000 } /* Generic.Inserted */
|
||||
body .go { color: #808080 } /* Generic.Output */
|
||||
body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
body .gs { font-weight: bold } /* Generic.Strong */
|
||||
body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
body .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
body .kc { color: #954121 } /* Keyword.Constant */
|
||||
body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
|
||||
body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
|
||||
body .kp { color: #954121 } /* Keyword.Pseudo */
|
||||
body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
|
||||
body .kt { color: #B00040 } /* Keyword.Type */
|
||||
body .m { color: #666666 } /* Literal.Number */
|
||||
body .s { color: #219161 } /* Literal.String */
|
||||
body .na { color: #7D9029 } /* Name.Attribute */
|
||||
body .nb { color: #954121 } /* Name.Builtin */
|
||||
body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
body .no { color: #880000 } /* Name.Constant */
|
||||
body .nd { color: #AA22FF } /* Name.Decorator */
|
||||
body .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
body .nf { color: #0000FF } /* Name.Function */
|
||||
body .nl { color: #A0A000 } /* Name.Label */
|
||||
body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
body .nt { color: #954121; font-weight: bold } /* Name.Tag */
|
||||
body .nv { color: #19469D } /* Name.Variable */
|
||||
body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
body .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
body .mf { color: #666666 } /* Literal.Number.Float */
|
||||
body .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
body .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
body .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
body .sb { color: #219161 } /* Literal.String.Backtick */
|
||||
body .sc { color: #219161 } /* Literal.String.Char */
|
||||
body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
|
||||
body .s2 { color: #219161 } /* Literal.String.Double */
|
||||
body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
body .sh { color: #219161 } /* Literal.String.Heredoc */
|
||||
body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
body .sx { color: #954121 } /* Literal.String.Other */
|
||||
body .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
body .s1 { color: #219161 } /* Literal.String.Single */
|
||||
body .ss { color: #19469D } /* Literal.String.Symbol */
|
||||
body .bp { color: #954121 } /* Name.Builtin.Pseudo */
|
||||
body .vc { color: #19469D } /* Name.Variable.Class */
|
||||
body .vg { color: #19469D } /* Name.Variable.Global */
|
||||
body .vi { color: #19469D } /* Name.Variable.Instance */
|
||||
body .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||
]]
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,109 @@
|
||||
#!/usr/bin/env lua
|
||||
|
||||
local qrencode = dofile("qrencode.lua")
|
||||
|
||||
|
||||
-- padding: number of padding rows/columns around QR code
|
||||
local function matrix_to_string( tab, padding,padding_char,white_pixel,black_pixel )
|
||||
local padding_string
|
||||
local str_tab = {} -- hold each row of the qr code in a cell
|
||||
|
||||
-- Add (padding) blank columns at the left of the matrix
|
||||
-- (left of each row string), inserting an extra (padding)
|
||||
-- rows at the top and bottom
|
||||
padding_string = string.rep(padding_char,padding)
|
||||
for i=1,#tab + 2*padding do
|
||||
str_tab[i] = padding_string
|
||||
end
|
||||
|
||||
for x=1,#tab do
|
||||
for y=1,#tab do
|
||||
if tab[x][y] > 0 then
|
||||
-- using y + padding because we added (padding) blank columns at the left for each string in str_tab array
|
||||
str_tab[y + padding] = str_tab[y + padding] .. black_pixel
|
||||
elseif tab[x][y] < 0 then
|
||||
str_tab[y + padding] = str_tab[y + padding] .. white_pixel
|
||||
else
|
||||
str_tab[y + padding] = str_tab[y + padding] .. " X"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
padding_string = string.rep(padding_char,#tab)
|
||||
for i=1,padding do
|
||||
-- fills in padding rows at top of matrix
|
||||
str_tab[i] = str_tab[i] .. padding_string
|
||||
-- fills in padding rows at bottom of matrix
|
||||
str_tab[#tab + padding + i] = str_tab[#tab + padding + i] .. padding_string
|
||||
end
|
||||
|
||||
-- Add (padding) blank columns to right of matrix (to the end of each row string)
|
||||
padding_string = string.rep(padding_char,padding)
|
||||
for i=1,#tab + 2*padding do
|
||||
str_tab[i] = str_tab[i] .. padding_string
|
||||
end
|
||||
|
||||
return str_tab
|
||||
end
|
||||
|
||||
|
||||
local use_ansi = false
|
||||
local padding = 1
|
||||
local padding_char
|
||||
local black_pixel = "X"
|
||||
local white_pixel = " "
|
||||
local codeword
|
||||
|
||||
while true do
|
||||
if arg[1] == nil then
|
||||
break
|
||||
elseif arg[1] == "-h" or arg[1] == "--help" then
|
||||
codeword = nil
|
||||
break
|
||||
elseif arg[1] == "-a" then
|
||||
use_ansi = true
|
||||
elseif arg[1] == "-p" then
|
||||
padding = arg[2]
|
||||
table.remove(arg,2)
|
||||
elseif arg[1] == "-c" then
|
||||
padding_char = arg[2]
|
||||
table.remove(arg,2)
|
||||
elseif arg[1] == "-b" then
|
||||
black_pixel = arg[2]
|
||||
table.remove(arg,2)
|
||||
elseif arg[1] == "-w" then
|
||||
white_pixel = arg[2]
|
||||
table.remove(arg,2)
|
||||
else
|
||||
codeword = arg[1]
|
||||
end
|
||||
table.remove(arg,1)
|
||||
end
|
||||
|
||||
if use_ansi then
|
||||
black_pixel = "\27[40m \27[0m"
|
||||
white_pixel = "\27[1;47m \27[0m"
|
||||
end
|
||||
|
||||
padding_char = padding_char or white_pixel
|
||||
|
||||
if codeword then
|
||||
local ok, tab_or_message = qrencode.qrcode(codeword)
|
||||
if not ok then
|
||||
print(tab_or_message)
|
||||
else
|
||||
local rows
|
||||
rows = matrix_to_string(tab_or_message,padding,padding_char,white_pixel,black_pixel)
|
||||
for i=1,#rows do -- prints each "row" of the QR code on a line, one at a time
|
||||
print(rows[i])
|
||||
end
|
||||
end
|
||||
else
|
||||
print("Usage:")
|
||||
print(arg[0] .. " [-a] [-p <num>] [-c <char>] [-b <char>] [-w <char>] <contents>")
|
||||
print("-a : use ansi colors (don't do this on a dos box)")
|
||||
print("-p <num> : use padding of width <num> (default: 1)")
|
||||
print("-b <char>: use <char> for black pixel (default: 'X')")
|
||||
print("-w <char>: use <char> for white pixel (default: ' ')")
|
||||
print("-c <char>: use <char> for padding (default: the white pixel)")
|
||||
end
|
||||
@@ -0,0 +1,123 @@
|
||||
#!/usr/bin/env lua
|
||||
|
||||
|
||||
local function err( ... )
|
||||
print(string.format(...))
|
||||
end
|
||||
|
||||
local failed = false
|
||||
local function assert_equal( a,b,func )
|
||||
if a ~= b then
|
||||
err("Assertion failed: %s: %q is not equal to %q",func,tostring(a),tostring(b))
|
||||
failed = true
|
||||
end
|
||||
end
|
||||
|
||||
testing=true
|
||||
|
||||
|
||||
local qrcode = dofile("qrencode.lua")
|
||||
local tab
|
||||
local str = "HELLO WORLD"
|
||||
assert_equal(qrcode.get_mode("0101"), 1,"get_encoding_byte 1")
|
||||
assert_equal(qrcode.get_mode(str), 2,"get_encoding_byte 2")
|
||||
assert_equal(qrcode.get_mode("0-9A-Z $%*./:+-"),2,"get_encoding_byte 3")
|
||||
assert_equal(qrcode.get_mode("foär"), 4,"get_encoding_byte 4")
|
||||
assert_equal(qrcode.get_length(str,1,2),"000001011","get_length")
|
||||
assert_equal(qrcode.binary(5,10),"0000000101","binary()")
|
||||
assert_equal(qrcode.binary(779,11),"01100001011","binary()")
|
||||
assert_equal(qrcode.add_pad_data(1,3,"0010101"),"00101010000000001110110000010001111011000001000111101100000100011110110000010001111011000001000111101100","pad_data")
|
||||
|
||||
tab = qrcode.get_generator_polynominal_adjusted(13,25)
|
||||
assert_equal(tab[1],0,"get_generator_polynominal_adjusted 0")
|
||||
assert_equal(tab[24],74,"get_generator_polynominal_adjusted 24")
|
||||
assert_equal(tab[25],0,"get_generator_polynominal_adjusted 25")
|
||||
tab = qrcode.get_generator_polynominal_adjusted(13,24)
|
||||
assert_equal(tab[1],0,"get_generator_polynominal_adjusted 0")
|
||||
assert_equal(tab[23],74,"get_generator_polynominal_adjusted 23")
|
||||
assert_equal(tab[24],0,"get_generator_polynominal_adjusted 24")
|
||||
|
||||
tab = qrcode.convert_bitstring_to_bytes("00100000010110110000101101111000110100010111001011011100010011010100001101000000111011000001000111101100")
|
||||
assert_equal(tab[1],32,"convert_bitstring_to_bytes")
|
||||
assert_equal(qrcode.bit_xor(141,43), 166,"bit_xor")
|
||||
assert_equal(qrcode.bit_xor(179,0), 179,"bit_xor")
|
||||
|
||||
-- local hello_world_msg_with_ec = "0010000001011011000010110111100011010001011100101101110001001101010000110100000011101100000100011110110010101000010010000001011001010010110110010011011010011100000000000010111000001111101101000111101000010000"
|
||||
|
||||
assert_equal(qrcode.get_pixel_with_mask(0,21,21,1),-1,"get_pixel_with_mask 1")
|
||||
assert_equal(qrcode.get_pixel_with_mask(0,1,1,1),-1,"get_pixel_with_mask 2")
|
||||
local a,b,c,d,e = qrcode.get_version_eclevel_mode_bistringlength(str)
|
||||
assert_equal(a,1,"get_version_eclevel_mode_bistringlength 1")
|
||||
assert_equal(b,3,"get_version_eclevel_mode_bistringlength 2")
|
||||
assert_equal(c,"0010","get_version_eclevel_mode_bistringlength 3")
|
||||
assert_equal(d,2,"get_version_eclevel_mode_bistringlength 4")
|
||||
assert_equal(e,"000001011","get_version_eclevel_mode_bistringlength 5")
|
||||
|
||||
assert_equal(qrcode.encode_string_numeric("01234567"),"000000110001010110011000011","encode string numeric")
|
||||
assert_equal(qrcode.encode_string_ascii(str),"0110000101101111000110100010111001011011100010011010100001101","encode string ascii")
|
||||
assert_equal(qrcode.remainder[40],0,"get_remainder")
|
||||
assert_equal(qrcode.remainder[2],7,"get_remainder")
|
||||
|
||||
|
||||
-------------------
|
||||
-- Error correction
|
||||
-------------------
|
||||
local data = {32, 234, 187, 136, 103, 116, 252, 228, 127, 141, 73, 236, 12, 206, 138, 7, 230, 101, 30, 91, 152, 80, 0, 236, 17, 236, 17, 236}
|
||||
local ec_expected = {73, 31, 138, 44, 37, 176, 170, 36, 254, 246, 191, 187, 13, 137, 84, 63}
|
||||
local ec = qrcode.calculate_error_correction(data,16)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {32, 234, 187, 136, 103, 116, 252, 228, 127, 141, 73, 236, 12, 206, 138, 7, 230, 101, 30, 91, 152, 80, 0, 236, 17, 236, 17, 236, 17, 236, 17, 236, 17, 236}
|
||||
ec_expected = {66, 146, 126, 122, 79, 146, 2, 105, 180, 35}
|
||||
ec = qrcode.calculate_error_correction(data,10)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {32, 83, 7, 120, 209, 114, 215, 60, 224}
|
||||
ec_expected = {123, 120, 222, 125, 116, 92, 144, 245, 58, 73, 104, 30, 108, 0, 30, 166, 152}
|
||||
ec = qrcode.calculate_error_correction(data,17)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {32,83,7,120,209,114,215,60,224,236,17}
|
||||
ec_expected = {3, 67, 244, 57, 183, 14, 171, 101, 213, 52, 148, 3, 144, 148, 6, 155, 3, 252, 228, 100, 11, 56}
|
||||
ec = qrcode.calculate_error_correction(data,22)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {236,17,236,17,236, 17,236, 17,236, 17,236}
|
||||
ec_expected = {171, 165, 230, 109, 241, 45, 198, 125, 213, 84, 88, 187, 89, 61, 220, 255, 150, 75, 113, 77, 147, 164}
|
||||
ec = qrcode.calculate_error_correction(data,22)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {17,236, 17,236, 17,236,17,236, 17,236, 17,236}
|
||||
ec_expected = {23, 115, 68, 245, 125, 66, 203, 235, 85, 88, 174, 178, 229, 181, 118, 148, 44, 175, 213, 243, 27, 215}
|
||||
ec = qrcode.calculate_error_correction(data,22)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
data = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||
ec_expected = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||
ec = qrcode.calculate_error_correction(data,10)
|
||||
for i=1,#ec_expected do
|
||||
assert_equal(ec_expected[i],ec[i],string.format("calculate_error_correction %d",i))
|
||||
end
|
||||
|
||||
-- "HALLO WELT" in alphanumeric, code 5-H
|
||||
data = { 32,83,7,120,209,114,215,60,224,236,17,236,17,236,17,236, 17,236, 17,236, 17,236, 17, 236, 17,236, 17,236, 17,236, 17,236, 17,236, 17, 236, 17,236, 17,236, 17,236, 17,236, 17,236}
|
||||
local message_expected = {32, 236, 17, 17, 83, 17, 236, 236, 7, 236, 17, 17, 120, 17, 236, 236, 209, 236, 17, 17, 114, 17, 236, 236, 215, 236, 17, 17, 60, 17, 236, 236, 224, 236, 17, 17, 236, 17, 236, 236, 17, 236, 17, 17, 236, 236, 3, 171, 23, 23, 67, 165, 115, 115, 244, 230, 68, 68, 57, 109, 245, 245, 183, 241, 125, 125, 14, 45, 66, 66, 171, 198, 203, 203, 101, 125, 235, 235, 213, 213, 85, 85, 52, 84, 88, 88, 148, 88, 174, 174, 3, 187, 178, 178, 144, 89, 229, 229, 148, 61, 181, 181, 6, 220, 118, 118, 155, 255, 148, 148, 3, 150, 44, 44, 252, 75, 175, 175, 228, 113, 213, 213, 100, 77, 243, 243, 11, 147, 27, 27, 56, 164, 215, 215}
|
||||
local tmp = qrcode.arrange_codewords_and_calculate_ec(5,4,data)
|
||||
local message = qrcode.convert_bitstring_to_bytes(tmp)
|
||||
for i=1,#message do
|
||||
assert_equal(message_expected[i],message[i],string.format("arrange_codewords_and_calculate_ec %d",i))
|
||||
end
|
||||
|
||||
print("Tests end here")
|
||||
if failed then
|
||||
print("Some tests failed, see above")
|
||||
else
|
||||
print("Everything looks fine")
|
||||
end
|
||||
os.exit(failed and 1 or 0)
|
||||
@@ -0,0 +1,200 @@
|
||||
import yaml
|
||||
|
||||
# Função para abrir e carregar o arquivo YAML
|
||||
def load_yaml_file(filename):
|
||||
with open(filename, 'r', encoding='utf-8') as file:
|
||||
return yaml.safe_load(file)
|
||||
|
||||
# Função para salvar o arquivo YAML
|
||||
def save_yaml_file(data, filename):
|
||||
with open(filename, 'w', encoding='utf-8') as file:
|
||||
yaml.dump(data, file, default_flow_style=False, allow_unicode=True, sort_keys=False)
|
||||
|
||||
|
||||
# Abrir o arquivo _moan-config.yml e extrair as informações necessárias
|
||||
moan_config = load_yaml_file('_moan-config.yml')
|
||||
|
||||
# Abrir _quarto.yml
|
||||
quarto_data = load_yaml_file('_quarto.yml')
|
||||
|
||||
metadados_total = moan_config.get('metadados', {})
|
||||
|
||||
metadados = metadados_total.get('global', {})
|
||||
|
||||
site_url = ''
|
||||
|
||||
|
||||
# Mover conteúdo de pasta-livro-finalizado para output-dir em _quarto-html.yml e _quarto-pdf.yml, definir o site_url completo e atualizar o campo capa
|
||||
output_dirs = moan_config.get('pasta-livro-finalizado', {})
|
||||
|
||||
for file_suffix in ['-html', '-pdf']:
|
||||
output_dir_key = 'html' if file_suffix == '-html' else 'pdf'
|
||||
output_dir = output_dirs.get(output_dir_key, '')
|
||||
|
||||
# Processar _quarto-html.yml e _quarto-pdf.yml
|
||||
filename = f'_quarto{file_suffix}.yml'
|
||||
data = load_yaml_file(filename)
|
||||
|
||||
# Atualizar output-dir em project
|
||||
if 'project' not in data:
|
||||
data['project'] = {}
|
||||
data['project']['output-dir'] = output_dir
|
||||
|
||||
# Montar site-url completo
|
||||
if output_dir_key == 'html':
|
||||
site_url = moan_config.get('site-de-publicacao', '') + '/' + output_dir
|
||||
endereco_capa = site_url + '/' + metadados.get('capa', '')
|
||||
|
||||
# atualizar campo capa em moan-dados.
|
||||
metadados['capa'] = endereco_capa
|
||||
|
||||
# Configurar moan-dados
|
||||
if 'moan-dados' not in data:
|
||||
data['moan-dados'] = {}
|
||||
|
||||
moan_dados = data.get('moan-dados', {}) # Obtém os metadados existentes ou cria um dicionário vazio
|
||||
|
||||
metadados_especificos_sem_ark = metadados_total.get(output_dir_key, {})
|
||||
|
||||
if 'ark' in moan_dados:
|
||||
|
||||
ark = moan_dados['ark']
|
||||
|
||||
metadados_especificos = {"ark": ark, **metadados_especificos_sem_ark, **metadados}
|
||||
|
||||
data['moan-dados'] = metadados_especificos
|
||||
|
||||
else:
|
||||
data['moan-dados'] = {**metadados_especificos_sem_ark, **metadados}
|
||||
|
||||
|
||||
|
||||
# Salvar as alterações
|
||||
save_yaml_file(data, filename)
|
||||
|
||||
|
||||
|
||||
|
||||
# Processar as alterações em _quarto-html.yml e _quarto-pdf.yml
|
||||
for file_suffix in ['-html', '-pdf']:
|
||||
capitulos_a_excluir_key = 'html' if file_suffix == '-html' else 'pdf'
|
||||
capitulos_a_excluir = moan_config['capitulos-a-excluir'].get(capitulos_a_excluir_key, [])
|
||||
|
||||
# Processar _quarto-html.yml e _quarto-pdf.yml
|
||||
filename = f'_quarto{file_suffix}.yml'
|
||||
data = load_yaml_file(filename)
|
||||
|
||||
# Adicionar metadados a moan-dados
|
||||
moan_dados = data.get('moan-dados', {}) # Obtém os metadados existentes ou cria um dicionário vazio
|
||||
moan_dados = {**moan_dados, **metadados} # Adiciona ou atualiza os novos metadados
|
||||
data['moan-dados'] = moan_dados
|
||||
|
||||
# Processar capitulos
|
||||
capitulos = moan_config.get('capitulos', [])
|
||||
|
||||
capitulos = [capitulo for capitulo in capitulos if capitulo not in capitulos_a_excluir]
|
||||
|
||||
if 'book' not in data:
|
||||
data['book'] = {}
|
||||
if 'chapters' not in data['book']:
|
||||
data['book']['chapters'] = []
|
||||
data['book']['chapters'] = capitulos
|
||||
|
||||
# Salvar as alterações
|
||||
save_yaml_file(data, filename)
|
||||
|
||||
|
||||
|
||||
# Atualizar as chaves em book
|
||||
if 'book' in quarto_data:
|
||||
book = quarto_data['book']
|
||||
|
||||
metadados_html = metadados_total.get('html', {})
|
||||
|
||||
metadados_pdf = metadados_total.get('pdf', {})
|
||||
|
||||
politica_de_cookies = moan_config.get('url-politica-de-cookies', '')
|
||||
|
||||
cookie_consent = book.get('cookie-consent', {})
|
||||
|
||||
# Atualizando o valor de 'policy-url'
|
||||
cookie_consent['policy-url'] = politica_de_cookies
|
||||
|
||||
data = metadados_html.get('data', metadados_pdf.get('data', ''))
|
||||
partes = data.split("/")
|
||||
|
||||
# Reorganizando as partes da data
|
||||
data_formatada = partes[2] + "-" + partes[1] + "-" + partes[0]
|
||||
|
||||
|
||||
# Atualizar sidebar.tools
|
||||
sidebar = book.get("sidebar", {})
|
||||
tools = sidebar.get("tools", [])
|
||||
|
||||
# Pegar o output_dir para HTML e montar URL_LIVRO
|
||||
output_dir_html = output_dirs.get("html", "")
|
||||
URL_LIVRO = output_dir_html
|
||||
|
||||
# Garantir que seja lista
|
||||
if not isinstance(tools, list):
|
||||
tools = []
|
||||
|
||||
git_item = {
|
||||
"icon": "bi bi-git",
|
||||
"text": "Alterações e Versões",
|
||||
"href": f"https://gitea.livro.online/editoramoan/{URL_LIVRO}/commits/branch/main",
|
||||
}
|
||||
|
||||
# Inserir na segunda posição
|
||||
if len(tools) >= 1:
|
||||
tools.insert(1, git_item)
|
||||
else:
|
||||
tools.append(git_item)
|
||||
|
||||
sidebar["tools"] = tools
|
||||
book["sidebar"] = sidebar
|
||||
|
||||
|
||||
|
||||
status = metadados_html.get('status', 'indisponível')
|
||||
|
||||
book.update({
|
||||
'site-url': site_url,
|
||||
'status': status,
|
||||
'isbn': metadados_html.get('isbn', metadados_pdf.get('isbn', '')),
|
||||
'title': metadados.get('título', ''),
|
||||
'subtitle': metadados.get('subtítulo', ''),
|
||||
'author': metadados.get('autor', ''),
|
||||
'description': metadados.get('descrição', ''),
|
||||
'language': metadados.get('idioma', ''),
|
||||
'publisher': metadados.get('editora', ''),
|
||||
'edition': metadados.get('edição', ''),
|
||||
'editor': metadados.get('editor', ''),
|
||||
'date': data_formatada,
|
||||
'publisher-place': metadados.get('local', ''),
|
||||
'license': metadados.get('licença', ''),
|
||||
'cookie-consent': cookie_consent
|
||||
})
|
||||
|
||||
# Salvar as alterações em _quarto.yml
|
||||
save_yaml_file(quarto_data, '_quarto.yml')
|
||||
|
||||
|
||||
# Pegar ficha catalográfica e verificar se é publicação independente ou não
|
||||
|
||||
ficha = moan_config.get('ficha-catalográfica', {})
|
||||
|
||||
# Abrir o arquivo _quarto-pdf.yml e carregar seu conteúdo
|
||||
dados = load_yaml_file("_quarto-pdf.yml")
|
||||
|
||||
# Verificar se há a chave 'ficha-catalográfica'
|
||||
if 'ficha-catalográfica' in dados:
|
||||
# Se existir, substituir seu valor pelo valor de 'ficha'
|
||||
dados['ficha-catalográfica'] = ficha
|
||||
else:
|
||||
# Se não houver, criar a chave e atribuir o valor de 'ficha' a ela
|
||||
dados['ficha-catalográfica'] = ficha
|
||||
|
||||
dados['possui-editora'] = moan_config.get('possui-editora', 'false')
|
||||
|
||||
save_yaml_file(dados, "_quarto-pdf.yml")
|
||||
@@ -0,0 +1,504 @@
|
||||
import os
|
||||
import yaml
|
||||
from bs4 import BeautifulSoup
|
||||
import json
|
||||
import copy
|
||||
import shutil
|
||||
|
||||
# Caminho para o arquivo _quarto.yml
|
||||
quarto_config_file = "_quarto.yml"
|
||||
|
||||
# Caminho para o arquivo _quarto-html.yml
|
||||
quarto_html_config_file = "_quarto-html.yml"
|
||||
|
||||
|
||||
|
||||
|
||||
with open(quarto_config_file) as f:
|
||||
|
||||
quarto_config = yaml.safe_load(f)
|
||||
|
||||
|
||||
with open(quarto_html_config_file) as f:
|
||||
|
||||
quarto_html_config = yaml.safe_load(f)
|
||||
|
||||
|
||||
# Extrair as informações do arquivo _quarto.yml
|
||||
|
||||
|
||||
# funcao para iterar os capítulos
|
||||
def extrair_arquivos_qmd(objeto, capitulos_arquivos_html):
|
||||
|
||||
if isinstance(objeto, list):
|
||||
|
||||
for elemento in objeto:
|
||||
|
||||
extrair_arquivos_qmd(elemento, capitulos_arquivos_html)
|
||||
|
||||
elif isinstance(objeto, dict):
|
||||
|
||||
if 'part' in objeto:
|
||||
|
||||
extrair_arquivos_qmd(objeto['part'], capitulos_arquivos_html)
|
||||
|
||||
if 'chapters' in objeto:
|
||||
|
||||
extrair_arquivos_qmd(objeto['chapters'], capitulos_arquivos_html)
|
||||
|
||||
elif isinstance(objeto, str) and objeto.endswith('.qmd'):
|
||||
|
||||
capitulos_arquivos_html.append(objeto[:-4])
|
||||
|
||||
|
||||
|
||||
|
||||
# pegando o local dos arquivos html
|
||||
pasta_livro_renderizado = quarto_html_config["project"]["output-dir"]
|
||||
|
||||
|
||||
# pegando o campo controle-moan para verificar se é um dicionário
|
||||
é_dicionário = quarto_config["controle-moan"]["dicionario"]
|
||||
|
||||
|
||||
# pegando os capítulos
|
||||
capitulos = quarto_html_config["book"]["chapters"]
|
||||
capitulos_arquivo_html = []
|
||||
extrair_arquivos_qmd(capitulos, capitulos_arquivo_html)
|
||||
|
||||
|
||||
# Onde ficarao as referencias dos capítulos
|
||||
ref_cap = {}
|
||||
|
||||
|
||||
# Letras para 'numerar' os capítulos
|
||||
letras = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'O', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
|
||||
|
||||
total_de_letras = len(letras)
|
||||
|
||||
letras_index_digito_1 = 0
|
||||
|
||||
# ver qual é a próxima letra para um capítulo nao numerado
|
||||
def escolher_letra_para_capitulo(letras_index_digito_1):
|
||||
|
||||
cap = letras[letras_index_digito_1%total_de_letras]
|
||||
|
||||
# verifica se o cap precisa de um segundo digito
|
||||
if letras_index_digito_1/total_de_letras >= 1:
|
||||
|
||||
# as duas barras // de divisao pega só a parte inteira da divisao
|
||||
letras_index_digito_2 = (letras_index_digito_1 // total_de_letras) - 1
|
||||
|
||||
cap = letras[letras_index_digito_2%total_de_letras] + letras[letras_index_digito_1%total_de_letras]
|
||||
|
||||
return cap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# altera os arquivos html
|
||||
for index, output_file in enumerate(capitulos_arquivo_html):
|
||||
|
||||
# Caminho completo para o arquivo HTML
|
||||
arquivo_html = os.path.join(pasta_livro_renderizado, output_file + ".html")
|
||||
|
||||
# conta os elementos que serão uma referencia / Ele começa em 0 na abertura de um novo capítulo
|
||||
ref_num = 0
|
||||
|
||||
# Abre o arquivo HTML
|
||||
with open(arquivo_html, "r", encoding="utf-8") as f:
|
||||
|
||||
content = f.read()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# função colocar as referencias nas tags
|
||||
def colocar_referencia(cap, el, ref):
|
||||
|
||||
# Se a tag tem id, apenas pega o valor e coloca no título da tag e defini unidade_bool false. Se não, cria o id, tb coloca no título da tag e coloca unidade_bool true
|
||||
if el.get("id"):
|
||||
|
||||
el['title'] = el['id']
|
||||
|
||||
unidade_bool = False
|
||||
|
||||
|
||||
else:
|
||||
|
||||
# Define o id da referência
|
||||
el['id'] = f"{cap}P{ref}"
|
||||
|
||||
# adiciona o title da referência
|
||||
el['title'] = f"{cap}P{ref}"
|
||||
|
||||
unidade_bool = True
|
||||
|
||||
|
||||
|
||||
# Se unidade_bool for true, adiciona a classe unidade; caso contrário, adiciona a classe unidade_silenciosa. Isso caso a tag já nao possua essas classes
|
||||
if unidade_bool:
|
||||
|
||||
if not "unidade" in el.get("class", []):
|
||||
|
||||
el["class"] = el.get("class", []) + ["unidade"]
|
||||
|
||||
else:
|
||||
|
||||
if not "unidade_silenciosa" in el.get("class", []) and "unidade" not in el.get("class", []):
|
||||
|
||||
el["class"] = el.get("class", []) + ["unidade_silenciosa"]
|
||||
|
||||
|
||||
|
||||
|
||||
# Cria um objeto BeautifulSoup
|
||||
soup = BeautifulSoup(content, "html.parser")
|
||||
|
||||
|
||||
|
||||
# Encontre a tag 'main' no documento
|
||||
main_tag = soup.find("main")
|
||||
|
||||
|
||||
# Crie o elemento script com os metadados
|
||||
script_tag = soup.new_tag('script', data="moan-metadados")
|
||||
script_tag.string = f'var metadados = {{livroUrl: "{pasta_livro_renderizado}"}}'
|
||||
|
||||
# Adicione o script ao cabeçalho (head) do HTML
|
||||
soup.head.append(script_tag)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Se existir o ark, colocar os dados nas tags object do primeiro capítulo do livro
|
||||
if "ark" in quarto_html_config["moan-dados"] and index == 0:
|
||||
|
||||
ark = quarto_html_config["moan-dados"]["ark"]
|
||||
|
||||
# Substitua "." por "_p_" e "/" por "_b_" em 'ark'
|
||||
ark = ark.replace(".", "_p_").replace("/", "_b_")
|
||||
|
||||
# Adicione "ark_dp_" ao início de 'ark'
|
||||
ark = "ark_dp_" + ark
|
||||
|
||||
# Encontre as tags object com id "metadados_livro_yml" e "metadados_livro_json"
|
||||
obj_metadados_yml = main_tag.find("object", {"id": "metadados_livro_yml"})
|
||||
|
||||
obj_metadados_json = main_tag.find("object", {"id": "metadados_livro_json"})
|
||||
|
||||
if obj_metadados_yml and obj_metadados_json:
|
||||
|
||||
# Defina o atributo "data" das tags object
|
||||
obj_metadados_yml["data"] = "https://ark.livro.online/yaml/" + ark + ".yml"
|
||||
|
||||
obj_metadados_json["data"] = "https://ark.livro.online/json/" + ark + ".json"
|
||||
|
||||
|
||||
|
||||
# Verifique se o arquivo "postos-de-venda.json" existe
|
||||
json_file_path = "postos-de-venda.json"
|
||||
|
||||
if os.path.exists(json_file_path) and index == 0:
|
||||
|
||||
# O arquivo JSON existe, abra-o e extraia as chaves e valores
|
||||
with open(json_file_path, "r", encoding="utf-8") as json_file:
|
||||
|
||||
postos_de_venda = json.load(json_file)
|
||||
|
||||
# Crie uma nova lista não ordenada para armazenar os links
|
||||
ul = soup.new_tag("ul", id="postos-de-venda")
|
||||
|
||||
for key, value in postos_de_venda.items():
|
||||
|
||||
# Crie uma nova tag de link ("a") com a chave como texto e o valor como src
|
||||
link = soup.new_tag("a", href=value)
|
||||
|
||||
link.string = key # Define o texto do link como a chave
|
||||
|
||||
# Adicione o link como um item de lista à lista não ordenada
|
||||
li = soup.new_tag("li")
|
||||
|
||||
li.append(link)
|
||||
|
||||
ul.append(li)
|
||||
|
||||
# Encontre a tag "section" com ID "versão-impressa"
|
||||
section_versao_impressa = main_tag.find("section", id="versão-impressa")
|
||||
|
||||
if section_versao_impressa:
|
||||
|
||||
# Adicione a lista não ordenada de links à seção "versão-impressa"
|
||||
section_versao_impressa.append(ul)
|
||||
|
||||
|
||||
# Copie o arquivo JSON para a pasta especificada em "pasta_livro_renderizado"
|
||||
dest_file = os.path.join(pasta_livro_renderizado, "postos-de-venda.json")
|
||||
|
||||
shutil.copy(json_file_path, dest_file)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Definindo o capítulo
|
||||
if index == 0:
|
||||
|
||||
cap = letras[letras_index_digito_1] # É a letra A, tem que ser a letra A
|
||||
|
||||
é_um_capitulo_numerado = False
|
||||
|
||||
ref_cap[cap] = capitulos_arquivo_html[index]
|
||||
|
||||
else:
|
||||
|
||||
é_um_capitulo_numerado = False
|
||||
|
||||
é_um_capitulo_verbete = False
|
||||
|
||||
# Encontre a primeira tag <h1>
|
||||
h1_tag = soup.find('h1')
|
||||
|
||||
# Todos os capítulos devem ter uma tag <h1>
|
||||
if h1_tag:
|
||||
|
||||
# Encontre o primeiro <span> com a classe 'chapter-number' dentro da tag <h1>
|
||||
span_tag = h1_tag.find('span', class_='chapter-number')
|
||||
|
||||
# Verifique se o <span> com a classe 'chapter-number' foi encontrado dentro do <h1>
|
||||
if span_tag:
|
||||
|
||||
cap = span_tag.text
|
||||
|
||||
é_um_capitulo_numerado = True
|
||||
|
||||
ref_cap[cap] = capitulos_arquivo_html[index]
|
||||
|
||||
|
||||
|
||||
|
||||
# Verifique se há pelo menos uma tag <div> com a classe "um_capitulo", ou seja nae é capitulo de verbete caso seja um dicionario
|
||||
encontrou_um_capitulo = bool(main_tag.find('div', class_='um_capitulo'))
|
||||
|
||||
|
||||
|
||||
# Se é um capítulo normal em um dicionário e nao é um capítulo numerado, seleciona a letra para marcar o capítulo
|
||||
# Nao esquecer que deve haver uma div com as classes hidden e um_capitulo em todos os capítulos que nao forem de verbetes em um de um dicionario
|
||||
if not encontrou_um_capitulo and é_dicionário:
|
||||
|
||||
é_um_capitulo_verbete = True
|
||||
|
||||
# Coloca os marcadores nos verbetes como o nome do próprio verbete
|
||||
dt_tags = main_tag.find_all('dt')
|
||||
|
||||
for dt_tag in dt_tags:
|
||||
|
||||
# Para contar o numero de definicoes dd
|
||||
Num_dd = 0
|
||||
|
||||
texto_titulo_dt = dt_tag.text
|
||||
|
||||
texto_a_ser_sanitizado = dt_tag.text
|
||||
|
||||
dt_tag['class'] = dt_tag.get("class", []) + ["unidade", "verbete"]
|
||||
|
||||
dt_tag['title'] = texto_titulo_dt
|
||||
|
||||
id_dt_tag = (texto_a_ser_sanitizado
|
||||
|
||||
.replace(' ', '_')
|
||||
.replace('&', '_e_')
|
||||
.replace('$', '_s_')
|
||||
.replace('+', '_mais_')
|
||||
.replace(',', '_vir_')
|
||||
.replace('/', '_barra_')
|
||||
.replace(':', '_dois_pontos_')
|
||||
.replace(';', '_ponto_vir_')
|
||||
.replace('?', '_interrog_')
|
||||
.replace('=', '_igual_')
|
||||
.replace('@', '_at_')
|
||||
.replace('#', '_jv_')
|
||||
.replace('>', '_maiq_')
|
||||
.replace('<', '_menq_')
|
||||
.replace('[', '_abre_colch_')
|
||||
.replace(']', '_fecha_col_')
|
||||
.replace('{', '_abre_ch_')
|
||||
.replace('}', '_fecha_ch_')
|
||||
.replace('.', '_ponto_')
|
||||
.replace('|', '_barra_ver_')
|
||||
.replace('\\', '_barra_inv_')
|
||||
.replace('%', '_p_100_')
|
||||
.replace('^', '_acen_chapeu_')
|
||||
|
||||
)
|
||||
|
||||
dt_tag['id'] = id_dt_tag
|
||||
|
||||
|
||||
|
||||
|
||||
# Encontre o primeiro elemento irmão <dd> da tag <dt>
|
||||
dd_tag = dt_tag.find_next_sibling('dd')
|
||||
|
||||
# Itere sobre todas as tags <dd> irmãs até encontrar uma tag não <dd>
|
||||
while dd_tag and dd_tag.name == 'dd':
|
||||
|
||||
Num_dd += 1
|
||||
|
||||
dd_tag['title'] = texto_titulo_dt + " def. " + str(Num_dd)
|
||||
|
||||
dd_tag['id'] = id_dt_tag + "_def_" + str(Num_dd)
|
||||
|
||||
# Encontre o próximo elemento irmão <dd> da tag <dd>
|
||||
dd_tag = dd_tag.find_next_sibling('dd')
|
||||
|
||||
|
||||
|
||||
#verifica de há outras tags além de dt, dd, e títulos (usado para o caso de um capítulo de verbete contiver mais conteúdos)
|
||||
tags_procuradas = ['p', 'li', 'tr', 'blockquote', 'code', 'pre']
|
||||
|
||||
mais_conteudo_alem_verbetes = False
|
||||
|
||||
if é_um_capitulo_verbete and é_dicionário:
|
||||
|
||||
for tag in tags_procuradas:
|
||||
|
||||
# Verifique se a tag está presente em 'main_tag'
|
||||
if main_tag.find(tag):
|
||||
|
||||
# Verifique se a tag não tem 'nav' como pai
|
||||
if not main_tag.find(tag).find_parent("nav"):
|
||||
|
||||
mais_conteudo_alem_verbetes = True
|
||||
|
||||
break # Se ambas as condições forem atendidas, definimos como True e saímos do loop
|
||||
|
||||
|
||||
|
||||
# Verifica se nao é um capítulo sem numero e se nao for um capítulo de verbete ou se é um capitulo de verbete e se existe outro conteudo alem das definicoes dos verbetes
|
||||
if (not é_um_capitulo_numerado and not é_um_capitulo_verbete) or (é_dicionário and not é_um_capitulo_numerado and é_um_capitulo_verbete and mais_conteudo_alem_verbetes):
|
||||
|
||||
letras_index_digito_1 += 1
|
||||
|
||||
cap = escolher_letra_para_capitulo(letras_index_digito_1)
|
||||
|
||||
ref_cap[cap] = capitulos_arquivo_html[index]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Iterar sobre todas as tags dentro da tag 'main'
|
||||
for tag in main_tag.find_all(True):
|
||||
|
||||
# Verifique se a classe 'unidade' está presente nos atributos da tag
|
||||
if "unidade" in tag.get("class", []):
|
||||
|
||||
# Incrementa o número da referência
|
||||
ref_num += 1
|
||||
|
||||
# Coloca a referência na tag
|
||||
colocar_referencia(cap, tag, ref_num)
|
||||
|
||||
# Pula para a próxima tag
|
||||
continue
|
||||
|
||||
parent_tag = tag.parent
|
||||
|
||||
# Não é filho direto de 'td' ou 'li'
|
||||
if parent_tag.name not in ["td", "li", "p"]:
|
||||
|
||||
# Verifique se a tag é filha de uma tag chamada 'header' usando find_parents(). Em caso positivo, pula
|
||||
is_descendant_of_header = tag.find_parents("header")
|
||||
|
||||
if is_descendant_of_header:
|
||||
continue
|
||||
|
||||
|
||||
|
||||
# Se é um parágrafo
|
||||
if tag.name == "p" or tag.name == "tr" or tag.name == "li" or tag.name == "code" or tag.name == "blockquote" or (tag.name == "dt" and not é_um_capitulo_verbete) or (tag.name == "dd" and not é_um_capitulo_verbete) or ("quarto-video" in tag.get("class", []) and tag.name == "div") or ("callout" in tag.get("class", []) and tag.name == "div") or ("csl-entry" in tag.get("class", []) and tag.name == "div"):
|
||||
|
||||
# Incrementa o número da referência
|
||||
ref_num += 1
|
||||
|
||||
# Coloca a referência na tag
|
||||
colocar_referencia(cap, tag, ref_num)
|
||||
|
||||
# Pula para a próxima tag
|
||||
continue
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Se for criado pelo usuário um id para euqacoes, aqui coloco a classe unidade_silenciosa para poder ser referenciado quando o usuário solicitar pegar referencia, mas esse tipo de referencia nao deve aparecer na paginacao do capítulo, lá no rodapé
|
||||
if "math" in tag.get("class", []) and tag.name == "span":
|
||||
|
||||
if tag.parent and tag.parent.name == "span":
|
||||
|
||||
if tag.parent.get("id"):
|
||||
|
||||
tag.parent["class"] = tag.parent.get("class", []) + ["unidade_silenciosa"]
|
||||
|
||||
tag.parent["title"] = tag.parent["id"]
|
||||
|
||||
continue
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Se tiver as classes de teoremas de matemática, colocar unidade_silenciosa
|
||||
if any(classe in tag.get("class", []) for classe in {"theorema", "lemma", "corollary", "proposition", "conjecture", "definition", "example", "exercise"}) and tag.name == "div":
|
||||
|
||||
if tag.get("id"):
|
||||
|
||||
tag["class"] = tag.parent.get("class", []) + ["unidade_silenciosa"]
|
||||
|
||||
tag["title"] = tag.parent["id"]
|
||||
|
||||
continue
|
||||
|
||||
|
||||
|
||||
# Coloca o conteudo dentro de uma div com id chamado de papel, substituindo o conteudo original da tag main pela div papel
|
||||
|
||||
# Crie uma div com id "papel"
|
||||
div_papel = soup.new_tag('div', id='papel')
|
||||
|
||||
# Copie a tag main
|
||||
main_content_copy = copy.copy(main_tag.contents)
|
||||
|
||||
# Limpe o conteúdo da tag <main>
|
||||
main_tag.clear()
|
||||
|
||||
# Adicione a cópia do conteúdo à div "papel"
|
||||
for item_copy in main_content_copy:
|
||||
div_papel.append(item_copy)
|
||||
|
||||
# Acrescentar a div_papel na tag main
|
||||
main_tag.append(div_papel)
|
||||
|
||||
# Salva o arquivo HTML modificado
|
||||
with open(arquivo_html, "w", encoding="utf-8") as f:
|
||||
|
||||
f.write(str(soup))
|
||||
|
||||
# Gravar os marcadores de referencia do livro em um arquivo JSON. ele esta na variavel ref_cap e essa informacao será útil para o leitor do livro poder entrar na busca digitar a referenci e obter o conteudo.
|
||||
nome_arquivo = "ref_capitulos.json"
|
||||
|
||||
caminho_arquivo = os.path.join(pasta_livro_renderizado, nome_arquivo)
|
||||
|
||||
with open(caminho_arquivo, "w", encoding="utf-8") as arquivo_json:
|
||||
|
||||
json.dump(ref_cap, arquivo_json, ensure_ascii=False, indent=4)
|
||||
@@ -0,0 +1,12 @@
|
||||
function Div(el)
|
||||
if el.classes:includes("qrcode") then
|
||||
|
||||
-- Nome da pasta onde estão os arquivos qr code
|
||||
local folder_name = "qr_code"
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
{ Div = Div }
|
||||
}
|
||||
@@ -0,0 +1,744 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" initialize="false" demote-non-dropping-particle="never" default-locale="pt-BR">
|
||||
<info>
|
||||
<!-- ESTE ESTILO FOI CONSTRUÍDO A PARTIR DO MODELO DA ABNT (com diversos ajustes, mas os créditos permanecem aos autores originais) -->
|
||||
<title>Universidade Estadual de Alagoas - UNEAL [ABNT] (Portuguese - Brazil)</title>
|
||||
<title-short>UNEAL-ABNT</title-short>
|
||||
<id>http://www.zotero.org/styles/universidade-estadual-de-alagoas-abnt</id>
|
||||
<link href="http://www.zotero.org/styles/universidade-estadual-de-alagoas-abnt" rel="self"/>
|
||||
<link href="http://www.zotero.org/styles/associacao-brasileira-de-normas-tecnicas" rel="template"/>
|
||||
<link href="https://www.abntcatalogo.com.br/norma.aspx?ID=408006" rel="documentation"/>
|
||||
<author>
|
||||
<name>Wellyngton Chaves Monteiro da Silva</name>
|
||||
<email>[email protected]</email>
|
||||
<uri>http://www.uneal.edu.br</uri>
|
||||
</author>
|
||||
<category citation-format="author-date"/>
|
||||
<category field="generic-base"/>
|
||||
<summary>De acordo com ABNT-NBR 10520.2002 e ABNT-NBR 6023.2018</summary>
|
||||
<updated>2022-06-26T01:48:46+00:00</updated>
|
||||
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
|
||||
</info>
|
||||
<locale xml:lang="pt-BR">
|
||||
<!--
|
||||
UTILITÁRIOS (para serem inseridos no campo EXTRA do Zotero):
|
||||
publisher-place: quando não existir espaço para LUGAR da publicação (ex.: publisher-place: Maceió OU QUANDO NECESSÁRIO, publisher-place: Maceió, AL)
|
||||
-->
|
||||
<terms>
|
||||
<!--Abreviações dos meses do ano -->
|
||||
<term name="month-01" form="short">jan.</term>
|
||||
<term name="month-02" form="short">fev.</term>
|
||||
<term name="month-03" form="short">mar.</term>
|
||||
<term name="month-04" form="short">abr.</term>
|
||||
<term name="month-05" form="short">maio</term>
|
||||
<term name="month-06" form="short">jun.</term>
|
||||
<term name="month-07" form="short">jul.</term>
|
||||
<term name="month-08" form="short">ago.</term>
|
||||
<term name="month-09" form="short">set.</term>
|
||||
<term name="month-10" form="short">out.</term>
|
||||
<term name="month-11" form="short">nov.</term>
|
||||
<term name="month-12" form="short">dez.</term>
|
||||
<!--Os termos abaixo serao utilizados quando houverem nomes de editores. Apos a citacao dos nomes, eles irao aparecer entre parenteses.-->
|
||||
<term name="and">e</term>
|
||||
<term name="editor" form="short">
|
||||
<single>ed</single>
|
||||
<multiple>eds</multiple>
|
||||
</term>
|
||||
<term name="editor" form="short">
|
||||
<single>org</single>
|
||||
<multiple>org</multiple>
|
||||
</term>
|
||||
<term name="container-author" form="short">
|
||||
<single>ed</single>
|
||||
<multiple>eds</multiple>
|
||||
</term>
|
||||
<term name="collection-editor" form="short">
|
||||
<single>org</single>
|
||||
<multiple>org</multiple>
|
||||
</term>
|
||||
</terms>
|
||||
</locale>
|
||||
<!--A macro 'container-contributor' mostra os nomes dos editores, SOBRENOME, INICIAIS PRENOMES, sendo as inicias separadas por ponto -->
|
||||
<macro name="container-contributors">
|
||||
<choose>
|
||||
<if type="chapter">
|
||||
<names variable="container-author" delimiter=", ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">
|
||||
<name-part name="family" text-case="uppercase"/>
|
||||
<name-part name="given" text-case="capitalize-first"/>
|
||||
</name>
|
||||
<label form="short" prefix=" (" suffix=".)"/>
|
||||
<substitute>
|
||||
<names variable="editor"/>
|
||||
<names variable="collection-editor"/>
|
||||
</substitute>
|
||||
</names>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'secondary-contributors' mostra os nomes dos organizadores, SOBRENOME, INICIAIS PRENOMES, sendo as inicias separadas por ponto -->
|
||||
<macro name="secondary-contributors">
|
||||
<choose>
|
||||
<if type="chapter" match="none">
|
||||
<names variable="editor" delimiter="; " prefix=" (" suffix=")">
|
||||
<name initialize-with=". " delimiter=", "/>
|
||||
<label form="short" prefix=", " text-case="capitalize-first" suffix="."/>
|
||||
</names>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'translator' mostra os nomes dos tradutores, conforme a NBR 6023, de 2018 -->
|
||||
<macro name="translator">
|
||||
<text value="Tradução "/>
|
||||
<names variable="translator" delimiter=", ">
|
||||
<name delimiter=", " sort-separator=" " delimiter-precedes-last="always">
|
||||
<name-part name="given"/>
|
||||
<name-part name="family" text-case="capitalize-first"/>
|
||||
</name>
|
||||
<et-al font-style="normal"/>
|
||||
</names>
|
||||
</macro>
|
||||
<!--A macro 'author' mostra os nomes dos autores na bibliografia, SOBRENOME, INICIAIS PRENOMES, sendo as iniciais
|
||||
separadas por ponto. Quando houver mais de três autores, somente o primeiro será exibido e no lugar dos outros
|
||||
aparecera a expessão 'et al.'. Na regra da ABNT essa expressão deve aparecer em fonte normal -->
|
||||
<macro name="author">
|
||||
<names variable="author">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">
|
||||
<name-part name="family" text-case="uppercase"/>
|
||||
<name-part name="given" text-case="capitalize-first"/>
|
||||
</name>
|
||||
<label form="short" prefix=" (" suffix=".)" text-case="uppercase"/>
|
||||
<substitute>
|
||||
<names variable="editor"/>
|
||||
<text macro="title"/>
|
||||
</substitute>
|
||||
</names>
|
||||
</macro>
|
||||
<!--A macro 'author-short' mostra os nomes dos autores na citação (no meio do texto). Nela aparecera apenas o último nome
|
||||
do autor. Na regra da ABNT o sobrenome deve aparecer com todas as letras em caixa alta -->
|
||||
<macro name="author-short">
|
||||
<names variable="author">
|
||||
<name form="short" name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="never">
|
||||
<name-part name="family" text-case="uppercase"/>
|
||||
<name-part name="given" text-case="uppercase"/>
|
||||
</name>
|
||||
<substitute>
|
||||
<names variable="editor"/>
|
||||
<choose>
|
||||
<if type="book">
|
||||
<text variable="title" form="short"/>
|
||||
</if>
|
||||
<else>
|
||||
<text variable="title" form="short" text-case="uppercase" quotes="false"/>
|
||||
</else>
|
||||
</choose>
|
||||
</substitute>
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="director">
|
||||
<names variable="author">
|
||||
<name sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">
|
||||
<name-part name="given" text-case="capitalize-first"/>
|
||||
<name-part name="family" text-case="capitalize-first"/>
|
||||
</name>
|
||||
</names>
|
||||
</macro>
|
||||
<!--A macro 'access' é utilizada em arquivos de páginas da web. Ela é responsável por exibir a URL do site pesquisado e a data do acesso, além do DOI -->
|
||||
<macro name="access">
|
||||
<text variable="ISSN" prefix=" ISSN: " suffix="."/>
|
||||
<text variable="ISBN" prefix=" ISBN: " suffix="."/>
|
||||
<text variable="DOI" prefix=" DOI: " suffix="."/>
|
||||
<!-- <text variable="URL" prefix=" Disponível em: <" suffix=">."/> RETIREI AS ENTRADAS DAS URLs, CONFORME ABNT -->
|
||||
<text variable="URL" prefix=" Disponível em: " suffix="."/>
|
||||
<date variable="accessed" prefix=". Acesso em: " suffix=".">
|
||||
<date-part name="day" suffix=" "/>
|
||||
<date-part name="month" form="short" suffix=". " text-case="lowercase"/>
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
</macro>
|
||||
<!--A macro 'title' mostra o título principal do arquivo. Em todos os tipos ele aparecerá em negrito logo após os nomes dos autores,
|
||||
exceto em arquivos do tipo 'artigo de jornal, artigo de revista, artigo de periódico', nesses arquivos eles irão aparecer em fonte normal -->
|
||||
<macro name="title">
|
||||
<choose>
|
||||
<if type="chapter article-newspaper legislation article-magazine article-journal bill entry-encyclopedia paper-conference" match="any">
|
||||
<text variable="title"/>
|
||||
</if>
|
||||
<else-if type="book thesis patent report" match="any">
|
||||
<text variable="title" font-weight="bold"/>
|
||||
</else-if>
|
||||
<else-if type="dataset" match="any">
|
||||
<text variable="title" suffix=". "/>
|
||||
</else-if>
|
||||
<else-if type="broadcast motion_picture" match="any">
|
||||
<text variable="title" text-case="uppercase"/>
|
||||
</else-if>
|
||||
<else>
|
||||
<text variable="title" font-weight="bold"/>
|
||||
</else>
|
||||
</choose>
|
||||
<text value=""/>
|
||||
</macro>
|
||||
<!-- Titulo dos Anais-->
|
||||
<macro name="container-title">
|
||||
<choose>
|
||||
<if type="paper-conference" match="any">
|
||||
<text variable="container-title" text-case="uppercase"/>
|
||||
<text variable="number" prefix=", " suffix=", "/>
|
||||
<text macro="issued-year" prefix=" " suffix=", "/>
|
||||
<text variable="publisher-place" suffix=". "/>
|
||||
<text value="Anais" font-weight="bold"/>
|
||||
<text value=" [...]. "/>
|
||||
</if>
|
||||
<else>
|
||||
<text variable="container-title" font-weight="bold"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'publisher' mostra o nome da editora responsável pela publicação-->
|
||||
<macro name="publisher">
|
||||
<choose>
|
||||
<if match="any" variable="publisher-place publisher">
|
||||
<choose>
|
||||
<if variable="publisher-place">
|
||||
<text variable="publisher-place"/>
|
||||
</if>
|
||||
<else-if type="entry-encyclopedia thesis" match="any"/>
|
||||
<else-if type="paper-conference" match="any">
|
||||
<text variable="publisher-place" suffix=". "/>
|
||||
</else-if>
|
||||
<else>
|
||||
<text value="[s.l.] "/>
|
||||
</else>
|
||||
</choose>
|
||||
<choose>
|
||||
<if variable="publisher">
|
||||
<text variable="publisher" prefix=": " suffix=","/>
|
||||
<text macro="issued"/>
|
||||
</if>
|
||||
</choose>
|
||||
</if>
|
||||
<else>
|
||||
<text value="[s.l.: s.n.]"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'event' sera utilizada em arquivos do tipo Evento/Conferencia. Ela e responsavel por mostrar o nome da conferencia, que tera formatacao
|
||||
em caixa alta. Utiliza-se antes do nome da conferencia a expressao "In". Segundo a regra da ABNT ela deve ser em fonte normal-->
|
||||
<macro name="event">
|
||||
<choose>
|
||||
<if variable="event">
|
||||
<choose>
|
||||
<if variable="genre" match="none">
|
||||
<text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>
|
||||
<text variable="event" text-case="uppercase"/>
|
||||
</if>
|
||||
<else>
|
||||
<group delimiter=" ">
|
||||
<text variable="genre" text-case="capitalize-first"/>
|
||||
<text term="presented at"/>
|
||||
<text variable="event"/>
|
||||
</group>
|
||||
</else>
|
||||
</choose>
|
||||
</if>
|
||||
<else-if type="paper-conference" match="any"/>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'issued' e utilizada quando devemos mostrar a data completa exemplo: 03 mar. 2011.-->
|
||||
<macro name="issued">
|
||||
<choose>
|
||||
<if variable="issued" match="any">
|
||||
<group>
|
||||
<date variable="issued">
|
||||
<date-part name="year" prefix=" " suffix=""/>
|
||||
<!-- RETIREI O PONTO DO suffix PARA FICAR 2017a, 2017b, COM PONTO FICA 2017. a., 2017. b. -->
|
||||
</date>
|
||||
</group>
|
||||
</if>
|
||||
<else-if type="patent" match="any">
|
||||
<date form="numeric" variable="issued" suffix="."/>
|
||||
</else-if>
|
||||
<else>
|
||||
<text value="[s.d.]"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'issued-year' e utilizada quando desejamos que apareca apenas o ano-->
|
||||
<macro name="issued-year">
|
||||
<choose>
|
||||
<if variable="issued" match="any">
|
||||
<date variable="issued">
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
</if>
|
||||
<else-if type="paper-conference" match="all">
|
||||
<date date-parts="year" form="numeric" variable="issued">
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
</else-if>
|
||||
<else>
|
||||
<text value="[s.d.]"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="issued-legislation">
|
||||
<date variable="issued">
|
||||
<date-part name="day" suffix=" "/>
|
||||
<date-part name="month" form="short" suffix=". " text-case="lowercase"/>
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
</macro>
|
||||
<!--A macro 'edition' e responsavel por mostrar o numero da edicao.-->
|
||||
<macro name="edition">
|
||||
<choose>
|
||||
<!--Se for capitulo de livro aparecera somente o numero-->
|
||||
<if type="book chapter" match="any">
|
||||
<choose>
|
||||
<if is-numeric="edition">
|
||||
<group delimiter=" ">
|
||||
<number variable="edition" form="numeric" suffix="."/>
|
||||
<text term="edition" form="short" suffix="."/>
|
||||
</group>
|
||||
</if>
|
||||
<else>
|
||||
<!--Se for outro tipo de documento aparecera o numero e depois a descricao "ed."-->
|
||||
<text variable="edition" suffix=" ed."/>
|
||||
</else>
|
||||
</choose>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<!--A macro 'locators' tem como funcao mostrar os dados complementares do arquivo (paginas, secao, volume, etc)-->
|
||||
<macro name="locators">
|
||||
<choose>
|
||||
<!--Se for projeto de lei mostrara o dia, mes "forma curta", ano, secao "Sec." e pagina "p."-->
|
||||
<if type="bill">
|
||||
<group prefix=". " delimiter=", ">
|
||||
<date variable="issued">
|
||||
<date-part name="day"/>
|
||||
<date-part prefix=" " name="month" form="short"/>
|
||||
<date-part prefix=" " name="year"/>
|
||||
</date>
|
||||
<text macro="section"/>
|
||||
<text variable="page" prefix="p. " suffix="."/>
|
||||
</group>
|
||||
</if>
|
||||
<!--Se for artigos de jornal, revista, etc. Aparecera o volume "v.", edicao "n." e a pagina do artigo "p."-->
|
||||
<else-if match="any" type="article-journal article-magazine article-newspaper">
|
||||
<group delimiter=", ">
|
||||
<group delimiter=", ">
|
||||
<text variable="volume" prefix="v. "/>
|
||||
<text variable="issue" prefix="n. "/>
|
||||
</group>
|
||||
<text variable="collection-title"/>
|
||||
<text variable="page" prefix="p. "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!-- Capítulo de livro -->
|
||||
<!--Se for capitulo de livro aparecera o volume "v." e a pagina "p."-->
|
||||
<else-if match="any" type="book chapter">
|
||||
<group delimiter=", ">
|
||||
<group>
|
||||
<text variable="volume" prefix="v. " suffix=". "/>
|
||||
<text variable="page" prefix="p. "/>
|
||||
<!--Inseri este campo 'extra' caso queira colocar alguma observacao, como 'nome da coleção', 'nome da série' etc. -->
|
||||
<!-- <text variable="note" prefix=". " suffix=""/> -->
|
||||
<text macro="collection-title" prefix=". (" suffix=")."/>
|
||||
<!-- AQUI INSERE A COLEÇÃO OU SÉRIE DA OBRA -->
|
||||
</group>
|
||||
</group>
|
||||
</else-if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="collection-title">
|
||||
<text variable="collection-title"/>
|
||||
<text variable="collection-number" prefix=" "/>
|
||||
</macro>
|
||||
<macro name="genre">
|
||||
<text variable="genre"/>
|
||||
</macro>
|
||||
<macro name="section">
|
||||
<choose>
|
||||
<if match="any" variable="section issue">
|
||||
<text variable="section"/>
|
||||
<text variable="issue"/>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="citation-locator">
|
||||
<group>
|
||||
<label variable="locator" form="short"/>
|
||||
<text variable="locator" prefix=" "/>
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="place">
|
||||
<choose>
|
||||
<if variable="publisher-place" match="any">
|
||||
<text variable="publisher-place" suffix=", "/>
|
||||
</if>
|
||||
<else-if type="paper-conference" variable="publisher-place">
|
||||
<text variable="publisher-place" suffix=". "/>
|
||||
</else-if>
|
||||
<else>
|
||||
<text value="[S. l.]" font-style="italic" suffix=", "/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="archive">
|
||||
<group>
|
||||
<text variable="archive" prefix=" "/>
|
||||
</group>
|
||||
</macro>
|
||||
<!--Citacao-->
|
||||
<!--et al. aparece a partir de 04 autores-->
|
||||
<citation et-al-min="4" et-al-use-first="1" collapse="year" disambiguate-add-year-suffix="true">
|
||||
<sort>
|
||||
<!--Puxa o autor primeiro-->
|
||||
<key macro="author"/>
|
||||
<!--Depois o ano-->
|
||||
<key variable="issued"/>
|
||||
</sort>
|
||||
<layout prefix="(" suffix=")" delimiter="; ">
|
||||
<group>
|
||||
<text suffix=", " macro="author-short"/>
|
||||
<text macro="issued-year"/>
|
||||
<text prefix=", " macro="citation-locator"/>
|
||||
</group>
|
||||
</layout>
|
||||
</citation>
|
||||
<bibliography hanging-indent="false" et-al-min="10" et-al-use-first="1" entry-spacing="1">
|
||||
<sort>
|
||||
<key macro="author"/>
|
||||
<key variable="issued"/>
|
||||
</sort>
|
||||
<layout>
|
||||
<choose>
|
||||
<!--Projeto de lei-->
|
||||
<if type="bill">
|
||||
<group>
|
||||
<!--autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Numero da lei-->
|
||||
<text variable="number" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<!--Historico em negrito-->
|
||||
<text variable="references" font-weight="bold" suffix=". "/>
|
||||
<!-- ESTE PONTO VEM ANTES DO 'EXTRA' COMO LOCAL NAS LEIS -->
|
||||
<!--Campo 'extra' caso queira colocar alguma observacao-->
|
||||
<text variable="note"/>
|
||||
<!--Dados complementares "secao, pagina"-->
|
||||
<text macro="locators" suffix=". "/>
|
||||
</group>
|
||||
</if>
|
||||
<!--Mapa-->
|
||||
<else-if type="map">
|
||||
<group>
|
||||
<!--autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=", "/>
|
||||
<!--data-->
|
||||
<text macro="issued" suffix=". "/>
|
||||
<!--Campo 'extra' caso queira colocar alguma observacao-->
|
||||
<text variable="note" suffix=". "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Livro-->
|
||||
<else-if type="book">
|
||||
<group>
|
||||
<!--autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<!--Traducao INSERI DA ABNT (ver como funciona)-->
|
||||
<text macro="translator" suffix=". "/>
|
||||
<!--Edicao-->
|
||||
<text macro="edition" suffix="., "/>
|
||||
<!-- ADICIONEI A VÍRGULA PARA SEPARAR A EDIÇÃO DO LOCAL DE PUBLICAÇÃO -->
|
||||
<!--Local, data, etc-->
|
||||
<text macro="publisher" suffix=". "/>
|
||||
<text variable="number-of-pages" suffix=" p. "/>
|
||||
<!-- ADICIONA A QUANTIDADE DE PÁGINAS NA OBRA -->
|
||||
<!-- Inseri este campo 'extra' caso queira colocar alguma observacao -->
|
||||
<text variable="note" suffix=". "/>
|
||||
<text macro="collection-title" prefix="(" suffix=")."/>
|
||||
<!-- AQUI INSERE A COLEÇÃO OU SÉRIE DA OBRA -->
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<!--<text macro="locators"/>-->
|
||||
<!-- REMOVIDO PARA EVITAR DUPLICIDADE DE INFORMAÇÃO SOBRE A SÉRIE OU COLEÇÃO DA OBRA -->
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Conferencia-->
|
||||
<else-if type="chapter">
|
||||
<group>
|
||||
<!--autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<!--INSERI DA ABNT (ver como funciona) -->
|
||||
<text macro="secondary-contributors" suffix=". "/>
|
||||
<!--In:-->
|
||||
<text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>
|
||||
<!--Nomes de editores-->
|
||||
<text macro="container-contributors" suffix=". "/>
|
||||
<!--Titulo da conferencia-->
|
||||
<text macro="container-title" suffix=". "/>
|
||||
<!--Traducao INSERI DA ABNT (ver como funciona) -->
|
||||
<text macro="translator" suffix=". "/>
|
||||
<!-- <text variable="collection-title" suffix=" "/> AQUI INSERIA A SÉRIE OU COLEÇÃO DENTRO DO TEXTO -->
|
||||
<!--Edicao-->
|
||||
<text macro="edition" suffix="., "/>
|
||||
<!-- A VÍRGULA QUE SEPARA A EDIÇÃO DO LOCAL DA OBRA -->
|
||||
<!--Local, data, etc-->
|
||||
<text macro="publisher" suffix=". "/>
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<text macro="locators" suffix=". "/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Artigo de revista, jornal, etc-->
|
||||
<else-if type="article-newspaper article-magazine article-journal" match="any">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo do artigo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<!--Titulo da publicacao-->
|
||||
<text macro="container-title" suffix=", "/>
|
||||
<!--Titulo da serie-->
|
||||
<text macro="collection-title" suffix=". "/>
|
||||
<text macro="place"/>
|
||||
<!--Edicao-->
|
||||
<text macro="edition" suffix=", "/>
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<text macro="locators" suffix=", "/>
|
||||
<!--Data-->
|
||||
<text macro="issued" suffix=". "/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Tese-->
|
||||
<else-if type="thesis">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<text macro="issued-year" suffix=". "/>
|
||||
<text variable="number-of-pages" suffix=" f. "/>
|
||||
<!-- INSERINDO FOLHAS DE DISSERTAÇÕES E TESES -->
|
||||
<!--Tipo-->
|
||||
<text macro="genre" suffix=" - "/>
|
||||
<!--Local, data, etc-->
|
||||
<text variable="publisher" suffix=", "/>
|
||||
<text macro="place"/>
|
||||
<text macro="issued" suffix="."/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!-- Nao ha norma ABNT para manuscritos -->
|
||||
<else-if type="manuscript">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<!--Edicao-->
|
||||
<text macro="edition" suffix=". "/>
|
||||
<text macro="place"/>
|
||||
<!-- RETIREI O suffix=", " pois não aparece na publicação -->
|
||||
<!--Data-->
|
||||
<text macro="issued" suffix=". "/>
|
||||
<!--URL, data do acesso-->
|
||||
<text macro="access" suffix=". "/>
|
||||
<!--Arquive-->
|
||||
<text macro="archive" suffix=". "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Pagina da WEB-->
|
||||
<else-if type="webpage">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<text macro="genre" suffix=". "/>
|
||||
<text macro="issued-year" suffix="."/>
|
||||
<!--URL, data do acesso-->
|
||||
<text macro="access" suffix=". "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Relatorio-->
|
||||
<else-if type="report">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title"/>
|
||||
<!--Nomes de editores-->
|
||||
<text macro="container-contributors"/>
|
||||
<text macro="secondary-contributors"/>
|
||||
<!--Titulo da publicacao-->
|
||||
<text macro="container-title"/>
|
||||
<text variable="collection-title" prefix=": "/>
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<text macro="locators"/>
|
||||
<!--Nome do evento, conferencia-->
|
||||
<text macro="event"/>
|
||||
<!--Local, data, etc-->
|
||||
<text macro="publisher" prefix=". " suffix=". "/>
|
||||
<!--URL, data do acesso-->
|
||||
<text macro="access" suffix="."/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Texto para Discussao (Verbete de Dicionario)-->
|
||||
<else-if type="entry-dictionary">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title"/>
|
||||
<!--Nomes de editores-->
|
||||
<text macro="container-contributors"/>
|
||||
<text macro="secondary-contributors"/>
|
||||
<!--Titulo da publicacao-->
|
||||
<text macro="container-title"/>
|
||||
<text variable="collection-title" prefix=": " suffix=". "/>
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<text macro="locators"/>
|
||||
<!--Nome do evento, conferencia-->
|
||||
<text macro="event"/>
|
||||
<!--Local, data, etc-->
|
||||
<text macro="publisher" prefix=". " suffix=". "/>
|
||||
<text macro="collection-title" prefix="(Texto para discussao, n. " suffix=")."/>
|
||||
<!--URL, data do acesso-->
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Nota Tecnica (Verbete de Enciclopedia)-->
|
||||
<else-if type="entry-encyclopedia">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix=". "/>
|
||||
<text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>
|
||||
<text macro="container-title" suffix="."/>
|
||||
<!--Local-->
|
||||
<text variable="publisher-place" prefix=". " suffix=": "/>
|
||||
<!--Editor-->
|
||||
<text variable="publisher"/>
|
||||
<!--Data-->
|
||||
<text macro="issued" prefix="," suffix=". "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<!--Publicacao em conferencia-->
|
||||
<else-if type="paper-conference">
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title" suffix="."/>
|
||||
<text term="in" font-style="italic" text-case="capitalize-first" prefix=" " suffix=": "/>
|
||||
<!--Nomes de editores -->
|
||||
<text macro="container-contributors" text-case="uppercase"/>
|
||||
<text macro="secondary-contributors"/>
|
||||
<!--Titulo da publicacao-->
|
||||
<text macro="container-title"/>
|
||||
<!--Dados complementares "pagina, volume"-->
|
||||
<text macro="locators"/>
|
||||
<group delimiter=". " prefix=". " suffix=". ">
|
||||
<!--Nome do evento, conferencia-->
|
||||
<text macro="event"/>
|
||||
</group>
|
||||
<text macro="publisher"/>
|
||||
<text variable="page" prefix=" p. " suffix="."/>
|
||||
<text macro="access"/>
|
||||
</else-if>
|
||||
<else-if type="legislation legal_case" match="any">
|
||||
<group>
|
||||
<!--Autor-->
|
||||
<text macro="author" suffix=". "/>
|
||||
<!--Titulo-->
|
||||
<text macro="title"/>
|
||||
<text variable="abstract" prefix=". " suffix=". "/>
|
||||
<!--Titulo da publicacao-->
|
||||
<text macro="container-title" suffix=", "/>
|
||||
<text variable="publisher-place" suffix=", "/>
|
||||
<text macro="issued-legislation" suffix=". "/>
|
||||
<text macro="section" prefix="Seção " suffix=", "/>
|
||||
<text variable="page" prefix="p. " suffix="."/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<else-if type="patent" match="any">
|
||||
<group>
|
||||
<text macro="author" suffix=". "/>
|
||||
<text macro="title" prefix=" "/>
|
||||
<text variable="number" prefix=", " suffix=", "/>
|
||||
<text macro="issued" suffix=". "/>
|
||||
</group>
|
||||
</else-if>
|
||||
<else-if type="interview song speech" match="any">
|
||||
<group>
|
||||
<text macro="author" suffix=". "/>
|
||||
<text macro="title" suffix=". "/>
|
||||
<text macro="publisher"/>
|
||||
<text variable="medium"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<else-if type="broadcast motion_picture" match="any">
|
||||
<group>
|
||||
<text macro="title"/>
|
||||
<text value="Direção" text-case="capitalize-first" prefix=". " suffix=": "/>
|
||||
<text macro="director" suffix=". "/>
|
||||
<text macro="publisher"/>
|
||||
<text variable="medium"/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<else-if type="dataset" match="any">
|
||||
<group>
|
||||
<text macro="author"/>
|
||||
<text macro="title" suffix=". "/>
|
||||
<text variable="version" prefix=". "/>
|
||||
<text macro="publisher"/>
|
||||
<text variable="medium"/>
|
||||
<text macro="access"/>
|
||||
</group>
|
||||
</else-if>
|
||||
<else>
|
||||
<!-- Inserindo referências de Documentos -->
|
||||
<text macro="author" suffix=". "/>
|
||||
<text macro="title" suffix=". "/>
|
||||
<text macro="container-contributors"/>
|
||||
<text macro="secondary-contributors"/>
|
||||
<text macro="container-title"/>
|
||||
<text variable="collection-title" prefix=": " suffix="."/>
|
||||
<text macro="locators"/>
|
||||
<group delimiter=". " prefix=". " suffix=". ">
|
||||
<!--Nome do evento, conferencia-->
|
||||
<text macro="event"/>
|
||||
</group>
|
||||
<!--Local-->
|
||||
<text variable="publisher-place" suffix=" "/>
|
||||
<!--Editor-->
|
||||
<text variable="publisher" suffix=", "/>
|
||||
<!-- Neste campo 'extra' podemos inserir o local da publicação do documento -->
|
||||
<text variable="note" suffix=""/>
|
||||
<!--Data-->
|
||||
<text macro="issued" suffix=". "/>
|
||||
<!-- REMOVI O prefix=", " DO ORIGINAL -->
|
||||
<text variable="number-of-pages" suffix=" p. "/>
|
||||
<!-- INSERINDO PÁGINAS DO DOCUMENTO -->
|
||||
<text macro="section" prefix="(" suffix=") "/>
|
||||
<!-- INSERINDO INFORMAÇÕES ADICIONAIS SOBRE O DOCUMENTO, ENTRE PARÊNTESES -->
|
||||
<!--URL, data do acesso-->
|
||||
<text macro="access"/>
|
||||
<text variable="medium"/>
|
||||
</else>
|
||||
</choose>
|
||||
</layout>
|
||||
</bibliography>
|
||||
</style>
|
||||
@@ -0,0 +1,9 @@
|
||||
title: LaTeX Environment
|
||||
author: Posit Software, PBC
|
||||
version: 1.2.1
|
||||
quarto-required: ">=1.3"
|
||||
contributes:
|
||||
filters:
|
||||
- latex-environment.lua
|
||||
format:
|
||||
pdf: default
|
||||
@@ -0,0 +1,150 @@
|
||||
-- environment.lua
|
||||
-- Copyright (C) 2020 by RStudio, PBC
|
||||
|
||||
local classEnvironments = pandoc.MetaMap({})
|
||||
local classCommands = pandoc.MetaMap({})
|
||||
|
||||
-- helper that identifies arrays
|
||||
local function tisarray(t)
|
||||
local i = 0
|
||||
for _ in pairs(t) do
|
||||
i = i + 1
|
||||
if t[i] == nil then return false end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- reads the environments
|
||||
local function readEnvironments(meta)
|
||||
local env = meta['environments']
|
||||
if env ~= nil then
|
||||
if tisarray(env) then
|
||||
-- read an array of strings
|
||||
for i, v in ipairs(env) do
|
||||
local value = pandoc.utils.stringify(v)
|
||||
classEnvironments[value] = value
|
||||
end
|
||||
else
|
||||
-- read key value pairs
|
||||
for k, v in pairs(env) do
|
||||
local key = pandoc.utils.stringify(k)
|
||||
local value = pandoc.utils.stringify(v)
|
||||
classEnvironments[key] = value
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function readCommands(meta)
|
||||
local env = meta['commands']
|
||||
if env ~= nil then
|
||||
if tisarray(env) then
|
||||
-- read an array of strings
|
||||
for i, v in ipairs(env) do
|
||||
local value = pandoc.utils.stringify(v)
|
||||
classCommands[value] = value
|
||||
end
|
||||
else
|
||||
-- read key value pairs
|
||||
for k, v in pairs(env) do
|
||||
local key = pandoc.utils.stringify(k)
|
||||
local value = pandoc.utils.stringify(v)
|
||||
classCommands[key] = value
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function readEnvsAndCommands(meta)
|
||||
readEnvironments(meta)
|
||||
readCommands(meta)
|
||||
end
|
||||
|
||||
-- use the environments from metadata to
|
||||
-- emit a custom environment for latex
|
||||
local function writeEnvironments(divEl)
|
||||
if quarto.doc.is_format("latex") then
|
||||
for k, v in pairs(classEnvironments) do
|
||||
if divEl.attr.classes:includes(k) then
|
||||
-- process this into a latex environment
|
||||
local beginEnv = '\\begin' .. '{' .. v .. '}'
|
||||
local endEnv = '\n\\end{' .. v .. '}'
|
||||
|
||||
-- check if custom options or arguments are present
|
||||
-- and add them to the environment accordingly
|
||||
local opts = divEl.attr.attributes['options']
|
||||
if opts then
|
||||
beginEnv = beginEnv .. '[' .. opts .. ']'
|
||||
end
|
||||
|
||||
local args = divEl.attr.attributes['arguments']
|
||||
if args then
|
||||
beginEnv = beginEnv .. '{' .. args .. '}'
|
||||
end
|
||||
|
||||
-- if the first and last div blocks are paragraphs then we can
|
||||
-- bring the environment begin/end closer to the content
|
||||
if #divEl.content > 0 and divEl.content[1].t == "Para" and divEl.content[#divEl.content].t == "Para" then
|
||||
table.insert(divEl.content[1].content, 1, pandoc.RawInline('tex', beginEnv .. "\n"))
|
||||
table.insert(divEl.content[#divEl.content].content, pandoc.RawInline('tex', "\n" .. endEnv))
|
||||
else
|
||||
table.insert(divEl.content, 1, pandoc.RawBlock('tex', beginEnv))
|
||||
table.insert(divEl.content, pandoc.RawBlock('tex', endEnv))
|
||||
end
|
||||
return divEl
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function buildCommandArgs(opts, format)
|
||||
local function wrap(o)
|
||||
return string.format(format, o)
|
||||
end
|
||||
local t = pandoc.List()
|
||||
for str in string.gmatch(opts, "([^"..",".."]+)") do
|
||||
t:insert(str)
|
||||
end
|
||||
return table.concat(t:map(wrap), "")
|
||||
end
|
||||
|
||||
-- use the environments from metadata to
|
||||
-- emit a custom environment for latex
|
||||
local function writeCommands(spanEl)
|
||||
if quarto.doc.is_format("latex") then
|
||||
for k, v in pairs(classCommands) do
|
||||
if spanEl.attr.classes:includes(k) then
|
||||
|
||||
-- resolve the begin command
|
||||
local beginCommand = '\\' .. pandoc.utils.stringify(v)
|
||||
local opts = spanEl.attr.attributes['options']
|
||||
local args = spanEl.attr.attributes['arguments']
|
||||
if opts then
|
||||
beginCommand = beginCommand .. buildCommandArgs(opts, "[%s]")
|
||||
end
|
||||
if args then
|
||||
beginCommand = beginCommand .. buildCommandArgs(args, "{%s}")
|
||||
end
|
||||
|
||||
local beginCommandRaw = pandoc.RawInline('latex', beginCommand .. '{')
|
||||
|
||||
-- the end command
|
||||
local endCommandRaw = pandoc.RawInline('latex', '}')
|
||||
|
||||
-- attach the raw inlines to the span contents
|
||||
local result = spanEl.content
|
||||
table.insert(result, 1, beginCommandRaw)
|
||||
table.insert(result, endCommandRaw)
|
||||
|
||||
return result
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Run in two passes so we process metadata
|
||||
-- and then process the divs
|
||||
return {
|
||||
{ Meta = readEnvsAndCommands },
|
||||
{ Div = writeEnvironments, Span = writeCommands }
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
# Se alguma chave de metadado é vazia para o seu livro, apague essa chave. No entanto, a chave data é obrigatória e JAMAIS apague uma chave que esteja fora da chave 'metadados'.
|
||||
|
||||
metadados:
|
||||
global:
|
||||
título: Norma para Toda Obra — Volume Único
|
||||
subtítulo: Compilado de Normas, Leis e Manuais - Engenharia Civil
|
||||
status: Disponível
|
||||
ano: 2024
|
||||
data: 20/09/2024
|
||||
autor: Carla Fernanda Sander Juliani
|
||||
descrição: "Este guia essencial para profissionais da engenharia lista as Normas Regulamentadoras (NR), Normas Técnicas Brasileiras (NBR), leis e manuais aplicáveis às diversas fases de uma obra. Com foco em construção civil, estruturas, infraestrutura, transportes, saneamento básico e solo, o livro auxilia no entendimento das obrigatoriedades e orientações de cada norma, garantindo projetos mais eficientes, seguros e dentro da legislação. A obra também oferece acesso digital a normas e leis atualizadas, facilitando a consulta e aplicação no dia a dia profissional. Este é o Volume Único online com todos os temas, mas é possível adquirir também de forma impressa e também de forma individual impressa. Volume I: Construção Civil; Volume 2: Estruturas; Volume 3: Infraestrutura e Transportes; Volume 4: Saneamento Básico; Volume 5: Solo."
|
||||
editora: 'Editora Moan'
|
||||
edição: 1
|
||||
coleção: Norma para Toda Obra (ark:68745/eM8Rf)
|
||||
volume-dentro-da-coleção: Único
|
||||
editor: Rafael Tavares Juliani
|
||||
projeto-gráfico: Carla Fernanda Sander Juliani
|
||||
diagramação: html/css
|
||||
capista: Rafael Tavares Juliani e Carla Fernanda Sander Juliani
|
||||
capa: 'norma_para_toda_obra/img/capa.png' # colocar o caminho relativo para a capa, sem colocar o endereço online e sem barra no final
|
||||
revisores: Rafael Tavares Juliani
|
||||
palavras-chaves: 'Normas, ABNT, NBR, Manuais, Instruções Técnicas, Engenharia Civil, ABGE, DNIT/DNER, NR, Resoluções, Leis, Decretos, Construção Civil, Estruturas, Infraestrutura e Transportes, Saneamento Básico, Solo'
|
||||
área: 'Engenharia Civil – Normas técnicas e regulamentações'
|
||||
cdd: '624.1'
|
||||
cdu: '624'
|
||||
bisac: 'TEC009020,TEC005000,TEC009100,TEC009130,TEC009140,TEC009150,TEC009160,TEC005030,TEC005040,TEC005050,TEC005060,TEC005070,TEC005080,TEC014000,TEC063000,TEC054000,TEC010030,TEC010020'
|
||||
idioma: pt-BR
|
||||
local: Foz do Iguaçu - PR
|
||||
país: Brasil
|
||||
faixa-etária: 'Acima de 16 anos'
|
||||
classificação-indicativa: 'Livre para todos os públicos'
|
||||
direitos-autorais: "© Carla Fernanda Sander Juliani, Editora Moan, 2024"
|
||||
licença: Todos os direitos reservados. A reprodução desta obra, seja em parte ou no
|
||||
todo, só poderá ser feita mediante autorização sob pena de violação da lei de direitos
|
||||
autorais. (Lei 9.610/98)
|
||||
licenca-link: https://www.planalto.gov.br/ccivil_03/leis/l9610.htm
|
||||
outros-créditos: 'Imagens da capa: capacete (Construction helmet de pavanahirrao) e trena (tape_measure de tarizkyadinda29). Ambas de https://sketchfab.com e licença CC-BY-4.0. Fontes da Capa: Aeroko, Source Sans Pro, Dancing Script e Amatic SC.'
|
||||
|
||||
html: #o valor do ark, a Editora Moan colocará diretamente no arquivo _quarto-html.yml
|
||||
ark: 68745/eM8Rf/gJ.ht
|
||||
formato: Livro Digital (online)
|
||||
status: "Disponível"
|
||||
ark-versão-impressa: 68745/eM8Rf/gJ
|
||||
isbn-versão-impressa: 978-65-85027-18-2
|
||||
apontamento: "https://livro.online/norma_para_toda_obra" # A Editora Moan ajeita os apontamentos, não se preocupe.
|
||||
ano: 2024
|
||||
data: "05/10/2024" # utilize sempre o formato dd/mm/yyyy
|
||||
|
||||
pdf: #o valor do ark, a Editora Moan colocará diretamente no arquivo _quarto-pdf.yml
|
||||
ark: 68745/eM8Rf/gJ
|
||||
isbn: 978-65-85027-18-2
|
||||
formato: Livro Físico
|
||||
status: "Disponível"
|
||||
apontamento: "https://ark.livro.online/json/ark_dp_68745_b_eM8Rf_b_gJ.json" # A Editora Moan ajeita os apontamentos, não se preocupe.
|
||||
dimensões: '21x29,7 cm (L x A x P)'
|
||||
peso: ' g'
|
||||
encadernamento: Capa Dura
|
||||
páginas: '592'
|
||||
ano: 2024
|
||||
data: "20/09/2024" # utilize sempre o formato dd/mm/yyyy
|
||||
|
||||
|
||||
|
||||
capitulos:
|
||||
- index.qmd
|
||||
- dedicatoria.qmd
|
||||
- apresentacao.qmd
|
||||
- conceitual.qmd
|
||||
- 1_construcao_civil.qmd
|
||||
- 2_estruturas.qmd
|
||||
- 3_infraestrutura_e_transportes.qmd
|
||||
- 4_saneamento_basico.qmd
|
||||
- 5_solo.qmd
|
||||
- bibliografia.qmd
|
||||
|
||||
capitulos-a-excluir:
|
||||
pdf:
|
||||
- dedicatoria.qmd
|
||||
- epigrafe.qmd
|
||||
|
||||
possui-editora: true # Se a publicaçõao for independente, escreva false.
|
||||
|
||||
qrcode:
|
||||
cor: '#744fc6' # Coloque a cor desejada em hexadecimal. A cor padrao é #4da4ea. Para alterar a imagem do centro do qrcode, substitua o logo na pasta editora
|
||||
|
||||
ficha-catalográfica: editora/ficha_catalografica.jpg # a ficha deve ter largura entre 75 e 85 mm e resolução de 300 dpi no mínimo
|
||||
|
||||
site-de-publicacao: "http://livro.online" # o site de publicação será o site responsável por divulgar o livro. No caso da Editora Moan, o valor deve ser "http://livro.online". Atenção: esse valor e o valor do campo "html" de "pasta-livro-finalizado" são de extrema importância, principalmente, se o seu livro não tiver um identificador ark. Esses valores serão usados para gerar alguns itens, inclusive o qr code (sem ark). Então, se você alterar o site de publicação sem um identificador ark terá problemas. Se você publicar com a Editora Moan, não se preocupe com esses valores.
|
||||
|
||||
pasta-livro-finalizado:
|
||||
html: norma_para_toda_obra # Escolha aqui a url do seu livro. O valor escolhido aqui resultará em algo como site-de-publicacao + /url_do_seu_livro, o que na Editora Moan resultará http://livro.online/url_do_seu_livro, se essa url já não estiver sendo usada e se for publicado na Editora Moan. Não use espaços, no lugar, coloque _.
|
||||
pdf: _pdf
|
||||
|
||||
url-politica-de-cookies: https://livro.online/politica-de-cookies-br # Para seu livro funcionar online, ele usa cookies. Coloquei o endereço para a política de cookies que vc se compromete ao entender como funcionam os cookies deste programa. Você pode entender neste endereço padrão ao olhar os cookies do leitor de livros. Se você vai publicar com a Editora Moan, não se preocupe com isso. Se não, você deve ajeitar ou criar uma política de cookies, pois não podemos nos responsabilizar por algo que não teremos controle, visto que você mesmo (ou alguém contratado por você) estará hospedando o livro.
|
||||
|
||||
# Se quiser alterar o tamanho do papel e suas margens vá no arquivo _quarto-pdf.yml e ajuste os itens na entrada geometry. O padrão da Editora Moan é o A5 e com sangria de 5mm. O tamanho configurado já está com a sangria de 5mm até mesmo nas margens.
|
||||
@@ -0,0 +1,84 @@
|
||||
moan-dados:
|
||||
ark: 68745/eM8Rf/gJ.ht
|
||||
formato: Livro Digital (online)
|
||||
status: Disponível
|
||||
ark-versão-impressa: 68745/eM8Rf/gJ
|
||||
isbn-versão-impressa: 978-65-85027-18-2
|
||||
apontamento: https://livro.online/norma_para_toda_obra
|
||||
ano: 2024
|
||||
data: 20/09/2024
|
||||
título: Norma para Toda Obra — Volume Único
|
||||
subtítulo: Compilado de Normas, Leis e Manuais - Engenharia Civil
|
||||
autor: Carla Fernanda Sander Juliani
|
||||
descrição: 'Este guia essencial para profissionais da engenharia lista as Normas
|
||||
Regulamentadoras (NR), Normas Técnicas Brasileiras (NBR), leis e manuais aplicáveis
|
||||
às diversas fases de uma obra. Com foco em construção civil, estruturas, infraestrutura,
|
||||
transportes, saneamento básico e solo, o livro auxilia no entendimento das obrigatoriedades
|
||||
e orientações de cada norma, garantindo projetos mais eficientes, seguros e dentro
|
||||
da legislação. A obra também oferece acesso digital a normas e leis atualizadas,
|
||||
facilitando a consulta e aplicação no dia a dia profissional. Este é o Volume
|
||||
Único online com todos os temas, mas é possível adquirir também de forma impressa
|
||||
e também de forma individual impressa. Volume I: Construção Civil; Volume 2: Estruturas;
|
||||
Volume 3: Infraestrutura e Transportes; Volume 4: Saneamento Básico; Volume 5:
|
||||
Solo.'
|
||||
editora: Editora Moan
|
||||
edição: 1
|
||||
coleção: Norma para Toda Obra (ark:68745/eM8Rf)
|
||||
volume-dentro-da-coleção: Único
|
||||
editor: Rafael Tavares Juliani
|
||||
projeto-gráfico: Carla Fernanda Sander Juliani
|
||||
diagramação: html/css
|
||||
capista: Rafael Tavares Juliani e Carla Fernanda Sander Juliani
|
||||
capa: http://livro.online/norma_para_toda_obra/norma_para_toda_obra/img/capa.png
|
||||
revisores: Rafael Tavares Juliani
|
||||
palavras-chaves: Normas, ABNT, NBR, Manuais, Instruções Técnicas, Engenharia Civil,
|
||||
ABGE, DNIT/DNER, NR, Resoluções, Leis, Decretos, Construção Civil, Estruturas,
|
||||
Infraestrutura e Transportes, Saneamento Básico, Solo
|
||||
área: Engenharia Civil – Normas técnicas e regulamentações
|
||||
cdd: '624.1'
|
||||
cdu: '624'
|
||||
bisac: TEC009020,TEC005000,TEC009100,TEC009130,TEC009140,TEC009150,TEC009160,TEC005030,TEC005040,TEC005050,TEC005060,TEC005070,TEC005080,TEC014000,TEC063000,TEC054000,TEC010030,TEC010020
|
||||
idioma: pt-BR
|
||||
local: Foz do Iguaçu - PR
|
||||
país: Brasil
|
||||
faixa-etária: Acima de 16 anos
|
||||
classificação-indicativa: Livre para todos os públicos
|
||||
direitos-autorais: © Carla Fernanda Sander Juliani, Editora Moan, 2024
|
||||
licença: Todos os direitos reservados. A reprodução desta obra, seja em parte ou
|
||||
no todo, só poderá ser feita mediante autorização sob pena de violação da lei
|
||||
de direitos autorais. (Lei 9.610/98)
|
||||
licenca-link: https://www.planalto.gov.br/ccivil_03/leis/l9610.htm
|
||||
outros-créditos: 'Imagens da capa: capacete (Construction helmet de pavanahirrao)
|
||||
e trena (tape_measure de tarizkyadinda29). Ambas de https://sketchfab.com e licença
|
||||
CC-BY-4.0. Fontes da Capa: Aeroko, Source Sans Pro, Dancing Script e Amatic SC.'
|
||||
include-after-body:
|
||||
text: '<script src="https://leitorweb.livro.online/leitor-web.min.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="https://leitorweb.livro.online/css/configuracoesleitor.min.css"
|
||||
type="text/css">
|
||||
|
||||
'
|
||||
format:
|
||||
moan-livro-html:
|
||||
theme:
|
||||
light:
|
||||
- cosmo
|
||||
- _extensions/moan-livro/custom.scss
|
||||
dark:
|
||||
- superhero
|
||||
- _extensions/moan-livro/custom.scss
|
||||
project:
|
||||
output-dir: norma_para_toda_obra
|
||||
post-render: _extensions/moan-livro/preparacao-moan.py
|
||||
book:
|
||||
chapters:
|
||||
- index.qmd
|
||||
- dedicatoria.qmd
|
||||
- apresentacao.qmd
|
||||
- conceitual.qmd
|
||||
- 1_construcao_civil.qmd
|
||||
- 2_estruturas.qmd
|
||||
- 3_infraestrutura_e_transportes.qmd
|
||||
- 4_saneamento_basico.qmd
|
||||
- 5_solo.qmd
|
||||
- bibliografia.qmd
|
||||
@@ -0,0 +1,98 @@
|
||||
moan-dados:
|
||||
ark: 68745/eM8Rf/gJ
|
||||
isbn: 978-65-85027-18-2
|
||||
formato: Livro Físico
|
||||
status: Disponível
|
||||
apontamento: https://ark.livro.online/json/ark_dp_68745_b_eM8Rf_b_gJ.json
|
||||
dimensões: 21x29,7 cm (L x A x P)
|
||||
peso: ' g'
|
||||
encadernamento: Capa Dura
|
||||
páginas: '592'
|
||||
ano: 2024
|
||||
data: 20/09/2024
|
||||
título: Norma para Toda Obra — Volume Único
|
||||
subtítulo: Compilado de Normas, Leis e Manuais - Engenharia Civil
|
||||
autor: Carla Fernanda Sander Juliani
|
||||
descrição: 'Este guia essencial para profissionais da engenharia lista as Normas
|
||||
Regulamentadoras (NR), Normas Técnicas Brasileiras (NBR), leis e manuais aplicáveis
|
||||
às diversas fases de uma obra. Com foco em construção civil, estruturas, infraestrutura,
|
||||
transportes, saneamento básico e solo, o livro auxilia no entendimento das obrigatoriedades
|
||||
e orientações de cada norma, garantindo projetos mais eficientes, seguros e dentro
|
||||
da legislação. A obra também oferece acesso digital a normas e leis atualizadas,
|
||||
facilitando a consulta e aplicação no dia a dia profissional. Este é o Volume
|
||||
Único online com todos os temas, mas é possível adquirir também de forma impressa
|
||||
e também de forma individual impressa. Volume I: Construção Civil; Volume 2: Estruturas;
|
||||
Volume 3: Infraestrutura e Transportes; Volume 4: Saneamento Básico; Volume 5:
|
||||
Solo.'
|
||||
editora: Editora Moan
|
||||
edição: 1
|
||||
coleção: Norma para Toda Obra (ark:68745/eM8Rf)
|
||||
volume-dentro-da-coleção: Único
|
||||
editor: Rafael Tavares Juliani
|
||||
projeto-gráfico: Carla Fernanda Sander Juliani
|
||||
diagramação: html/css
|
||||
capista: Rafael Tavares Juliani e Carla Fernanda Sander Juliani
|
||||
capa: http://livro.online/norma_para_toda_obra/norma_para_toda_obra/img/capa.png
|
||||
revisores: Rafael Tavares Juliani
|
||||
palavras-chaves: Normas, ABNT, NBR, Manuais, Instruções Técnicas, Engenharia Civil,
|
||||
ABGE, DNIT/DNER, NR, Resoluções, Leis, Decretos, Construção Civil, Estruturas,
|
||||
Infraestrutura e Transportes, Saneamento Básico, Solo
|
||||
área: Engenharia Civil – Normas técnicas e regulamentações
|
||||
cdd: '624.1'
|
||||
cdu: '624'
|
||||
bisac: TEC009020,TEC005000,TEC009100,TEC009130,TEC009140,TEC009150,TEC009160,TEC005030,TEC005040,TEC005050,TEC005060,TEC005070,TEC005080,TEC014000,TEC063000,TEC054000,TEC010030,TEC010020
|
||||
idioma: pt-BR
|
||||
local: Foz do Iguaçu - PR
|
||||
país: Brasil
|
||||
faixa-etária: Acima de 16 anos
|
||||
classificação-indicativa: Livre para todos os públicos
|
||||
direitos-autorais: © Carla Fernanda Sander Juliani, Editora Moan, 2024
|
||||
licença: Todos os direitos reservados. A reprodução desta obra, seja em parte ou
|
||||
no todo, só poderá ser feita mediante autorização sob pena de violação da lei
|
||||
de direitos autorais. (Lei 9.610/98)
|
||||
licenca-link: https://www.planalto.gov.br/ccivil_03/leis/l9610.htm
|
||||
outros-créditos: 'Imagens da capa: capacete (Construction helmet de pavanahirrao)
|
||||
e trena (tape_measure de tarizkyadinda29). Ambas de https://sketchfab.com e licença
|
||||
CC-BY-4.0. Fontes da Capa: Aeroko, Source Sans Pro, Dancing Script e Amatic SC.'
|
||||
pdf-engine: lualatex
|
||||
format:
|
||||
pdf:
|
||||
template-partials:
|
||||
- latex-template/toc.tex
|
||||
- latex-template/before-body.tex
|
||||
toc: true
|
||||
number-sections: true
|
||||
colorlinks: false
|
||||
monofont: Roboto
|
||||
language:
|
||||
toc-title-document: Sumário
|
||||
documentclass: scrbook
|
||||
papersize: none
|
||||
mainfont: Source Sans Pro
|
||||
fontsize: 12pt
|
||||
linestretch: 1.5
|
||||
geometry:
|
||||
- paperwidth=158mm
|
||||
- paperheight=220mm
|
||||
- top=26mm
|
||||
- bottom=20mm
|
||||
- inner=26mm
|
||||
- outer=20mm
|
||||
keep-tex: true
|
||||
include-in-header: latex-template/preambulo.tex
|
||||
lang: pt-BR
|
||||
project:
|
||||
output-dir: _pdf
|
||||
book:
|
||||
chapters:
|
||||
- index.qmd
|
||||
- apresentacao.qmd
|
||||
- conceitual.qmd
|
||||
- 1_construcao_civil.qmd
|
||||
- 2_estruturas.qmd
|
||||
- 3_infraestrutura_e_transportes.qmd
|
||||
- 4_saneamento_basico.qmd
|
||||
- 5_solo.qmd
|
||||
- bibliografia.qmd
|
||||
ficha-catalográfica: editora/ficha_catalografica.jpg
|
||||
possui-editora: true
|
||||
@@ -0,0 +1,105 @@
|
||||
project:
|
||||
type: book
|
||||
preview:
|
||||
port: 4000
|
||||
browser: true
|
||||
lightbox: auto
|
||||
filters:
|
||||
- _extensions/moan-livro/estilizador.lua
|
||||
- _extensions/moan-livro/qrcode-moan.lua
|
||||
- latex-environment
|
||||
environments:
|
||||
- duas_colunas
|
||||
- versos
|
||||
- sem_indentacao
|
||||
- qrcode
|
||||
from: markdown+emoji
|
||||
lang: pt-BR
|
||||
language:
|
||||
toc-title-document: Neste capítulo
|
||||
number-sections: true
|
||||
crossref:
|
||||
chapters: true
|
||||
controle-moan:
|
||||
dicionario: false
|
||||
book:
|
||||
site-url: http://livro.online/norma_para_toda_obra
|
||||
status: Disponível
|
||||
isbn: 978-65-85027-18-2
|
||||
title: Norma para Toda Obra — Volume Único
|
||||
subtitle: Compilado de Normas, Leis e Manuais - Engenharia Civil
|
||||
edition: 1
|
||||
description: 'Este guia essencial para profissionais da engenharia lista as Normas
|
||||
Regulamentadoras (NR), Normas Técnicas Brasileiras (NBR), leis e manuais aplicáveis
|
||||
às diversas fases de uma obra. Com foco em construção civil, estruturas, infraestrutura,
|
||||
transportes, saneamento básico e solo, o livro auxilia no entendimento das obrigatoriedades
|
||||
e orientações de cada norma, garantindo projetos mais eficientes, seguros e dentro
|
||||
da legislação. A obra também oferece acesso digital a normas e leis atualizadas,
|
||||
facilitando a consulta e aplicação no dia a dia profissional. Este é o Volume
|
||||
Único online com todos os temas, mas é possível adquirir também de forma impressa
|
||||
e também de forma individual impressa. Volume I: Construção Civil; Volume 2: Estruturas;
|
||||
Volume 3: Infraestrutura e Transportes; Volume 4: Saneamento Básico; Volume 5:
|
||||
Solo.'
|
||||
author: Carla Fernanda Sander Juliani
|
||||
date-format: DD/MM/YYYY
|
||||
date: '2024-10-05'
|
||||
editor: Rafael Tavares Juliani
|
||||
publisher: Editora Moan
|
||||
publisher-place: Foz do Iguaçu - PR
|
||||
language: pt-BR
|
||||
license: Todos os direitos reservados. A reprodução desta obra, seja em parte ou
|
||||
no todo, só poderá ser feita mediante autorização sob pena de violação da lei
|
||||
de direitos autorais. (Lei 9.610/98)
|
||||
google-analytics: G-G6VT93GC1X
|
||||
cookie-consent:
|
||||
palette: light
|
||||
policy-url: https://livro.online/politica-de-cookies-br
|
||||
language: pt
|
||||
prefs-text: Preferências de cookie
|
||||
search:
|
||||
type: textbox
|
||||
favicon: img/favicon.png
|
||||
open-graph:
|
||||
image: img/og.jpg
|
||||
twitter-card:
|
||||
image: img/og.jpg
|
||||
page-navigation: true
|
||||
reader-mode: true
|
||||
sharing:
|
||||
- facebook
|
||||
- linkedin
|
||||
sidebar:
|
||||
title: Título do seu livro
|
||||
logo: img/capa.png
|
||||
tools:
|
||||
- icon: card-image
|
||||
text: Capa Animada
|
||||
href: img/CapaAnim.gif
|
||||
- icon: bi bi-git
|
||||
text: Alterações e Versões
|
||||
href: https://gitea.livro.online/editoramoan/norma_para_toda_obra/commits/branch/main
|
||||
- icon: envelope-open-heart
|
||||
href: https://livro.online/doacao
|
||||
text: Doar
|
||||
- icon: printer-fill
|
||||
href: index.html#versão-impressa
|
||||
text: Versão Impressa
|
||||
- icon: book-half
|
||||
href: https://livro.online
|
||||
text: Outros Livros
|
||||
navbar:
|
||||
logo: img/capa.png
|
||||
logo-href: img/CapaAnim.gif
|
||||
comments:
|
||||
hypothesis:
|
||||
theme: clean
|
||||
openSidebar: false
|
||||
citation: true
|
||||
bibliography: referencias.bib
|
||||
citeproc: false
|
||||
csl: _extensions/moan-livro/universidade-estadual-de-alagoas-abnt.csl
|
||||
google-scholar: true
|
||||
profile:
|
||||
default: html
|
||||
format-links: false
|
||||
toc-depth: 6
|
||||
@@ -0,0 +1,3 @@
|
||||
e-mail: "[[email protected]](mailto:[email protected])"
|
||||
|
||||
whatsapp: "[+55 (45) 9 3505-0721](https://api.whatsapp.com/send?phone=5545935050721)"
|
||||
@@ -0,0 +1,143 @@
|
||||
# Apresentação {.unnumbered}
|
||||
|
||||
Em áreas relacionadas à engenharia civil, é possível se deparar com
|
||||
Normas Regulamentadoras (NR), Norma Técnica Brasileira (NBR), leis
|
||||
(Federais, Estaduais e Municipais), normas e manuais do DNER/DNIT,
|
||||
normas da ABGE, manuais estaduais e manuais municipais. Com tantas
|
||||
normas/leis/manuais, gera-se muitas dúvidas durante a realização do
|
||||
projeto, da execução, da fiscalização e da manutenção de uma obra de
|
||||
engenharia civil, levando a várias dúvidas: quais normas/leis/manuais
|
||||
devem ser atendidas? São obrigatórias? Ou trata-se apenas de
|
||||
orientações? O intuito deste livro é explicar as diferenças entre elas e
|
||||
compreender melhor a origem de cada norma, manual ou lei. No livro
|
||||
consta também uma lista de normas e leis existentes relacionados à
|
||||
engenharia civil, em todas as suas áreas: construção civil, estruturas,
|
||||
infraestrutura e transporte, saneamento básico e solo.
|
||||
|
||||
Na parte conceitual, primeiro serão apresentadas as definições das
|
||||
principais palavras utilizadas no decorrer deste livro. Posteriormente,
|
||||
será explicada a origem das normas/leis/manuais apresentadas no livro,
|
||||
quais são os órgãos ou instituições que elaboram as normas/leis/manuais
|
||||
e, para concluir, serão explicadas como devem ser utilizadas para
|
||||
desenvolver o melhor projeto/execução/fiscalização/manutenção.
|
||||
|
||||
Depois, o livro é dividido nas 5 principais áreas da engenharia civil:
|
||||
construção civil, estruturas, infraestrutura e transportes, saneamento
|
||||
básico e solo. A seguir, são apresentados todos os assuntos que constam
|
||||
dentro de cada uma das partes:
|
||||
|
||||
1. Parte 1 - CONSTRUÇÃO CIVIL
|
||||
|
||||
a. Conforto Ambiental
|
||||
|
||||
b. Construção
|
||||
|
||||
c. Elétrica e complementares
|
||||
|
||||
d. Orçamentos
|
||||
|
||||
e. Perícias de Engenharia
|
||||
|
||||
f. Prevenção de Incêndio
|
||||
|
||||
g. Segurança no Trabalho
|
||||
|
||||
2. Parte 2 - ESTRUTURAS
|
||||
|
||||
a. Aço
|
||||
|
||||
b. Alumínio
|
||||
|
||||
c. Alvenaria Estrutural
|
||||
|
||||
d. Concreto
|
||||
|
||||
e. Estruturas Mistas
|
||||
|
||||
f. Fundações
|
||||
|
||||
g. Gestão
|
||||
|
||||
h. Madeira
|
||||
|
||||
i. Obras estruturais
|
||||
|
||||
j. Segurança no Trabalho
|
||||
|
||||
3. Parte 3 - INFRAESTRUTURA E TRANSPORTES
|
||||
|
||||
a. Cidades
|
||||
|
||||
b. Estradas
|
||||
|
||||
c. Transportes
|
||||
|
||||
d. Segurança no Trabalho
|
||||
|
||||
4. Parte 4 - SANEAMENTO BÁSICO
|
||||
|
||||
a. Hidráulica
|
||||
|
||||
b. Recursos Hídricos
|
||||
|
||||
c. Rede de Drenagem
|
||||
|
||||
d. Resíduos Sólidos
|
||||
|
||||
e. Sistema de Abastecimento de Água
|
||||
|
||||
f. Sistema de Abastecimento de Esgoto
|
||||
|
||||
g. Segurança no Trabalho
|
||||
|
||||
5. Parte 5 - SOLO
|
||||
|
||||
a. Aterramento
|
||||
|
||||
b. Ensaios
|
||||
|
||||
c. Fundação
|
||||
|
||||
d. Gestão
|
||||
|
||||
e. Impermeabilização
|
||||
|
||||
f. Muro de arrimo
|
||||
|
||||
g. Rocha
|
||||
|
||||
h. Sondagem
|
||||
|
||||
i. Solo-cimento
|
||||
|
||||
j. Taludes
|
||||
|
||||
k. Terraplenagem
|
||||
|
||||
l. Tirantes
|
||||
|
||||
m. Topografia
|
||||
|
||||
n. Segurança no Trabalho
|
||||
|
||||
No livro consta um compilado com um total de 3.452 normas, leis e
|
||||
manuais na área da Engenharia Civil, sendo 38 Normas Regulamentadoras
|
||||
(NR), 2.847 ABNT Normas Técnica Brasileira (NBR), 453 Normas do
|
||||
DNIT/DNER, 17 Normas e 2 Diretrizes Normativas da ABGE, 60 Manuais, 23
|
||||
Leis/Decretos voltadas à Engenharia Civil e 12 Resoluções.
|
||||
|
||||
O livro possui formatos em meio físico, *online* e *e-book*, e o livro
|
||||
físico consta uma edição com todas as partes chamado de Volume Único, e
|
||||
também é possível adquirir o livro por volumes (Volume 1, Volume 2,
|
||||
Volume 3, Volume 4 e Volume 5) que possuem temas específicos. Cada um
|
||||
dos volumes possui o seguinte material: apresentação, conceitual, tema
|
||||
do volume e a bibliografia. Os temas são: Parte 1 -- Construção civil,
|
||||
Parte 2 -- Estruturas, Parte 3 -- Infraestrutura e Transportes, Parte 4
|
||||
-- Saneamento Básico e Parte 5 -- Solos. O livro foi produzido com a
|
||||
opção de volumes separados caso haja interesse em adquirir apenas um dos
|
||||
temas especírficos.
|
||||
|
||||
Em cada uma das partes do livro físico consta um *qrcode* que ao
|
||||
escaneá-lo será possível acessar o livro *online* no site da Editora
|
||||
Moan. No livro *online* foram deixados *links* das normas e leis, sendo
|
||||
possível verificar as mesmas diretamente nos *sites* originais.
|
||||
@@ -0,0 +1,459 @@
|
||||
# Bibliografia {.unnumbered}
|
||||
|
||||
ABGE (Associação Brasileira de Geologia de Engenharia e Ambiental).
|
||||
**Site**, 2024. Disponível em: <https://www.abge.org.br/home>. Acesso
|
||||
em: 07 de agosto de 2024.
|
||||
|
||||
ABGE (Associação Brasileira de Geologia de Engenharia e Ambiental).
|
||||
**Normas** **ABGE**, 2024. Disponível em:
|
||||
<https://www.abge.org.br/abge-normas>. Acesso em: 07 de agosto de 2024.
|
||||
|
||||
ABNT (Associação Brasileira de Normas Técnicas). **Site**, 2024.
|
||||
Disponível em: <https://www.abnt.org.br/> . Acesso em: 07 de agosto de
|
||||
2024.
|
||||
|
||||
ABNT (Associação Brasileira de Normas Técnicas). **Catálogo**, 2024.
|
||||
Disponível em: <https://www.abntcatalogo.com.br/pav.aspx> . Acesso em:
|
||||
entre 16 maio de 2023 e 12 de agosto de 2024.
|
||||
|
||||
ABNT (Associação Brasileira de Normas Técnicas). **Consulta Nacional**,
|
||||
2024. Disponível em:
|
||||
<https://www.abntonline.com.br/consultanacional/>[.]{.underline} Acesso
|
||||
em: 07 de agosto de 2024.
|
||||
|
||||
BELO HORIZONTE. **Instrução técnica para elaboração de estudos e
|
||||
projetos de drenagem.** Belo Horizonte: Prefeitura Municipal de Belo
|
||||
Horizonte, 2022. Disponível em:
|
||||
<https://prefeitura.pbh.gov.br/obras-e-infraestrutura/informacoes/publicacoes/instrucao-estudos-e-projetos-de-drenagem>.
|
||||
Acesso em: 23 de julho de 2024.
|
||||
|
||||
BRASIL. Decreto nº 9.983, de 22 de agosto de 2019. **Dispõe sobre a
|
||||
Estratégia Nacional de Disseminação do Building Information Modelling e
|
||||
institui o Comitê Gestor da Estratégia do Building Information
|
||||
Modelling.**. Diário Oficial da União: Brasília, DF, 2019. Disponível
|
||||
em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2019/Decreto/D9983.htm>
|
||||
. Acesso em: 01 de agosto de 2024.
|
||||
|
||||
BRASIL. Decreto nº 10.306, de 2 de abril de 2020. **Estabelece a
|
||||
utilização do Building Information Modelling na execução direta ou
|
||||
indireta de obras e serviços de engenharia realizada pelos órgãos e
|
||||
pelas entidades da administração pública federal, no âmbito da
|
||||
Estratégia Nacional de Disseminação do Building Information Modelling -
|
||||
Estratégia BIM BR**. Diário Oficial da União: Brasília, DF, 2020.
|
||||
Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2020/decreto/D10306.htm>
|
||||
. Acesso em: 01 de agosto de 2024.
|
||||
|
||||
BRASIL. Decreto nº 11.888, de 22 de janeiro de 2024. **Dispõe sobre a
|
||||
Estratégia Nacional de Disseminação do Building Information Modelling no
|
||||
Brasil - Estratégia BIM BR e institui o Comitê Gestor da Estratégia do
|
||||
Building Information Modelling - BIM BR**. Diário Oficial da União:
|
||||
Brasília, DF, 2019. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2024/decreto/d11888.htm>
|
||||
. Acesso em: 01 de agosto de 2024.
|
||||
|
||||
BRASIL. Decreto nº 81.621, de 3 de maio de 1978. **Aprova o Quadro Geral
|
||||
de Unidades de Medida, em substituição ao anexo do Decreto nº 63.233, de
|
||||
12 de setembro de 1968**. Diário Oficial da União: Brasília, DF, 1978.
|
||||
Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/decreto/1970-1979/d81621.htm> .
|
||||
Acesso em: 05 de agosto de 2024.
|
||||
|
||||
BRASIL. **Estatuto da Cidade**. 3. ed. Brasília: Senado Federal,
|
||||
Subsecretaria de Edições Técnicas, 2008. Disponível em:
|
||||
https://www2.senado.leg.br/bdsf/bitstream/handle/id/70317/000070317.pdf.
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 4.591, de 16 de dezembro de 1964. **Dispõe sobre o
|
||||
condomínio em edificações e as incorporações imobiliárias**. Diário
|
||||
Oficial da União: Brasília, DF, 1964. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/l4591.htm> . Acesso em: 05
|
||||
de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 4.864, de 29 de novembro de 1965. **Cria Medidas de
|
||||
estímulo à Indústria de Construção Civil**. Diário Oficial da União:
|
||||
Brasília, DF, 1965. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/L4864.htm> . Acesso em: 05
|
||||
de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 6.514, de 22 de dezembro de 1977. **Altera o Capítulo V
|
||||
do Titulo II da Consolidação das Leis do Trabalho, relativo a segurança
|
||||
e medicina do trabalho e dá outras providências**. Diário Oficial da
|
||||
União: Brasília, DF, 1977. Disponível em:
|
||||
<http://www.planalto.gov.br/ccivil_03/LEIS/L6514.htm> . Acesso em: 07 de
|
||||
agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 6.766, de 19 de dezembro de 1979. **Dispõe sobre o
|
||||
Parcelamento do Solo Urbano e dá outras Providências**. Diário Oficial
|
||||
da União: Brasília, DF, 1979. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/L6766.htm>. Acesso em: 07 de
|
||||
agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 9.433, de 8 de janeiro de 1997. **nstitui a Política
|
||||
Nacional de Recursos Hídricos, cria o Sistema Nacional de Gerenciamento
|
||||
de Recursos Hídricos, regulamenta o inciso XIX do art. 21 da
|
||||
Constituição Federal, e altera o art. 1º da Lei nº 8.001, de 13 de março
|
||||
de 1990, que modificou a Lei nº 7.990, de 28 de dezembro de 1989.**.
|
||||
Diário Oficial da União: Brasília, DF, 1997. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/l9433.htm>. Acesso em: 30 de
|
||||
julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 9.966, de 28 de abril de 2000. **Dispõe sobre a
|
||||
prevenção, o controle e a fiscalização da poluição causada por
|
||||
lançamento de óleo e outras substâncias nocivas ou perigosas em águas
|
||||
sob jurisdição nacional e dá outras providências.**. Diário Oficial da
|
||||
União: Brasília, DF, 2000. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/l9966.htm>. Acesso em: 30 de
|
||||
julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 9.984, de 17 de julho de 2000. **Dispõe sobre a criação
|
||||
da Agência Nacional de Águas e Saneamento Básico (ANA), entidade federal
|
||||
de implementação da Política Nacional de Recursos Hídricos, integrante
|
||||
do Sistema Nacional de Gerenciamento de Recursos Hídricos (Singreh) e
|
||||
responsável pela instituição de normas de referência para a regulação
|
||||
dos serviços públicos de saneamento básico.**. Diário Oficial da União:
|
||||
Brasília, DF, 2000. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/L9984.htm>. Acesso em: 30 de
|
||||
julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 10.098, de 19 de dezembro de 2000. **Estabelece normas
|
||||
gerais e critérios básicos para a promoção da acessibilidade das pessoas
|
||||
portadoras de deficiência ou com mobilidade reduzida, e dá outras
|
||||
providências**. Diário Oficial da União: Brasília, DF, 2000. Disponível
|
||||
em: <https://www.planalto.gov.br/ccivil_03/leis/l10098.htm> Acesso em:
|
||||
07 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 10.233, de 5 de junho de 2001. **Dispõe sobre a
|
||||
reestruturação dos transportes aquaviário e terrestre, cria o Conselho
|
||||
Nacional de Integração de Políticas de Transporte, a Agência Nacional de
|
||||
Transportes Terrestres, a Agência Nacional de Transportes Aquaviários e
|
||||
o Departamento Nacional de Infra-Estrutura de Transportes, e dá outras
|
||||
providências**. Diário Oficial da União: Brasília, DF, 2001. Disponível
|
||||
em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/leis_2001/l10233.htm>[.]{.underline}
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 10.254, de 10 de julho de 2001. **Regulamenta os arts.
|
||||
182 e 183 da Constituição Federal, estabelece diretrizes gerais da
|
||||
política urbana e dá outras providências**. Diário Oficial da União:
|
||||
Brasília, DF, 2001. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/leis_2001/l10257.htm>[.]{.underline}
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 10.257, de 10 de julho de 2001. **Regulamenta os arts.
|
||||
182 e 183 da Constituição Federal, estabelece diretrizes gerais da
|
||||
política urbana e dá outras providências**. Diário Oficial da União:
|
||||
Brasília, DF, 2001. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/leis/leis_2001/l10257.htm>.
|
||||
Acesso em: 31 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 11.445, de 5 de janeiro de 2007. **Estabelece as
|
||||
diretrizes nacionais para o saneamento básico; cria o Comitê
|
||||
Interministerial de Saneamento Básico; altera as Leis nos 6.766, de 19
|
||||
de dezembro de 1979, 8.666, de 21 de junho de 1993, e 8.987, de 13 de
|
||||
fevereiro de 1995; e revoga a Lei nº 6.528, de 11 de maio de 1978**.
|
||||
Diário Oficial da União: Brasília, DF, 2007. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2007-2010/2007/lei/l11445.htm>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº12.305, de 2 de agosto de 2010. **Institui a Política
|
||||
Nacional de Resíduos Sólidos; altera a Lei no 9.605, de 12 de fevereiro
|
||||
de 1998; e dá outras providências**. Diário Oficial da União: Brasília,
|
||||
DF, 2010. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2007-2010/2010/lei/l12305.htm>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 12.334, de 20 de setembro de 2010. **Estabelece a
|
||||
Política Nacional de Segurança de Barragens destinadas à acumulação de
|
||||
água para quaisquer usos, à disposição final ou temporária de rejeitos e
|
||||
à acumulação de resíduos industriais, cria o Sistema Nacional de
|
||||
Informações sobre Segurança de Barragens e altera a redação do art. 35
|
||||
da Lei no 9.433, de 8 de janeiro de 1997, e do art. 4o da Lei no 9.984,
|
||||
de 17 de julho de 2000.**. Diário Oficial da União: Brasília, DF, 2010.
|
||||
Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2007-2010/2010/lei/l12334.htm>
|
||||
. Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 12.608, de 10 de abril de 2012. **Institui a Política
|
||||
Nacional de Proteção e Defesa Civil - PNPDEC; dispõe sobre o Sistema
|
||||
Nacional de Proteção e Defesa Civil - SINPDEC e o Conselho Nacional de
|
||||
Proteção e Defesa Civil - CONPDEC; autoriza a criação de sistema de
|
||||
informações e monitoramento de desastres; altera as Leis nºs 12.340, de
|
||||
1º de dezembro de 2010, 10.257, de 10 de julho de 2001, 6.766, de 19 de
|
||||
dezembro de 1979, 8.239, de 4 de outubro de 1991, e 9.394, de 20 de
|
||||
dezembro de 1996; e dá outras providências**. Diário Oficial da União:
|
||||
Brasília, DF, 2012. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2011-2014/2012/Lei/L12608.htm>.
|
||||
Acesso em: 31 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 13.443, de 11 de maio de 2017. **Altera a Lei nº 10.098,
|
||||
de 19 de dezembro de 2000, para estabelecer a obrigatoriedade da oferta,
|
||||
em espaços de uso público, de brinquedos e equipamentos de lazer
|
||||
adaptados para utilização por pessoas com deficiência, inclusive visual,
|
||||
ou com mobilidade reduzida**. Diário Oficial da União: Brasília, DF,
|
||||
2017. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2017/lei/l13443.htm>[.]{.underline}
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
BRASIL. Lei nº 13.724, de 4 de outubro de 2018. **Institui o Programa
|
||||
Bicicleta Brasil (PBB) para incentivar o uso da bicicleta visando à
|
||||
melhoria das condições de mobilidade urbana**. Diário Oficial da União:
|
||||
Brasília, DF, 2018. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2018/Lei/L13724.htm>.
|
||||
Acesso em: 31 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 14.026, de 15 de julho de 2020. **Atualiza o marco legal
|
||||
do saneamento básico e altera a Lei nº 9.984, de 17 de julho de 2000,
|
||||
para atribuir à Agência Nacional de Águas e Saneamento Básico (ANA)
|
||||
competência para editar normas de referência sobre o serviço de
|
||||
saneamento, a Lei nº 10.768, de 19 de novembro de 2003, para alterar o
|
||||
nome e as atribuições do cargo de Especialista em Recursos Hídricos, a
|
||||
Lei nº 11.107, de 6 de abril de 2005, para vedar a prestação por
|
||||
contrato de programa dos serviços públicos de que trata o art. 175 da
|
||||
Constituição Federal, a Lei nº 11.445, de 5 de janeiro de 2007, para
|
||||
aprimorar as condições estruturais do saneamento básico no País, a Lei
|
||||
nº 12.305, de 2 de agosto de 2010, para tratar dos prazos para a
|
||||
disposição final ambientalmente adequada dos rejeitos, a Lei nº 13.089,
|
||||
de 12 de janeiro de 2015 (Estatuto da Metrópole), para estender seu
|
||||
âmbito de aplicação às microrregiões, e a Lei nº 13.529, de 4 de
|
||||
dezembro de 2017, para autorizar a União a participar de fundo com a
|
||||
finalidade exclusiva de financiar serviços técnicos especializados.**.
|
||||
Diário Oficial da União: Brasília, DF, 2020. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14026.htm>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 14.133, de 1º de abril de 2021. **Lei de Licitações e
|
||||
Contratos Administrativos**. Diário Oficial da União: Brasília, DF,
|
||||
2021. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2021/Lei/L14133.htm>.
|
||||
Acesso em: 23 de maio de 2024.
|
||||
|
||||
BRASIL. Lei nº 14.489, de 21 de dezembro de 2022. **Altera a Lei nº
|
||||
10.257, de 10 de julho de 2001 (Estatuto da Cidade), para vedar o
|
||||
emprego de técnicas construtivas hostis em espaços livres de uso público
|
||||
-- Lei Padre Júlio Lancelotti**. Diário Oficial da União: Brasília, DF,
|
||||
2022. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2022/Lei/L14489.htm>.
|
||||
Acesso em: 31 de julho de 2024.
|
||||
|
||||
BRASIL. Lei nº 14.729, de 23 de novembro de 2023. **Altera as Leis nºs
|
||||
13.724, de 4 de outubro de 2018, e 10.257, de 10 de julho de 2001, para
|
||||
ampliar a participação popular no processo de implantação de
|
||||
infraestruturas destinadas à circulação de bicicletas, bem como para
|
||||
determinar a compatibilização do Plano de Mobilidade Urbana com a
|
||||
ampliação do perímetro urbano**. Diário Oficial da União: Brasília, DF,
|
||||
2023. Disponível em:
|
||||
<https://www.planalto.gov.br/ccivil_03/_Ato2023-2026/2023/Lei/L14729.htm>.
|
||||
Acesso em: 31 de julho de 202.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume I -
|
||||
Sinalização Vertical de Regulamentação**. CONTRAN: Brasília, DF, 2022.
|
||||
Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___01___MBST_Vol._I___Sin._Vert._Regulamentacao_F.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume II -
|
||||
Sinalização Vertical de Advertência**. CONTRAN: Brasília, DF, 2022.
|
||||
Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___02___MBST_Vol._II___Sin._Vert._Advertencia.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume III -
|
||||
Sinalização Vertical de Indicação**. CONTRAN: Brasília, DF, 2022.
|
||||
Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___03___MBST_Vol._III___Sin._Vert._Indicacao.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume IV -
|
||||
Sinalização Horizontal**. CONTRAN: Brasília, DF, 2022. Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___04___MBST_Vol._IV___Sinalizacao_Horizontal.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume V -
|
||||
Sinalização Semafórica**. CONTRAN: Brasília, DF, 2022. Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___05___MBST_Vol._V___Sinalizacao_Semaforica.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume VI -
|
||||
Dispositivos Auxiliares**. CONTRAN: Brasília, DF, 2022. Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___06___MBST_Vol._VI___Dispositivos_Auxiliares.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume VII -
|
||||
Sinalização Temporária**. CONTRAN: Brasília, DF, 2022. Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___07___MBST_Vol._VII___Sinalizacao_Temporaria.pdf>[.]{.underline}
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume VIII -
|
||||
Sinalização Cicloviária**. CONTRAN: Brasília, DF, 2022. Disponível em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___08___MBST_Vol._VIII___Sinalizacao_Cicloviaria.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Manual Brasileiro de Sinalização de Trânsito - Volume IX -
|
||||
Cruzamentos Rodoferroviários**. CONTRAN: Brasília, DF, 2022. Disponível
|
||||
em:
|
||||
<https://www.gov.br/transportes/pt-br/assuntos/transito/arquivos-senatran/docs/copy_of___09___MBST_Vol._IX___Cruzamentos_Rodoferroviarios.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. **Normas Regulamentadoras - NR**. Brasília, DF: Ministério do
|
||||
Trabalho e Emprego, 2024. Disponível em:
|
||||
<https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/inspecao-do-trabalho/seguranca-e-saude-no-trabalho/ctpp-nrs/normas-regulamentadoras-nrs>.
|
||||
Acesso em: 20 de abril de 2023.
|
||||
|
||||
BRASIL. Portaria nº 3.214, de 08 de junho de 1978. **Aprova as Normas
|
||||
Regulamentadoras - NR - do Capítulo V, Título II, da Consolidação das
|
||||
Leis do Trabalho, relativas a Segurança e Medicina do Trabalho**.
|
||||
Brasília, DF: Ministério do Trabalho, 1978. Disponível em:
|
||||
<https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/inspecao-do-trabalho/seguranca-e-saude-no-trabalho/sst-portarias/1978/portaria_3-214_aprova_as_nrs.pdf>[.]{.underline}
|
||||
Acesso em: 20 de abril de 2023.
|
||||
|
||||
BRASIL. Resolução ANVISA RDC nº 50, de 21 de fevereiro de 2002. **Dispõe
|
||||
sobre o Regulamento Técnico para planejamento, programação, elaboração e
|
||||
avaliação de projetos físicos estabelecimentos assistenciais de saúde**.
|
||||
ANVISA: Brasília, DF, 2002. Disponível em:
|
||||
[https://antigo.anvisa.gov.br/documents/10181/2718376/%281%29RDC_50_2002_COMP.pdf/8b6dc86e-5fe7-41ab-9d71-cda206a2401a](https://antigo.anvisa.gov.br/documents/10181/2718376/(1)RDC_50_2002_COMP.pdf/8b6dc86e-5fe7-41ab-9d71-cda206a2401a).
|
||||
Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Resolução CNRH nº 5, de 10 de abril de 2000. **O Conselho
|
||||
Nacional de Recursos Hídricos, no uso de suas atribuições, tendo em
|
||||
vista o disposto na Lei nº 9.433, de 8 de janeiro de 1997, e no Decreto
|
||||
nº 2.612, de 3 de junho de 1998, e Considerando a necessidade de
|
||||
estabelecer diretrizes para a formação e funcionamento dos Comitês de
|
||||
Bacias Hidrográficas, de forma a implementar o Sistema Nacional de
|
||||
Gerenciamento de Recursos Hídricos, conforme estabelecido pela Lei nº
|
||||
9.433, de 8 de janeiro de 1997**. Conselho Nacional dos Recursos
|
||||
Hídricos: Brasília, DF, 2000. Disponível em:
|
||||
<https://cdn.agenciapeixevivo.org.br/media/2019/06/Resolucao05-2000.pdf>
|
||||
. Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Resolução CNRH nº 140, de 21 de março de 2012. **Estabelece
|
||||
critérios gerais para outorga de lançamento de efluentes com fins de
|
||||
diluição em corpos de água superficiais.**. Conselho Nacional dos
|
||||
Recursos Hídricos: Brasília, DF, 2012. Disponível em:
|
||||
[https://www.cbhdoce.org.br/wp-content/uploads/2013/12/resolucao_cnrh_140_outorga_diluic%C3%A3o-.pdf](https://www.cbhdoce.org.br/wp-content/uploads/2013/12/resolucao_cnrh_140_outorga_diluicão-.pdf)
|
||||
. Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Resolução CNRH nº 141, de 10 de julho de 2012. **Estabelece
|
||||
critérios e diretrizes para implementação dos instrumentos de outorga de
|
||||
direito de uso de recursos hídricos e de enquadramento dos corpos de
|
||||
água em classes, segundo os usos preponderantes da água, em rios
|
||||
intermitentes e efêmeros, e dá outras providências.**. Conselho Nacional
|
||||
dos Recursos Hídricos: Brasília, DF, 2012. Disponível em:
|
||||
<https://www.cbhdoce.org.br/wp-content/uploads/2013/12/resolucao_cnrh_141_criterios_diretrizes_outorga_enquadramento_rios_intermitentes.pdf>
|
||||
. Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Resolução CNRH nº 145, de 12 de dezembro de 2012. **Estabelece
|
||||
diretrizes para a elaboração de Planos de Recursos Hídricos de Bacias
|
||||
Hidrográficas e dá outras providencias**. Conselho Nacional dos Recursos
|
||||
Hídricos: Brasília, DF, 2012. Disponível em:
|
||||
<https://www.comitespcj.org.br/images/Download/Res-CNRH-145-12.pdf> .
|
||||
Acesso em: 28 de agosto de 2024.
|
||||
|
||||
BRASIL. Resolução CONAMA nº 357, de 17 de março de 2005. **Dispõe sobre
|
||||
a classificação dos corpos de água e ambientais para o seu
|
||||
enquadramento, bem como estabelece as condições e padrões de lançamento
|
||||
de efluentes, e dá outras providências**. CONAMA: Brasília, DF, 2005.
|
||||
Disponível em:
|
||||
<https://conama.mma.gov.br/?option=com_sisconama&task=arquivo.download&id=450>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Resolução CONAMA nº 393, de 8 de agosto de 2007. **Dispõe sobre
|
||||
o descarte contínuo de água de processo ou de produção em plataformas
|
||||
marítimas de petróleo e gás natural, e dá outras providências**. CONAMA:
|
||||
Brasília, DF, 2007. Disponível em:
|
||||
<https://conama.mma.gov.br/?option=com_sisconama&task=arquivo.download&id=530>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Resolução CONAMA nº 397, de 3 de abril de 2008. **Altera o
|
||||
inciso II do § 4o e a Tabela X do § 5o, ambos do art. 34 da Resolução do
|
||||
Conselho Nacional do Meio Ambiente-CONAMA no 357, de 2005, que dispõe
|
||||
sobre a classificação dos corpos de água e diretrizes ambientais para o
|
||||
seu enquadramento, bem como estabelece as condições e padrões de
|
||||
lançamento de efluentes**. CONAMA: Brasília, DF, 2008. Disponível em:
|
||||
<https://conama.mma.gov.br/?option=com_sisconama&task=arquivo.download&id=546>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Resolução CONAMA nº 410, de 4 de maio de 2009. **Prorroga o
|
||||
prazo para complementação das condições e padrões de lançamento de
|
||||
efluentes, previsto no art. 44 da Resolução nº 357, de 17 de março de
|
||||
2005, e no Art. 3o da Resolução nº 397, de 3 de abril de 2008**. CONAMA:
|
||||
Brasília, DF, 2009. Disponível em:
|
||||
<https://conama.mma.gov.br/?option=com_sisconama&task=arquivo.download&id=584>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Resolução CONAMA nº 430, de 13 de maio de 2011. **Dispõe sobre
|
||||
condições e padrões de lançamento de efluentes, complementa e altera a
|
||||
Resolução no 357, de 17 de março de 2005, do Conselho Nacional do Meio
|
||||
Ambiente - CONAMA**. CONAMA: Brasília, DF, 2011. Disponível em:
|
||||
<https://conama.mma.gov.br/?option=com_sisconama&task=arquivo.download&id=627>.
|
||||
Acesso em: 30 de julho de 2024.
|
||||
|
||||
BRASIL. Resolução CONTRAN nº 160, de 22 de abril de 2004. **Aprova o
|
||||
Anexo II do Código de Trânsito Brasileiro**. CONTRAN: Brasília, DF,
|
||||
2004. Disponível em:
|
||||
<https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao_contran_160.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
BRASIL. Resolução CONTRAN nº 585, de 23 de março de 2016. **Dispõe sobre
|
||||
os requisitos de segurança, identificação, habilitação dos condutores e
|
||||
sinalização viária para os Veículos Leves sobre Trilhos -- VLT**.
|
||||
CONTRAN: Brasília, DF, 2016. Disponível em:
|
||||
<http://www.gov.br/transportes/pt-br/assuntos/transito/conteudo-contran/resolucoes/Resolucao58520162.pdf>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
DICIO. **Dicionário**, 2024. Disponível em: <https://www.dicio.com.br/>
|
||||
Acesso em: 05 de agosto de 2024.
|
||||
|
||||
DNIT (Departamento Nacional de Infraestrutura e Transportes). **Site**,
|
||||
2024. Disponível em: <https://www.gov.br/dnit/pt-br>. Acesso em: 07 de
|
||||
agosto de 2024.
|
||||
|
||||
DNIT (Departamento Nacional de Infraestrutura e Transportes). **Dados
|
||||
abertos,** 2024. Disponível em:
|
||||
<https://dados.gov.br/dados/organizacoes/visualizar/departamento-nacional-de-infraestrutura-de-transportes-dnit>[.]{.underline}
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
DNIT (Departamento Nacional de Infraestrutura e Transportes).
|
||||
**Coletânea de Normas**, 2023. Disponível em:
|
||||
<https://www.gov.br/dnit/pt-br/assuntos/planejamento-e-pesquisa/ipr/coletanea-de-normas>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
DNIT (Departamento Nacional de Infraestrutura e Transportes). **Manuais
|
||||
Vigentes**, 2023. Disponível em:
|
||||
<https://www.gov.br/dnit/pt-br/assuntos/planejamento-e-pesquisa/ipr/coletanea-de-manuais>.
|
||||
Acesso em: 01 de setembro de 2023.
|
||||
|
||||
FOZ DO IGUAÇU. Lei nº 4.425, de 21 de julho de 2017. **Dispõe sobre a
|
||||
disponibilização de brinquedos adaptados para crianças com deficiência
|
||||
em locais públicos e privados de lazer**. Diário Oficial, Foz do Iguaçu,
|
||||
2017. Disponível em:
|
||||
<https://leismunicipais.com.br/a1/pr/f/foz-do-iguacu/lei-ordinaria/2017/453/4525/lei-ordinaria-n-4525-2017-dispoe-sobre-a-disponibilizacao-de-brinquedos-adaptados-para-criancas-com-deficiencia-em-locais-publicos-e-privados-de-lazer?q=4525>.
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
IBGE (Instituto Brasileiro de Geografia e Estatística). **Legislação e
|
||||
instrumentos de planejamento**. Disponível em:
|
||||
<https://www.ibge.gov.br/estatisticas/sociais/educacao/10586-pesquisa-de-informacoes-basicas-municipais.html?=&t=resultados>.
|
||||
Acesso em: 31 de julho de 2024.
|
||||
|
||||
PARANÁ. Lei nº 16.500, de 19 de maior de 2010. **Determina que os
|
||||
convênios que especifica deverão prever a colocação de brinquedos e
|
||||
equipamentos desenvolvidos para utilização de pessoas portadoras de
|
||||
necessidades especiais**. Diário Oficial, Curitiba, 2010. Disponível em:
|
||||
<https://leisestaduais.com.br/pr/lei-ordinaria-n-16500-2010-parana-determina-que-os-convenios-que-especifica-deverao-prever-a-colocacao-de-brinquedos-e-equipamentos-desenvolvidos-para-utilizacao-de-pessoas-portadoras-de-necessidades-especiais>.
|
||||
Acesso em: 07 de agosto de 2024.
|
||||
|
||||
PARANÁ. **Manual de drenagem urbana**. Curitiba: Governo do Estado do
|
||||
Paraná, 2002. Disponível em:
|
||||
<https://www.iat.pr.gov.br/sites/agua-terra/arquivos_restritos/files/documento/2020-07/mdu_versao01.pdf>
|
||||
Acesso em: 23 de julho de 2024.
|
||||
|
||||
SÃO PAULO (cidade). Secretaria Municipal de Desenvolvimento Urbano.
|
||||
**Manual de drenagem e manejo de águas pluviais: aspectos tecnológicos;
|
||||
diretrizes para projetos** . São Paulo: SMDU, 2012. Disponível em:
|
||||
<https://www.prefeitura.sp.gov.br/cidade/secretarias/upload/desenvolvimento_urbano/arquivos/manual-drenagem_v3.pdf>.
|
||||
Acesso em: 23 de julho de 2024.
|
||||
|
||||
SINDUSCON-MG (Sindicato da Indústria da Construção Civil no Estado de
|
||||
Minas Gerais). **Catálogo de Normas Técnicas - Edificações**. Belo
|
||||
Horizonte: Sinduscon-MG/CBIC, 2017.
|
||||
@@ -0,0 +1,2 @@
|
||||
os.remove("creationdate.timestamp")
|
||||
io.output("creationdate.timestamp"):write(os.date("\\edef\\tempa{\\string D:%Y%m%d%H%M%S}\n\\def\\tempb{%z}"))
|
||||
@@ -0,0 +1,8 @@
|
||||
# Dedicatória {.unnumbered}
|
||||
|
||||
```{=html}
|
||||
<p style="text-align: right;">
|
||||
Dedico aos meus pais, Remi e Lidia Sander, <br />
|
||||
pelo incentivo à educação e pelo amor incondicional.
|
||||
</p>
|
||||
```
|
||||
|
After Width: | Height: | Size: 259 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 110 KiB |
@@ -0,0 +1,93 @@
|
||||
Copyright 2017 The EB Garamond Project Authors (https://github.com/octaviopardo/EBGaramond12)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,73 @@
|
||||
EB Garamond Variable Font
|
||||
=========================
|
||||
|
||||
This download contains EB Garamond as both variable fonts and static fonts.
|
||||
|
||||
EB Garamond is a variable font with this axis:
|
||||
wght
|
||||
|
||||
This means all the styles are contained in these files:
|
||||
EBGaramond-VariableFont_wght.ttf
|
||||
EBGaramond-Italic-VariableFont_wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for EB Garamond:
|
||||
static/EBGaramond-Regular.ttf
|
||||
static/EBGaramond-Medium.ttf
|
||||
static/EBGaramond-SemiBold.ttf
|
||||
static/EBGaramond-Bold.ttf
|
||||
static/EBGaramond-ExtraBold.ttf
|
||||
static/EBGaramond-Italic.ttf
|
||||
static/EBGaramond-MediumItalic.ttf
|
||||
static/EBGaramond-SemiBoldItalic.ttf
|
||||
static/EBGaramond-BoldItalic.ttf
|
||||
static/EBGaramond-ExtraBoldItalic.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them in your products & projects – print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,100 @@
|
||||
Open Sans Variable Font
|
||||
=======================
|
||||
|
||||
This download contains Open Sans as both variable fonts and static fonts.
|
||||
|
||||
Open Sans is a variable font with these axes:
|
||||
wdth
|
||||
wght
|
||||
|
||||
This means all the styles are contained in these files:
|
||||
OpenSans-VariableFont_wdth,wght.ttf
|
||||
OpenSans-Italic-VariableFont_wdth,wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Open Sans:
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-Light.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-Regular.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-Medium.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-SemiBold.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-Bold.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-ExtraBold.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Light.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Regular.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Medium.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-SemiBold.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Bold.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-ExtraBold.ttf
|
||||
static/OpenSans/OpenSans-Light.ttf
|
||||
static/OpenSans/OpenSans-Regular.ttf
|
||||
static/OpenSans/OpenSans-Medium.ttf
|
||||
static/OpenSans/OpenSans-SemiBold.ttf
|
||||
static/OpenSans/OpenSans-Bold.ttf
|
||||
static/OpenSans/OpenSans-ExtraBold.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-LightItalic.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-Italic.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-MediumItalic.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-SemiBoldItalic.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-BoldItalic.ttf
|
||||
static/OpenSans_Condensed/OpenSans_Condensed-ExtraBoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-LightItalic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Italic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-MediumItalic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-SemiBoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-BoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-ExtraBoldItalic.ttf
|
||||
static/OpenSans/OpenSans-LightItalic.ttf
|
||||
static/OpenSans/OpenSans-Italic.ttf
|
||||
static/OpenSans/OpenSans-MediumItalic.ttf
|
||||
static/OpenSans/OpenSans-SemiBoldItalic.ttf
|
||||
static/OpenSans/OpenSans-BoldItalic.ttf
|
||||
static/OpenSans/OpenSans-ExtraBoldItalic.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (LICENSE.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them freely in your products & projects - print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||