Resulta moi interesante inserir código Python á hora de crear documentos Markdown en RStudio, pois permite crear documentos dinámicos que se actualizan á hora de compilalos, xa sexan docx, pdf ou html.

O primeiro que debemos facer é instalar Miniconda, que é unha versión reducida de Anaconda, que é unha distribución libre e aberta as linguaxes Python e R

Para isto, desde a Consola de RStudio e instalamos o librería Reticulate, que nos permite a comunicación entre R e Python. Unha vez instalada, cargamos as librerías e procedemos a instalar Miniconda:

remotes::install_github("rstudio/reticulate")
library(reticulate)
install_miniconda()

Vexamos como crear un documento Markdown

1. Creamos un cartafol na ruta que queiramos

2. Desde RStudio: File > Existing Directory

Escollemos o cartafol creado no punto nº1 e clic en Create Project

3. Creamos un ficheiro en branco. Files > New Blank File > R Markdown

Asignámoslle o nome que desexemos ao ficheiro e mantemos a extensión Rmd

4. Na fiestra do código introducimos o seguinte:

```{r, setup}
library(reticulate)
```
```{python}
x = 5
```
```{r}
py$x
```
Valor da variable en Python: `r py$x`

Aclarando un pouco o código, podemos apreciar que aparecen tres bloques de código, que reciben o nome de Chunks, e finalmente imprimimos en Markdown

a. Primeiro chunk de R

```{r, setup}
library(reticulate)
```

Neste primeiro chunk en linguaxe R cargamos a librería Reticulate, que como xa dixemos, permite a intercomunicación entre Python e R

b. Segundo chunk de Python

```{python}
x = 5
```

Para non complicar a explicación, tan só fixen unha asignación do número 5 a unha variable

c. Terceiro chunk en linguaxe R

Recollemos no último chunk as variables Python que desexamos imprimir na linguaxe Markdown. Posiblemente exista un método para imprimir directamente as variables Python no Markdown, pero neste momento descoñezo se existe esa posibilidade. Porén emprego este chunk, que ven a ser unha ponte entre a linguaxe Markdown e o código Python

```{r}
py$x
```

d. Linguaxe Markdown

Valor da variable en Python: `r py$x`

Desde a linguaxe Markdown accedemos ao último chunk, que á súa vez recolle os datos de Python

5. Se prememos no botón Knit > knit to PDF, obteremos o seguinte documento en pdf

6. Sen embargo, no pdf aparece o código empregado, cando en realidade no documento final só nos interesa visualizar a última fila. Para isto debemos modificar o código, deixándoo do seguinte xeito:

```{r, setup, include=FALSE}
library(reticulate)
```
```{python, include=FALSE}
x = 5
```
```{r, include=FALSE}
py$x
```
Valor da variable en Python: `r py$x`

Quedando o documento pdf do seguinte xeito:

7. Vexamos un exemplo máis complexo, a realización dun exercicio de electricidade con variables que collen valores de forma automática:

```{r, setup, include=FALSE}
library(reticulate)
```
```{python, include=FALSE}
from numpy import *
v=random.choice([10,20,30,40,50])
r=random.choice([2,3,4,5])  
i ="{0:.2f}".format(v/r)  
```
```{r, include=FALSE}
py$v
py$r
py$i
```

Conéctase unha resistencia de `r py$r` k$\Omega$ a unha pila de `r py$v` V. Cal é a intensidade de corrente eléctrica que percorre o circuíto?

Solución: I= `r py$i` mA




1. Instalación de R

sudo pacman -S r

2. Instalación de RStudio

Para a instalación de RStudio, penso que o máis cómodo é empregar o instalador yay. No caso en que non o teñamos instalado, procedemos do seguinte xeito:

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Se seguidamente instalamos RStudio

yay -S rstudio-desktop-bin

 

Tamén o podemos instalar cun paquete AUR

cd Descargas

git clone https://aur.archlinux.org/rstudio-desktop-bin.git

cd rstudio-desktop-bin

makepkg -si

 

3. Solución ao erro da pantalla en branco e bloqueo do RStudio

Se ao iniciar o programa queda en branco, podemos crear un enlace sólido:

ln -s /usr/lib/rstudio/bin/rstudio /usr/bin/rstudio

Editar o menú e deixalo do seguinte xeito

4. Instalación das librerías

Na consola de RStudio procedemos a instalar as seguintes librerías:

install.packages('addinslist')

remotes::install_github('yihui/xaringan')

remotes::install_github("ropenscilabs/icon")

remotes::install_github('rstudio/pagedown')

install.packages("knitr")     Indicamos Non á pregunta de iniciar nova sesión
library(knitr)

Comprobamos se está instalada a distribución Latex Tinytex. Na entrada https://blog.atio.es/node/433, analizamos como instalar Tinytex de forma manual. Se non estivera, procedemos a instalala:

tinytex:::is_tinytex() 

Procedemos coa súa instalación:

  install.packages("tinytex")

  tinytex::install_tinytex()  # install TinyTeX
   

5. Instalar o idioma galego no corrector automático:
 

1. Descargamos a extensión de libreoffice para o galego

https://extensions.libreoffice.org/assets/downloads/z/corrector-18-07-para-galego.oxt

2. Renomeamos o ficheiro. pasado de .oxt a .zip

3. Descomprimimos o ficheiro

4. Copiamos fl.aff, gl.dic e hypg_gl.dic na seguinte ruta. Se non aparece algunha das carpetas, creámolas a man

/home/usuario/.config/rstudio/dictionaries

5. No RStudio dirixímonos a Tools > Proyect options > Spelling. E no selector de Main dictionary language, seleccionamos gl

6. Tools > Global options > Spelling, aparecerá definido o Main dictionary language inserimos o dicionario gl no apartado de Custom dictionaries no caso de que queiramos personalizalo

 





Tinytex é unha distribución Latex basada en TexLive pero cun tamaño moito menor, un 60 Mb. É unha distribución moi empregada polos usuarios de RStudio. Vexamos como se instala co obxectivo de editar directamente en Latex co voso IDE favorito. Se traballamos con RStudio, o propio programa instala de forma automática os paquetes necesarios, pero no caso de usar un IDE como o Visual Studio Code, teremos que instalalas de forma manual.

https://yihui.org/tinytex/

https://cran.r-project.org/web/packages/tinytex/tinytex.pdf

Abrimos o terminal e executamos as seguintes instrucións desde o propio usuario, é dicir, sen escalar privilexios a root

wget https://yihui.org/tinytex/install-bin-unix.sh
chmod +x install-bin-unix.sh
./install-bin-unis.sh
 
E comprobaremos que programa queda instalado nas rutas /home/usuario/.Tinytex e /home/usuario/bin. Neste último teremos os executables pdflatex, xelatex, etc
 
Pero obviamente podemos movelo á ruta que desexemos, pois é portable. Pero debemos configura o .bashrc do usuario para chamar aos executables.
cd ~/
nano .bashrc
 
E engadimos as seguintes liñas ao final do ficheiro:
#Tinytex
export PATH="$PATH:$HOME/bin"

Unha vez configurado este ficheiro podemos pechar e abrir novamente a sesión ou máis sinxelo, recargar a configuración sen falta do anterior. Para isto empregamos a orde source.

source .bashrc
Para comprobar que está ben configurada a ruta, podemos facelo coa orde which, e o sistema imprimirá a ruta /home/usuario/bin/pdflatex
 
which pdflatex

O programa está instalado. Sen embargo ao compilar un documento, por exemplo do documento mestre publicado neste blog, o sistema comezará a imprimir fallos, como o seguinte:

'! LaTeX Error: File `silence.sty' not found.'

Significa que o Tinytex non conta con esas librerías e polo tanto non é quen de compilar o documento. Polo tanto debemos instalar as extensións de forma manual. Contamos con moitas, estando publicadas na seguinte páxina:

https://ctan.javinator9889.com/systems/texlive/tlnet/archive/


Executando as seguintes instrucións, xa instalamos moita delas. Poderíamos poñelas nunha única instrución, pero por claridade á hora de editar  neste blog dividinas en catro.

tlmgr install silence ragged2e fancyhdr emptypage zref marginnote apacite
tlmgr install pgf preview xcolor appendix collectbox adjustbox lipsum imakeidx
tlmgr install imakeidx tcolorbox environ babel-spanish babel-galician
tlmgr install pythontex fvextra upquote lineno xstring pgfopts newfloat currfile multido

E executámolas no terminal, tendo en conta que tarda un cachiño en instalalas. Se nalgún momento xa instalamos no sistema o texLive, moi probablemente non estaremos chamando ao tlmgr co cartafol ~/bin que acabamos de instalar, senón á versión instalada en /usr/bin e o sistema imprimirá un erro. A maneira máis simple de solucionar isto é renombrar o tlmgr da carpeta /usr/bin. Para comprobar a cal deles chamamos:

which tlmgr
/usr/bin/tlmgr

Neste caso renomeamos este ficheiro

su root
mv /usr/bin/tlmgr /usr/bin/tlmgr.old
exit

E comprobamos novamente se estamos chamando ao tlmgr do cartafol ~/bin

E xa está correctamente configurado, e polo tanto xa podemos executar as ordes de tlmgr install sen obter fallos, agás que os paquetes non sexan atopados na páxina https://ctan.javinator9889.com/systems/texlive/tlnet/archive/

No caso no que queiramos compilar un boletín con código python, como o explicado na nova, en primeiro lugar debemos instalar a ferrramenta pip. En Arch Linux instálase do seguinte xeito:


pacman -S python-pip

E unha vez instalada, procuramos e instalamos a librería pygments

pip install pygments

E o documento pdf obtense despois de executar as seguintes ordes, que por suposto podemos recortar creando un atallo.

pdflatex --shell-escape -synctex=1 -interaction=nonstopmode *.tex
python3 ~/.TinyTeX/texmf-dist/scripts/pythontex/pythontex3.py *.tex
pdflatex --shell-escape -synctex=1 -interaction=nonstopmode *.tex

 





by Noel Feáns

1. Presentación persoal

2. Restaurar un curso de WebDinámicas. Algunha proposta.

3. Documentación do proxecto

4. Xeneralidades do proxecto       

5. Uns enlaces dixitais

6. Crear un curso. Elixir materia.

7. Acceso ao catálogo. Contidos Dixit

8. Matricular ao alumnado. Cambio de rol

9. Modo de visualización: Formato temas - Formato Menú. Número de seccións

10. Como inserir os libros das editoriais

11. Dándolle estética a unha aula virtual

          a. Crear etiquetas

              Boulder. Teito en Mazaricos: https://vimeo.com/132910273             
              O eslabón perdido: https://www.youtube.com/watch?v=9ZLGTd27dcw

          b. Agrupar varios elementos: libros, ficheiros, cuestionarios, tarefas nunha etiqueta

          c. Unhas pinceladas

12. A comunicación na formación dixital

13. Primeiros pasos con Agueiro

       Exemplo 1. https://agueiro.xunta.gal/view/view.php?t=EbRMDqzukyZtWKpV89wv

       Exemplo 2. https://agueiro.xunta.gal/view/view.php?t=SPwM1K8N7nOhTpGcRmr3

       Traballo en grupo: https://blog.atio.es/node/338

14. Copia e restauración dun curso

15. As tarefas

16. A Avaliación no EVA

          a. Seguimento de completado

                   Resposta -> Boletín alumno

          b. As distincións

          c. Configuración da avaliación

          d. Cálculos con fórmulas

17. Crear exame autocorrexible

18. Personalizar os libros da editorial Netex, Edebé e Planeta

19. Avaliación das tarefas dos libros da editorial Netex, Edebé e Planeta

20. Introdución ás actividades H5P

Actividades h5p na canle Espazo Abalar





Eclipse é un IDE moi empregado para a programación de Java, JavaScript, C e C++. Concretamente vexamos como se instala para programar en Java nun Debian Stretch ou ArchLinux

sudo apt install default-jre  

(no caso da maqueta Abalar xa está instalado este paquete)

cd /tmp

Para distribucións Debian ou derivadas:

wget https://download.eclipse.org/oomph/products/latest/eclipse-inst-linux64.tar.gz
tar -xvf eclipse-inst-linux64.tar.gz
cd eclipse-installer/

E sen escalar a root, é dicir desde o usuario chamamos á instalación. Cando teñamos que escoller a ruta na que desexamos instalar o programa, farémolo dentro do /home/usuario. Se o facemos noutro cartafol, por exemplo /opt, o software non funcionará correctamente, xa que non atopará as librerías compartidas.

 ./eclipse-inst    

Na pantalla na que aparece a imaxe seguinte, e no caso de desexemos empregar Eclipse para programar en Java, escolleremos a primeira opción:

A ruta na que debemos instalar debe ser a do home do usuario. Neste exemplo instalamos en /home/usuario/eclipse

No caso de ArchLinux procedemos do seguinte xeito:

pacman -S jre-openjdk

Unha vez que remate, podemos comprobar a versión instalada coa instrución:

java -version

wget https://download.eclipse.org/oomph/products/latest/eclipse-inst-linux64.tar.gz

tar -xvf eclipse-inst-linux64.tar.gz

cd eclipse-installer/

./eclipse-inst  (sen escalar privilexios a root)




Para contar con esta funcionalidade, o administrador dunha comunidade de Agueiro debe permitir o rexistro de usuarios.

 

 

E a partir dese momento, os usuarios que xa están rexistrados na plataforma poden solicitar formar parte dunha Comunidade. Para isto pinchan en "As miñas comunidades", dentro do apartado grupos.

Escollen a Comunidade á cal queren facerlle a petición de inscrición, e para isto, premen no botón Enviar petición

Unha vez que o usuario fai a petición, será o Administrador quen a valide. Para isto debe pinchar na administración da comunidade (logotipo cunha chave), dirixirse ao apartado Comunidades e finalmente pinchar en Membros.

E obtén finalmente os usuarios que solicitaron formar parte da Comunidade, que terá que movelos ao cadro da dereita, é dicir a usuarios engadidos. Unha vez que formen parte da comunidade, asignaráselles o rol de xestores no caso de que sexan docentes. Con este rol poderán crear grupos.





Ao igual que no Moodle, tamén podemos crear un cadro de texto que se poida ocultar no Drupal.

<style>
    button{
        margin-bottom: 20px;
    }
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<div id="cadroTexto">
    <button @click="visualizacion"><i class="fa-solid fa-bars"></i></button>
    <div v-if="isVisible" class="alert alert-success" role="alert">
        <h2> What is Lorem Ipsum?</h2>
        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
            It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently
            with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
        </p>
    </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.js"></script>
<script>
    const cadroTexto = new Vue({
        el: '#cadroTexto',
        data: {
            isVisible: true,
        },
        methods: {
            visualizacion(e) {
                e.preventDefault()
                this.isVisible = !this.isVisible
            }
            
        }
    })
</script>