luni, 30 septembrie 2013

Crearea de tabele pentru problemele de transport folosind LaTeX

1. Exemplul I

În exemplul de mai jos sînt utilizate doar comenzile: \multicolumn, \multirow și \cline. Apropo pentru commanda \multirow e nevoie de \usepackage{multirow}. Documentarea acestor comenzi poate fi găsită aici.


\begin{tabular}{|c|cc|cc|cc|cc|c|}
\hline
& \multicolumn{2}{|c|}{$C_1$}
  & \multicolumn{2}{|c|}{$C_2$}
  & \multicolumn{2}{|c|}{$C_3$}
  & \multicolumn{2}{|c|}{$C_4$}
  & \\
\hline
\multirow{2}{*}{$F_1$}
  & \multicolumn{1}{|c|}{} & 2
  & \multicolumn{1}{c|}{} & 3
  & \multicolumn{1}{c|}{} & 5
  & \multicolumn{1}{c|}{} & 1
  & \multirow{2}{*}{8}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
\multirow{2}{*}{$F_2$}
  & \multicolumn{1}{|c|}{} & 7
  & \multicolumn{1}{c|}{} & 3
  & \multicolumn{1}{c|}{} & 4
  & \multicolumn{1}{c|}{} & 6
  & \multirow{2}{*}{10}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
\multirow{2}{*}{$F_3$}
  & \multicolumn{1}{|c|}{} & 4
  & \multicolumn{1}{c|}{} & 1
  & \multicolumn{1}{c|}{} & 7
  & \multicolumn{1}{c|}{} & 2
  & \multirow{2}{*}{10}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
& \multicolumn{2}{|c|}{6}
  & \multicolumn{2}{|c|}{8}
  & \multicolumn{2}{|c|}{9}
  & \multicolumn{2}{|c|}{15}
  & 38\\
\hline
\end{tabular}


Rezultatul este următorul:

Puteți accesa (și compila) fișier LaTeX integral cu acest exemplu pe ShareLaTeX.com (https://www.sharelatex.com/project/52540b39ce0382ac30000347). Proiectul pe ShareLaTeX.com conține două fișiere, alegeți fișierul tabular.tex.

 2. Exemplul al II-lea

E cam mult de scris în exemplul de sus. În cele ce urmează este prezentată o metodă de construire a tabelului utilizînd cadrul tabu (care are nevoie de \usepackage{tabu}).

\newcommand{\cost}[1]{\raisebox{0.5cm}{\framebox{#1}}}

\everyrow{\hline}
\setlength{\tabcolsep}{0pt}

\begin{tabu}{|X[c,m]|X[r,m]|X[r,m]|X[r,m]|X[r,m]|X[c,m]|}
&
\multicolumn1{c|}{$C_1$}&
\multicolumn1{c|}{$C_2$}&
\multicolumn1{c|}{$C_3$}&
\multicolumn1{c|}{$C_4$}&\\
$F_1$ & \cost{2}  & \cost{3} & \cost{5} & \cost{1} & 8\\
$F_1$ & \cost{7}  & \cost{3} & \cost{4} & \cost{6} & 10\\
$F_1$ & \cost{4}  & \cost{1} & \cost{7} & \cost{2} & 10\\
& 
\multicolumn1{c|}{6} & 
\multicolumn1{c|}{8} & 
\multicolumn1{c|}{9} & 
\multicolumn1{c|}{15} & 
\multicolumn1{c|}{38}\\
\end{tabu}

Rezultatul va arăta astfel:



Puteți accesa (și compila) fișier LaTeX integral cu acest exemplu pe ShareLaTeX.com (https://www.sharelatex.com/project/52540b39ce0382ac30000347). Proiectul pe ShareLaTeX.com conține două fișiere, alegeți fișierul tabu.tex.


\mathbb{1}

Cum putem aplica stilul "Blackboard bold" la numere?
Din păcate pachetul standard în care este definită comanda \mathbb (amsmath sau amssymb, nu țin minte exact) este limitat doar la litere ($\mathbb{R}$, $\mathbb{Q}$ etc) și nu conține glife pentru cifre. O soluție este pachetul bbold care extinde comanda \mathbb cu unicul "dezavantaj" că glifele pentru litere arată puțin altfel.
Altă soluție este pachetul bbm care nu modifica comanda \mathbbm, ci "vine" cu o noua comanda \mathbbm.
Ambele pachete pot fi instalate în Ubuntu prin intermediul pachetul de sistem texlive-fonts-extra.

luni, 16 septembrie 2013

Fixing (un)common Moodle errors

1. Site Administration block with unexpandable links


The problem: in the "Site administration" block, the links such as "users", "courses", "grades" (or any other links that must expand on a click) do not work like they're supposed to.
The context: I ran into this issue after I've changed the location of "moodledata" directory on the server (Ubuntu 12.04 LTS; Moodle 2.5.1).
The solution: I had to purge the caches via command line, as follows:
sudo su www-data -c "php admin/cli/purge_caches.php"
Here are some links that I found on this issue. However, I didn't find out the reason for this problem to appear:

2. "Incorrect access detected, this server may be accessed only through..."

The problem: i have an instance of Moodle behind a proxy and the former (the instance) is mapped in the local proxy URL space by use of ProxyPass and ProxyPassReverse directives. I have modified the "$CFG->wwwroot" parameter from "config.php" to match the proxy server domain name, but I still get the error message:

Incorrect access detected, this server may be accessed only through "http://xxx.xxx.xxx.xxx/moodle" address, sorry.

The context: Ubuntu 14.04.02 LTS; Moodle 2.8.5+).
The solution: add to "config.php", before the "lib/setup.php" include directive,  the line:

$CFG->reverseproxy = true;