Outro uso máis do paquete TikZ.

Desta volta veño de usalo para crear algúns botóns de calculadora sinxelos.
Hai opcións máis elaboradas (atopei cousiñas interesantes en stackexchange) mais tendo en conta que non é nada complicado de facer con TikZ (e de modificar, se logo cambio de idea con respecto as cores) e que xa estou afeita.

Ademáis do paquete necesitamos empregar unha librería adicional se queremos amosar sombras.

\usepackage{tikz}
\usetikzlibrary{shadows}

O que fixen neste caso foi definir un comando novo, de tal xeito que poida chamalo cada vez que preciso debuxar un botonciño.
Poderías poñer a definición do comando no preámbulo (antes dos contidos do documento) ou incluso noutro documento do teu proxecto, para poder empregalo en distintas partes do mesmo proxecto.

\newcommand{\botoncalc}[1]%
{ \begin{tikzpicture}[baseline=(boton.base)]
\node[draw=gray,
text=white,
fill=lightgray,
rounded corners=4pt,
inner sep=3pt,
text height=1.5ex,
minimum width=1.6em,
minimum height=1.6em,
drop shadow={fill=gray,shadow xshift=1pt, shadow yshift=-1pt, shadow scale=1},
] (boton) {#1};
\end{tikzpicture}
}

Neste caso tan sinxeliño só preciso dunha variable (por eso podes ver un [1] na primeira liña) que representa o texto que vou amosar. No código refírese a ela por #1.
Se quixese, por exemplo, que ademáis me permitise modificar a cor do botón. Pero non é o caso.

Logo basta chamalo, pasándolle o valor da variable que sexa preciso. Pode ser texto plano ou texto matemático, e acepta os formatos habituais.

\botoncalc{$\wedge$} ou \botoncalc{$x^y$} ou \botoncalc{$\blacksquare ^ \square$}

 

Andaba eu a escribir táboas de continxencia, así que precisaba dividir unha cela en dúas diagonalmente.
Vale, precisar igual non o precisaba, podía telo feito doutro xeito, pero ningún me parecía o suficientemente claro.
Así que tirei de Google.

Lin unha recomendación (algo vella) para empregar o paquete slashbox, que Overleaf non soporta (eso ten fácil arranxo, noutro momento cho conto) pero que cumple xustamente coa función que eu quería.
Mais finalmente decanteime polo paquete diagbox, que ten máis funcionalidade e está actualizado.

\usepackage{diagbox}

Este paquete pode dividir unha cela en dúas ou en tres diagonalmente.
Simplemente no código da cela indicamos unha destas opcións:

\diagbox{X}{Y} % división en 2

\diagbox{X}{var}{Y}  % división en 3

Pódese definir a posición na que se fai a división, indicando o punto cardinal de referencia.

\diagbox[dir=NW]{X}{Y} % opción por defecto

\diagbox[dir=SW]{X}{Y} 

\diagbox[dir=NE]{X}{Y} % con 2 celas é igual a SW

\diagbox[dir=SE]{X}{Y} % con 2 celas é igual a NW

O único problemiña que lle atopo (comparado con slashbox) é que se hai celas máis anchas na mesma columna a liña non queda ben centrada. Pero arránxase indicando unha anchura de cela igual ou maior.

Póñoche de exmplo a miña táboa de continxencia:

\begin{tabular}{c|ccccccccccc|>{\columncolor{pink}}c}
\cellcolor{pink} \diagbox[width=2cm]{$X$}{$Y$} & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & TOTAL \\ \hline
% omito as liñas con datos
\rowcolor{pink} TOTAL & 1 & 2 & 2 & 0 & 7 & 5 & 2 & 2 & 2 & 4 & 3 & \cellcolor{white} \textbf{30} \\
\end{tabular}

Para configuración adicional (p.ex. formato de liña, formato de texto, separación, etc.) podes ver a documentación no CTAN.

Cando un capítulo ten un título un  tanto longo e, sobre todo, cando unha das palabras acaba segmentándose ao final da liña, prefiría dividir a liña polo punto que me parece máis axeitado.
Mais en xeral non quero ese mesmo salto de liña no índice.

Por eso emprego o parámetro optativo de chapter que permite ter un texto diferente no índice e no propio capítulo.

\chapter[Estadística descriptiva bidimensional]{Estadística descriptiva \\ bidimensional}

Claro que a función dese parámetro é escribir algo totalmente distinto, se fose preciso, pero na práctica recoñezo que é moi inusual que o o use salvo para introducir estos saltos de liña.

Cando fago táboas teño por costume ir alternando cores de fondo, en lugar de liñas de separación, porque me parece que queda algo máis lixeiro e estéticamente agradable.

Para traballar con cores sempre emprego o paquete xcolor (creo que está bastante xeralizado) coa opción para cargar tamén o colortbl.

\usepackage[table]{xcolor}

O resultado que procuro é semellante a este (máis ou menos colorido segundo o festiva que sexa a ocasión).

Cando empecei a facelo, empregaba o clásico comando rowcolor en cada unha das que desexaba cambiar, do mesmo xeito que se emprega cellcolor para cambiar a cor de fondo dunha soa cela.

\rowcolor{gray!25}

Esto define unha cor de fondo para a fila cun 25% de gris.

Pero tiña que facelo tantas veces como liñas con esa cor desexo ter, e en táboas longas aínda é un traballiño (e sobre todo un código un tanto farragoso, que é un lío para editar).
Así que busquei unha alternativa, e foi sorprendentemente sinxela por que nen sequera preciso paquetes adicionais pois como digo o xcolor é un dos meus básicos.

Basta con engadir o comando rowcolors no corpo do documento, ollo, non dentro da táboa.

\rowcolors{fila na que comeza a alternancia}{unha cor}{outra cor}

Se deixamos unha das cores en branco, indicamos que non precisamos que coloree esas filas.

Deste xeito, o exemplo anterior obteríase co código que segue: 

\rowcolors{2}{gray!25}{}
\begin{center}\begin{tabular}{lll}
\hline
\textbf{Magnitud} & \textbf{Unidad} & \textbf{Símbolo}\\
\hline
\hline
Masa & Kilogramo & kg\\
Lonxitude & Metro & m\\
Tempo & Segundo & s\\
Temperatura & Kelvin & K\\
Intensidad de corrente eléctrica & Amperio & A\\
Intensidad luminosa & Candela & cd\\
Cantidad de sustancia & Mol & mol\\
\hline
\end{tabular}\end{center}

Pode ocorrer que queiramos alternar as cores en algunhas táboas mais non en outras.
Nese caso, simplemente reseteamos o comando rowcolors deixando ambas cores baleiras, e as táboas que escribamos a continuación aparecerán do xeito habitual.

\rowcolors{1}{}{}

Vale, esto é unha auténtica parvada, pero por algún motivo sempre acabo tendo que buscalo porque entre presentación e presentación esquezo como se fan as a columnas en Beamer.
Supoño que o feito de que sexan distintas que en LaTeX en xeral é o provoca que me resulte confuso.

En calquer caso, sen necesidade de paquetes adicionais pode crearse un entorno columns e dentro de el indicamos o comezo dunha nova columna e o seu ancho (que polo xeral é mellor definir de xeito proporcional ao ancho da páxina).

Paso aquí un exemplo, de tres columnas nos que ademáis emprego unha lista numerada que continúa dunha columna para a outra.

\begin{columns}
\column{0.33\textwidth} % inicio da primeira columna
\begin{enumerate}
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\end{enumerate}
\pause
\column{0.33\textwidth} % inicio da segunda columna
\begin{enumerate}\setcounter{enumi}{4}
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\end{enumerate}
\pause
\column{0.33\textwidth} % inicio da terceira columna
\begin{enumerate}\setcounter{enumi}{8}
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\item Elemento da lista.
\end{enumerate}
\end{columns}

Cando preciso facer unha presentación prefiro Beamer porque sei que non vou ter problemas de compatibilidade con ningún equipo informático. Que ordenador non abre un PDF?

En xeral é moi sinxelo (asumindo que un sabe usar LaTeX en xeral) crear un documento en Beamer.
Das ferramentas específicas que ofrece, quizáis a que máis acaba unha empregando (e a que ofrece máis versatilidade) é o emprego de distintas capas.

A pausa

Dentro de cada frame (vamos, unha diapositiva tal e como se ve na presentación) podes ir introducindo pausas.
Dese xeito só se amosa parte do contido. Cando avanzas páxina engadirá o resto do contido (ata a seguinte pausa ou ata o fin da diapositiva se non hai ningunha).
Cumple a súa función, aínda que é bastante básico e non dá opcións para nada.

\pause

As capas

O mellor é especificar en que capa da dispositiva imos amosar cada unha das partes do contido.

Por exemplo nunha lista podemos indicar:

\begin{itemize}
\item<1> Amósase só na primeira capa.
\item<2-> Amósase a partir da segunda capa.
\item<3-5> Amósase entre a terceira e a quinta capas.
\item<-4> Amósase ata a cuarta capa.
\end{itemize}

Tamén podemos indicar en que capa queremos aplicar un estilo concreto (p.ex. negriña ou unha cor), que se amosará como texto plano no resto das capas.

\textbf<1>{Exemplo negriña}
\textit<2>{Exemplo cursiva}
\textrm<3>{Exemplo formato roman}
\textsf<4>{Exemplo formato sans serif}
\textcolor<5>{red}{Exemplo texto en cor}

Se queremos empregar capas en calquer outro tipo de contido (texto, imaxes, o que sexa) podemos indicar que debe amosarse nunha capa (e ocultarse no resto) cos seguintes comandos:

\onslide<3>{Exemplo de texto que aparece só na terceira capa.}

\only<-4>{Exemplo de texto que desaparece despois da cuarta capa.}

A diferencia entre eles dous é que onslide reserva o espazo para ese contido, e non se sobrescribirá con outro contido, mentras que only non o reserva e o seu espazo será logo ocupado por outro contido.

Ademáis onslide pode empregarse en táboas, de xeito que vaia amosando liña a liña.

\begin{tabular}{cc}
Columna & Columna & Columna \\
\hline \hline
A & B & C \onslide<2-> \\
D & E & F \onslide<3->\\
G & H & I \onslide<4->\\
K & L & M
\end{tabular}

 

LaTeX é excelente para moitas cousas. Traballar con variables, condicionais e bucles non é unha delas.
Non é que sexa de todo imposible, pero é bastante engorroso.

Claro está que tampouco imos programar en LaTeX (veña, vamos, se tal desempolvamos os nosos vellos coñecementos de Fortran, hahaha) pero aínda así ocasionalmente pode ser interesante separar casos e comprobar distintas condicións.

Hay unha serie de variables enteiras que LaTeX usa con moita frecuencia: son os índices (contadores, counters) que emprega nas enumeracións, como pode ser por exemplo o número do capítulo, sección, figura ou elemento dunha lista numerada.
Adoitan ser máis que suficientes para as ocasións nas que eu preciso un condicional (p.ex., executar algo cada certo número de iteracións) e evitámonos definir variables reais (que tamén se pode, pero é un chisco delicado) ou macros (que é utilísimo para outras cousas; xa falarei deste tema noutra ocasión).

Neste exemplo fixen unha tabla en TikZ, empregando dous bucles e un condicional para que colorease as celas nas que a suma é 8.

Índices

Para definir un índice, debo escoller un nome (que teña só letras, nada de números tipo elemento1):

\newcounter{indice}

Se non se lle indica nada, o valor inicial será 0. Se queremos modificalo por exemplo para que o seu valor sexa 3:

\setcounter{indice}{3}

Para imprimir (ou empregar) o valor nun momento dado, podemos escribir calquera de estos dous xeitos:

\theindice

\value{indice}

Estos valores imprímense por defecto con números arábigos, se precisamos outro formato de impresión pode facerse tamén en números romanos ou en letras (ambas posibles en maiúsculas ou minúsculas):

\Roman{indice}
\roman{indice}
\Alph{indice}
\alph{indice}

Condicionais

Agora que xa temos un valor numérico, podemos comparalo.
Por defecto, LaTeX ofrécenos dous funcións interesantes (ifnum e ifodd), unha que nos permite comparar con outro valor e outra que nos permite comparar se é impar.
En caso de que a condición lóxica se cumpla realizarase unha claúsula e se non a outra, puidendo estar calquera das dúas valeiras.

\ifnum\value{indice}=3 {Certo} \else {Falso} \fi

\ifodd\value{indice} {Impar} \else {Par} \fi

Eu emprego case sempre un paquetiño que facilita a xestión dos condicionais.

\usepackage{ifthen}

A sintaxe tampouco é que teña moita ciencia:

\ifthenelse{\value{indice}=3}{Certo}{Falso}

Pero ten a vantaxe de que é moi cómodo o emprego de negacións (\NOT) e conxuncións (\AND, \OR).

\ifthenelse{\NOT \value{indice}>3 AND \value{columna}=6}{Certo}{Falso}

Seica hai ferramentas máis potentes, como etoolbox, pero eu de momento non as emprego e probablemente non as precise nun futuro próximo.

Non é que eu empregue comillas con frecuencia nos meus texto en LaTeX, pero ocasionalmente pasa.

O apropiado é empregar comillas latinas, pero se atopalas nun teclado precisa pouco menos que un máster, o de usalas en LaTeX resulta pouco menos que alieníxena.
Ou igual é cousa miña, que xa me afixen a facer as miñas búsquedas de temas informáticos en inglés.

En calquer caso, só teñen sentido se imos empregar o paquete babel para un idioma latino.

\usepackage[spanish,activeacute]{babel}

A miña configuración habitual é en castelán, pero se a usas en galego as comillas tamén van a funcionar.

Atopei varios xeitos distintos para facelas, o primeiro é o máis directo e por eso é o que empreguei.
Non sei se hai algún matiz entre eles que puidese facer máis recomendables outras opcións, así que as deixo anotadas por se fosen precisas.

<< Texto entre comillas >>

\guillemotleft Texto entre comillas \guillemotright

\begin{quoting} Texto entre comillas \end{quoting}

«< Texto entre comillas «>

 

Nos documentos que penso imprimir non adoito poñer enlaces, sería un pouco unha parvada, pero nos que fago para compartir en PDF é do máis frecuente.
Eu uso o paquete hyperref.

\usepackage{hyperref}

Esto permite empregar dous tipos de comandos, un para engadir unha URL (que se amosa como tal e que pode pincharse) e outro para engadir unha URL e un texto (amósase o texto e ao pinchar vai a URL).

\url{https://www.laurafigueiredo.net/}

\href{https://www.laurafigueiredo.net/}{a miña web}

O xeito en que se amosan esos enlaces pode configurarse. Non me vou meter no tema, porque case nunca o uso, mais tes unha referencia en Overleaf.

O caso é que ao facer documentos longos para compartir en PDF atopei varias cousas que non me gustan. (Bueno, no Linux vense ben, pero segue a ser unha opción minoritaria.)

  • Os enlaces do índice aparecen en recadros vermellos.
  • As imaxes con enlaces tamén aparecen en recadros coloreadas.

Así que o que fixen foi eliminar por completo a opción de que hyperref destaque os enlaces.

\usepackage[hidelinks]{hyperref}

En documentos pequenos non o emprego, mais nos máis longos e con índices na miña opinión queda moito máis xeitoso.

Ás veces ao traballar con LaTeX queres que ao compilar non che amose un determinado fragmento.
A min pásame seguido cando estou a probar cousas novas, que fedello nun documento con varias posibilidades e nun momento dado quero ver só unha para evitar confusións.

En calquer caso, andar a comentar co % un montón de liñas é pouco práctico, así que emprego un paquete que me permite facelo de xeito sinxelo.

\usepackage{comment}

Agora só teño que empregar o entorno do mesmo nome para que todo un fragmento do meu documento se comporte como un comentario.

\begin{comment}
Liñas que quero comentar.
\end{comment}

Recoñezo que en proxectos pequenos igual non ten moito uso, máis se decides facer un algo máis complexo pode resultar de utilidade.