Copiado do
meu blog para criar outra fonte de informações em russo sobre este tópico.
Este artigo é uma continuação dos seguintes artigos em um único ciclo:
artigo 1artigo 2artigo 3artigo 4LyX; uso de arquivos .js
A principal característica dos arquivos com a extensão
.js
, o que os torna interessantes em termos de aplicação no programa LyX, é a capacidade de simular pressionamentos de tecla nesses arquivos. Por exemplo, considere, por exemplo, como possibilitar a inserção de uma foto localizada na mesma pasta com esse arquivo
.lyx
arquivo
.lyx
(se esse arquivo ainda não tiver sido salvo, sua janela será aberta em
Arquivo> Novo , bem, sua janela é aberta pela primeira vez literalmente ao usar o programa LyX, desta vez, a foto inserida deve estar na pasta especificada em
Ferramentas> Configurações ...> Caminhos , na caixa de texto
Diretório do
usuário ) sem usar o mouse, sem tirar as mãos Claudia. A principal idéia para resolver esse problema é a seguinte. Suponha que, na pasta que mencionei acima, haja uma foto
photo.png . Para inseri-lo na posição atual do cursor na janela do programa LyX, você pode executar o seguinte comando no Buffer de Comando:
inset-apply graphics filename photo.png
Portanto, no arquivo
.js
, vamos chamá-lo de
vstavka-grafiki.js , você precisará simular pressionando
Alt
+
X
(para que o cursor comece a piscar no buffer de comando) e pressionando
i
,
n
,
s
,
e
,
t
,
-
,
a
,
p
,
p
,
l
,
y
,
,
g
,
r
,
a
,
p
,
h
,
i
,
c
,
s
,
,
f
,
i
,
l
,
e
,
n
,
a
,
m
,
e
,
Espaço . Depois disso, a janela do programa LyX começa a ter a seguinte aparência:

Ao mesmo tempo, se eu começar a digitar algo do teclado, ele será digitado não na janela principal do programa LyX, mas no buffer de comando e, além disso, as letras não serão digitadas nas teclas que são pressionadas quando essas teclas são pressionadas quando Layout em russo e os inseridos quando essas teclas são pressionadas quando o layout do teclado é alternado para inglês. Ótimo, o que você precisa! Mas aqui, como aconteceu mais tarde, há um problema: a princípio, pensei em parafusar esse arquivo
.js
no LyX através do arquivo
default.def
, escrevendo a linha nele
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.js\""
e, criando no LyX a tecla de atalho para a frase
call vstgr
. Tudo ficaria bem, mas aconteceu que os arquivos
.js
não puderam ser iniciados no LyX. Mas, a partir dele, os arquivos são executados com a extensão
.bat
(arquivos em lote banais). Por isso escrevi no arquivo
default.def
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.bat\""
criando o arquivo
vstavka-grafiki.bat da seguinte maneira:
start vstavka-grafiki.js
E diretamente para simplificar a chamada do comando que criei na janela LyX, eu, como pretendia, quando ainda não sabia que também precisaria usar um arquivo em lotes, criei uma tecla de atalho para a frase
chamada vstgr . Ao mesmo tempo, os
arquivos vstavka-grafiki.bat e
vstavka-grafiki.js devem estar localizados na pasta adicionada ao PATH. Então, siga em frente. Ao criar o formato de exportação
pdflatex-v-papke , me deparei com isso. Quando você insere gráficos, por exemplo, com o nome mencionado acima com a extensão
photo.png na parte da janela do programa LyX que aparece após clicar em
Exibir> Visualizar fonte (ou
Exibir> Exibir código - o nome do item de menu correspondente,
Ver depende do arquivo
.mo
localização usado) no local , correspondendo à posição dos gráficos inseridos na janela principal do programa LyX, o seguinte código será:
\includegraphics{photo}
E o mesmo código será registrado no arquivo
.tex
correspondente que aparece no diretório temporário correspondente como resultado da ação do arquivo em lotes selecionado como um mecanismo desse formato em um dos primeiros estágios desse arquivo em lotes. Como resultado, como resultado da execução de um dos comandos subseqüentes deste arquivo em lotes - processando o arquivo
.tex
recebido - ocorrerá um erro e nada funcionará. E o problema aqui é que, no arquivo
.tex
resultante, o nome do arquivo gráfico inserido (o argumento do comando
\includegraphics
) é gravado sem uma extensão. O que fazer? Hmm, porque além de receber o arquivo
.tex
, cujo processamento pelo pdflatex não causaria um único erro, eu também gostaria de manter a visibilidade na janela do programa LyX. Por outro lado, quando você insere gráficos na janela do programa LyX em nosso caso de língua russa, os caracteres inseridos ao pressionar as teclas do teclado provavelmente serão cirílicos, enquanto as extensões de arquivo em geral, em particular as gráficas, são escritas em inglês. Por outro lado, o leitor que leu este blog neste local, provavelmente já conhece a função do programa LyX, muito saborosa -
Use o layout do teclado e use-o com poder e principal. Bem, se sim, então a tarefa é bastante simplificada. Nomeadamente, aqui abrimos o arquivo no programa LyX, mudamos o layout para inglês e começamos a escrever pressionando as letras necessárias, como se o layout estivesse definido para russo, os caracteres inseridos na janela do programa LyX são caracteres cirílicos, localizado nas teclas pressionadas. Está tudo bem aqui. Então escrevemos, escrevemos, pulamos, precisávamos inserir gráficos. Até esse momento, caracteres cirílicos foram introduzidos e agora foi necessário inserir as letras em inglês (inserir a extensão). Então, nós apenas o pegamos e entramos no modo matemático, no qual escrevemos o nome da foto inserida junto com sua extensão e a iniciamos usando a tecla de atalho que criamos especialmente para isso (eu tenho este
Ctrl
+
0
+
V
+
G
( devido à inserção de gráficos)) o comando
vstgr1 definido especificamente no arquivo
default.def .
Este comando é definido da seguinte maneira:
\define "vstgr1" "vc-command U \"$$p\" \"vstavka-grafiki1.bat\""
(e a tecla de atalho anterior é atribuída à
chamada de frase
vstgr1 ). Como você pode imaginar, esse comando inicia o
arquivo em lotes
vstavka-grafiki1.bat com o seguinte conteúdo:
start vstavka-grafiki1.js
Como você pode imaginar, esse arquivo em lotes executa o arquivo
vstavka-grafiki1.js , que, em essência, faz tudo. O que ele esta fazendo? Vamos primeiro descrever qual construção queremos no arquivo
.lyx
atualmente editado. Queremos que a partir de uma nova linha (se já escrevemos algo lá antes, se não, não precisamos de uma nova linha, veja abaixo), a foto que precisamos é inserida e, novamente, a partir de uma nova linha, ela será inserida um bloco de código TeX (o que geralmente aparece na janela do programa LyX ao pressionar
Ctrl +
L ) e, nesse bloco, seria
\includegraphics{}
, onde o nome da foto inserida, o ponto e a extensão da foto inserida seriam parênteses . De fato, fazemos com que a foto inserida na janela do programa LyX seja exibida apenas para decoração na janela do programa LyX, não precisamos que essa foto seja exibida no
.pdf
final
.pdf
: a foto que aparece como resultado do comando será exibida no final
.pdf
localizado no bloco TeX, portanto, para impedir a aparência dos gráficos finais em
.pdf
resultantes do processamento de gráficos visuais a partir da janela do programa LyX, comentaremos esse gráfico visual nesta janela do programa LyX, colocando um sinal de porcentagem na frente desse gráfico incorporado no bloco de código teX. Em uma palavra, queremos obter, por exemplo, a seguinte construção:

Basicamente, faço o mesmo que no primeiro caso: da mesma maneira
, danifico o arquivo vstavka-grafiki1.bat no LyX através do arquivo
default.def , criando um novo comando
vstgr1 nesse arquivo e, em seguida, criando um comando quente na janela do programa LyX chave na frase
chamada vstgr1 , está tudo claro. A diferença estará apenas no arquivo
vstavka-grafiki1.js , que é iniciado pelo arquivo
vstavka-grafiki1.bat . Antes de
listar o conteúdo do arquivo
vstavka-grafiki1.js ,
listarei o conteúdo dos dois arquivos auxiliares usados neste arquivo. Ou seja, para fazer tudo isso, precisaríamos simular pressionando o sinal de porcentagem no arquivo
vstavka-grafiki1.js também . E, como usamos o layout do teclado cazaque (eu uso o layout do teclado cazaque, escrevo com base no fato de que meu leitor também o usa) e, porque com esse layout do teclado, o caractere digitado, por exemplo, no bloco de anotações, quando você pressiona a tecla na qual esse sinal de porcentagem está localizado, é a letra do alfabeto cazaque e, em seguida, no comando que simula o sinal de porcentagem do arquivo
vstavka-grafiki1.js , precisaríamos escrever essa carta cazaque, que, como escrevi em alguma outra postagem neste blog está causando um erro. Portanto, o arquivo
vstavka-grafiki1.js usa o arquivo em lote procent.bat com o seguinte conteúdo:
echo LYXCMD:vvod:command-sequence:self-insert %%> \\.\pipe\lyxpipe.in
Lembrando a história sobre \\. \ Pipe \ lyxpipe.in, é fácil entender que esse arquivo em lote realmente insere um sinal de porcentagem na posição atual do cursor no programa LyX (naturalmente, para poder usá-lo, em
Ferramentas> Configurações ...> Caminhos no texto o campo do
canal do servidor LyX: deve ser
\\.\pipe\lyxpipe
e, ao tentar usar o arquivo
procent.bat aplicado ao LyX fora do arquivo
vstavka-grafiki1.js, você deve seguir o procedimento adequado de inicialização da janela da linha de comando a partir da qual o arquivo
vstavka- será chamado
grafiki1.js e janelas do programa LyX, em que esse mesmo sinal de porcentagem será totalmente Para detalhes, refiro o leitor à narração acima mencionada, mas, ao chamar
procent.bat do
vstavka-grafiki1.js, tudo corre como deveria). Outro arquivo auxiliar usado no arquivo
vstavka-grafiki1.js é o arquivo
Ostanovka.js com o seguinte conteúdo:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.Popup(" , \"\", \"\"", 0, " ",1);
Mas e o judô milagroso? O fato é que, quando criei o arquivo
vstavka-grafiki1.js, que é executado sem interrupções, durante sua operação, aparentemente, também devido ao lançamento de outros arquivos com comandos que devem ser executados na mesma janela do programa LyX , em que o próprio
arquivo vstavka-grafiki1.js executa comandos, ocorreram erros em locais diferentes, esses comandos do arquivo
vstavka-grafiki1.js não fizeram coletivamente o que era necessário. Para consertar isso, eu vim com isso. Identificou experimentalmente esses lugares no arquivo
vstavka-grafiki1.js . Ou seja, os comandos neste arquivo que causam erros. E na frente desses lugares, eu queria pausar o
arquivo vstavka-grafiki1.js até
pressionar uma tecla. O que - ainda não sabia. Pensei, pensei e lembrei que uma equipe não é uma equipe, não importa, em geral,
WshShell.Run(
existe um argumento que se seu valor for especificado como
true , quando esse comando for executado, o trabalho principal a partir do qual esse comando será executado o arquivo é pausado até que o arquivo aberto por este comando seja fechado. Bem, algo já ... Por outro lado, lembrei que em jscript existe um comando que abre uma caixa de diálogo com botões realmente funcionais. eu decidi antes do arquivo áreas problemáticas
vstavka-grafiki1.js colar zap comando arquivo ska
Ostanovka.js com as expectativas do fim da operação do arquivo como
Ostanovka.js irá criar uma caixa de diálogo com dois botões -.
OK e
Cancelar ao mesmo tempo após vyplyvaniya esta janela, o foco será no botão
Ok, então para fechar esta janela uma janela, basta pressionar
Enter . Então,
criei o arquivo
Ostanovka.js com o conteúdo acima. Também queria desligar o botão
Cancelar e cancelar todas as ações executadas pelo
arquivo vstavka-grafiki1.js após a última execução do arquivo
Ostanovka.js , mas por enquanto Não sei como fazer Então, é isso, depois que as observações preliminares são feitas, o leitor é capaz de entender o processo do
arquivo vstavka-grafiki1.js . Escreverei no comentário em cada linha o que ele executa. Não esqueça que antes de iniciar o
arquivo vstavka-grafiki1.js, o cursor na janela do programa LyX está no modo matemático, após o nome do arquivo gráfico a ser inserido, o ponto que separa seu nome da extensão e a própria extensão. Ou seja, eu fiz o seguinte:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.SendKeys("%"); WshShell.SendKeys("+{HOME}"); // . // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("{END}"); // //. , WshShell.SendKeys("{ENTER}"); // . , // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("^"); // TeX WshShell.SendKeys("^"); // TeX WshShell.Run("Ostanovka.js",1,true); // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.Run("procent.bat"); // TeX WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("{RIGHT}"); // // TeX WshShell.SendKeys("%"); // WshShell.SendKeys("- "); // // //inset-apply graphics filename filename WshShell.SendKeys("^"); // // , // WshShell.SendKeys("{ENTER}"); // ENTER, // // LyX //WshShell.SendKeys("{UP}"); // LyX // , , // . , , // . WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("+{HOME}"); // , // , WshShell.SendKeys("^"); // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // WshShell.SendKeys("{DELETE}"); // // , // , WshShell.SendKeys("{DELETE}"); // // WshShell.SendKeys("{END}"); // // , //. , // , // LyX WshShell.SendKeys("{ENTER}"); // WshShell.SendKeys("^"); // // WshShell.SendKeys("\"); // , //, \includegraphics WshShell.SendKeys("+"); // // WshShell.SendKeys("^"); // // , // WshShell.SendKeys("+"); // // WshShell.SendKeys("{RIGHT}"); //
Vou dizer algumas palavras sobre o código acima. Primeiramente, os comentários em jscript são indicados pelo sinal
//
e tudo o que aparece na linha após esse sinal ser ignorado pelo executor desse código, pretende explicar à pessoa as ações executadas por esta linha. E se não houver nada antes de
//
na linha, essa linha continuará o comentário iniciado em algum lugar acima. Em segundo lugar, na primeira vez que copiei o nome da foto inserida, juntamente com sua extensão, separada por um ponto do nome, e na segunda vez que recortei esse design, em vez do que parece possível recortá-lo uma vez. Porque Sim, porque quando tentei fazer isso, antes de colar esse design da área de transferência pela segunda vez na posição atual, ele misteriosamente ficou vazio e nada aconteceu comigo. Não sei explicar por que isso acontece, porém, encontrei uma maneira de sair do problema que surgiu. Quero lembrar mais uma vez que, durante a operação do
vstavka-grafiki1.js
quando uma caixa de diálogo aparecer com o título Process Control, para continuar a operação do
arquivo vstavka-grafiki1.js, pressione
Enter (ou clique com o botão esquerdo em qualquer botão da caixa de diálogo pop-up). o que me parece menos conveniente).
LyX: Letra grande e
Agora, quando no programa LyX, usado no formato em que foi criado, você pressiona
Shift +
E (esse é o caso quando, quando a função
Usar layout do
teclado está ativada,
o layout
do teclado é alternado para inglês), em vez da letra maiúscula esperada " Uh ”, uma cotação invertida aparece na janela do programa LyX. A solução para esse problema é atribuir a tecla de atalho
Shift + " à
inserção automática E. da sequência de comandos da frase
.LyX: Como adicionar / remover mensagens de um grupo de mensagens em Exibir mensagens
Aqui, quando através de
Exibir> Visualizar Mesas (ou através de
Exibir> Exibir mensagens - depende do arquivo de localização
LyX2.0.mo usado ), você abre a área de
mensagens de Progresso / Depuração na parte inferior da janela do programa LyX, há muitas mensagens exibidas nesta parte da janela, acontece que você simplesmente move o mouse e exibe uma sequência de linhas de um quilômetro para encontrar algo que você precisa (por exemplo, para obter uma dica de como inserir esse ou aquele comando através do Buffer de Comando, é claro que ele não estará na forma literal, mas uma dica pode dar, eu talvez em breve eu conte um pouco sobre o que eu consegui descobrir sobre isso) pode ser extremamente difícil. Para reduzir (ou, inversamente, adicionar mensagens a qualquer grupo de mensagens), fazemos isso. Na área inferior da janela, clique com o botão esquerdo do mouse em
Configurações , lá configuramos a opção
Debug messages para
Highlighted :

E então, do lado direito, clicamos duas vezes (na velocidade com que é feito ao abrir um arquivo, essa velocidade pode ser alterada, se necessário, nas configurações do próprio computador, fora do programa LyX) pelo grupo de mensagens, as mensagens das quais queremos faça com que não seja exibido na área
Progresso / depurar mensagens ou, inversamente, nas mensagens desse grupo de mensagens que queremos que sejam exibidas nessa área. , ,
,
, :
,
LyX . ,
, , .
LyX: -
> ... . ,
Preview
… , , ,
.tex
- , , pstricks. , , pstricks,
.tex
, , LyX, - « LaTeX», , TeXworks, ..
\begin{pspicture}
,
\end{pspicture}
, ,
\begin{pspicture}
-
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt
… , , pstricks, , . ,
.tex
, . LyX. -
>...> LaTeX , ,
.tex
, - « LaTeX», LyX
> (
>Preview .mo
). . .
> ,
.... . :
.tex
,
.
, ,
. ,
OK :

,
OK : , , ,
.tex
. —
—
.lyx
.tex
, , . , ,
OK
Preview ,
.tex
, LyX. , ???
LyX: ,
, , - , :

, . ,
>...> , ,
(.) , ,
(.) , , , , , . ( , ) :

LyX: Local layout,
, LyX. , , , , , , , , , , , ,
, LyX , , , . , . ? .
>> (
.mo
Local layout ), :
Provides amsmath 0 PageStyle plain Style Standard Font Color blue EndFont End Style Enumerate Font Color red EndFont End Style Theorem Font Color green Shape ital EndFont End
, , ,
! , ,
OK (,
). LyX :
