Aqui farei algumas anotações principalmente dicas que facilitam a vida durante minha pesquisa aqui no grupo de Sistemas Complexos do IF-UFF.
Alguma atualização do emacs para MacOs fez com que o gnuplot-mode não rodasse mais, e vi que alguns fontes desse modo para interagir com o gnuplot estão bem desatualizados. A dica é pegar o arquivo fonte de uma distribuição do Debian, por exemplo essa aqui e extrair o arquivo gnuplot.el e colocá-lo na sua pasta lisp desejada, aqui usei na minha home
~/.emacs-lisp/
O arquivo .emacs deve estar com os seguintes comandos
;; make sure file is visible to emacs (if needed) ;; I've used ~/.emacs-lisp/ as my lisp directory (add-to-list 'load-path "/path/to/your/lisp/files") ;; load the file (require 'gnuplot-mode) ;; specify the gnuplot executable (if other than /usr/bin/gnuplot) (setq gnuplot-program "/sw/bin/gnuplot") ;; automatically open files ending with .gp or .gnuplot in gnuplot mode (setq auto-mode-alist (append '(("\\.\\(gp\\|gnuplot\\)$" . gnuplot-mode)) auto-mode-alist))
Isso rodou com Aquamacs e o Emacs puro e seco para o MacOS.
Primeiramente localize onde sua instalação do texlive copia os arquivos no meu caso:
/usr/local/texlive/2012/o ultimo diretório pode ser o ano da distribuição do texlive, depois de baixar a última versão do abntex desempacote e mande o conteúdo do que tem no diretório
texmf
do abntex em questão para o respectivo:
/usr/local/texlive/2012/texmfde sua distribuição texlive, os arquivos dos estilos bibtex e latex já estão todos bem organizados no pacote da distribuição baixada.
O passo final de instalação é rodar o texhash
pra atualizar a listagem de pacotes do latex. Para isso rode texhash
no terminal, pra ter certeza que rodou o programa correto pode rodar
/usr/local/texlive/2012/bin/x86_64-darwin/texhashpois seu texlive está instalado neste diretório, faça isso como super usuário claro.
Uma coisa que me deu problema ao usar o abntex foi na hora de rodar o bibtex
pois o arquivo .aux
gerado colocava o estilo plain na bibliografia, mesmo eu usando
\usepackage[alf]{abntcite} \bibliographystyle{abnt-alf}para uma lista de referências e citações sem números, apenas escrevendo os autores. Quando editei o respectivo arquivo
.aux
gerado, retirando a parte \bibstyle{plain}, a coisa funcionou bem.
Uma dica achada aqui e que deixa o gerenciamento de memória do Mac OSX do mesmo jeito que no Linux, gaste toda memória física primeiro pra depois usar o swap:
Desligue a paginação para o disco
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
e depois reinicie o computador. Os processos que usam muita RAM irão rodar sem problema, anteriormente eles rodavam mais lentos pois simplesmente acessavam o disco para qualquer coisa.
Para reabilitar o tipo de acesso anterior basta usar o comando acima com a opção load
ao invés de unload
, como sugerido pelo macworld.
Só para poder usar o R com todos os recursos que tínhamos no linux baixe o .dmg do tk
neste link.
E também esse é um bom usuário de R, http://blog.ynada.com/.
Uma dica para era das telas de toque. Existe um aplicativo que reconhece símbolos latex pelo seu desenho, ótimo pra quem está com preguiça de olhar a tabela de símbolos matemáticos do latex. É chamado de Detexify e é possível obtê-lo gratuitamente na loja google mais próxima do seu dedo, deve haver para iPhone também.
Mas para aqueles que possui um aparelho desses que não são compatíveis com este ótimo aplicativo :( é possível montar sua própria biblioteca de gestos com o Gesture Tool. Dessa forma toda vez que precisar de um símbolo maluco vá no Detexify desenha ele, veja qual o código latex e insere o mesmo na sua biblioteca Gesture Tool. Dessa forma você nunca mais irá esquecer o símbolo e não vai precisar mais consultar nada. Mas caso isso ocorra lá está ele no seu telefone.
Uma novidade “boa” do XCode no Lion é que já vem com a gsl inclusa por padrão nele, porém não para arquitetura x86_64, logo ao compilarmos algum código que utilize a gsl devemos especificar a arquitetura disponível,
gcc source.c -lgsl -lgslcblas -lm -arch i386e assim tudo volta a ser como era antes. Mais informações na lista da biblioteca gsl: http://osdir.com/ml/help-gsl-gnu/2010-02/msg00031.html
Uma forma mais inteligente é instalar uma biblioteca mais nova, usando o macports por exemplo, e linkar essa nova biblioteca:
$ C_INCLUDE_PATH=.:/opt/local/include # onde estao os cabeçalhos $ LIBRARY_PATH=.:/opt/local/lib # onde esta a gsl $ export C_INCLUDE_PATH $ export LIBRARY_PATHo macport instala praticamente todos os pacotes em
/opt/local
.
Quando as impressoras não estiverem aparecendo, mesmo se você vai nas preferências do sistema. Deu alguma merda no serviço cups
. O link abaixo mostra os comandos:
sudo launchctl stop org.cups.cupsd # para parar o serviço sudo launchctl start org.cups.cupsd # para iniciar o serviço
Onde encontrar os comandos para tal.
Agora pode digitar no navegador http://localhost:631 e configurar suas impressoras.
Se o seguinte erro surge numa tentativa de integração com a biblioteca GNU Scientific Library (gsl):
gsl: qags.c:548: ERROR: cannot reach tolerance because of roundoff error
Default GSL error handler invoked.
tente aumentar o erro relativo nos parâmetros de seu integrador:
gsl_integration_qag (&funcao, inicio, fim, 0., 1e-7, Nx, 1, workspace, &result, &error); // 1e-7 é o erro relativo tente um valor mais alto e compile novamente.
Antes disso verifique se a função a qual você quer integrar está correta., até o momento não tive problemas em definir um erro absoluto igual a 0.
Mais informações de como usar os integradores da gsl em:
http://www.gnu.org/software/gsl/manual/html_node/Numerical-Integration.html
Além de uma poderosa ferramenta para análise estatística de resultados experimentais ou provenientes de simulações o R constrói gráficos muito bacanas também para seu artigo. Dessa maneira se você for optar por múltiplos gráficos numa página e precisa de um título comum a todos use a função mtext
lembrando antes de definir margens externas com a função par
:
par(mfrow=c(1,2),mar=c(4,4,1,1),oma=c(0,0,2,0)) plot(x,y) plot(t,r) mtext('título comum aos dois plots',outer=TRUE)aqui
par
define que serão dois gráficos lado a lado com o vetor c(1,2)
passado como valor do argumento mfrow
, mar
define margens internas de cada gráfico, em que o vetor deve possuir valores para os tamanhos das margens inferior, esquerda, superior e direita respectivamente, e oma
define as margens externas, escolhi adicionar 2 espaços para a parte superior apenas. Na sequencia os comandos plot
para desenhar os gráficos obedecendo o layout aplicado em par
e o título mtext
com o argumento outer
verdadeiro para que a string fique nas margens externas.
É menos intuitiva que nos outros programas de gráficos (gnuplot, xmgrace), porém é possível fazer também. Primeiro crie a função que irá retornar a lista de expressões que você usará no atributo labels
da função axis
que cria os eixos:
flabs <- function(l) { # definimos o comprimento da lista de entrada l n <- length(l) # criamos um vetor de expressões vazio labs <- vector("expression",n) # um loop para preencher a lista com seus devidos valores, a função substitute retorna um objeto que contém a expressão no índice 2 for(i in 1:n) { labs[i] <- substitute(expression(10^x),list(x = l[i]))[2] } return(labs) }
Agora é só fazer um gráfico sem eixos, e logo em seguida construir os eixos com a função axis
:
plot(x,y,axes=FALSE,frame.plot = TRUE) # no eixo x axis(1,at=axTicks(1),labels=flabs(log10(axTicks(1)))) # no eixo y axis(2,at=axTicks(2),labels=flabs(log10(axTicks(2))))
isso funciona apenas para eixos proporcionais a . Mas caso necessite de algo como acrescente o número ao construir a expressão em flabs
.
O resultado dessa peleja é o gráfico inserido abaixo.