Subject: bug#76300: [PATCH] Add Spanish translation for refcard.tex

From: Elijah Gabe Pérez <[email-masked]>
Date: Thu, 27 Feb 2025 01:33:35 -0600

Thank you, Now I've updated the patches.

>From d2e553ecd1a58e77f3ff354ee7e7eccdf146a8dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <[email-masked]>
Date: Sat, 22 Feb 2025 12:05:07 -0600
Subject: [PATCH] Add Spanish translation for dired-ref.tex

* etc/refcards/es-dired-ref.tex New file.
---
 etc/refcards/es-dired-ref.tex | 426 ++++++++++++++++++++++++++++++++++
 1 file changed, 426 insertions(+)
 create mode 100644 etc/refcards/es-dired-ref.tex

diff --git a/etc/refcards/es-dired-ref.tex b/etc/refcards/es-dired-ref.tex
new file mode 100644
index 00000000000..d9b7b3c4d05
--- /dev/null
+++ b/etc/refcards/es-dired-ref.tex
@@ -0,0 +1,426 @@
+% Reference Card for Dired
+
+% Copyright (C) 2000--2025 Free Software Foundation, Inc.
+
+% Author: Evgeny Roubinchtein <[email-masked]>
+% Spanish translation: Elias Gabriel Perez <[email-masked]>
+
+% This document is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+
+% As a special additional permission, you may distribute reference cards
+% printed, or formatted for printing, with the notice "Released under
+% the terms of the GNU General Public License version 3 or later"
+% instead of the usual distributed-under-the-GNU-GPL notice, and without
+% a copy of the GPL itself.
+
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+
+% You should have received a copy of the GNU General Public License
+% along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+
+% This file is intended to be processed by plain TeX (TeX82).
+
+% This is a bit of a dirty hack on the GNU Emacs reference card
+% to produce a Dired reference card instead.
+
+% I put this together because I wanted a Dired reference card, but
+% couldn't find anything on the 'net.  Based mostly off Dired's
+% describe-mode.
+
+% Thanks to Cecilio Pardo, Mauro Aranda and Stephen Berman for
+% the suggestions.
+
+%**start of header
+\newcount\columnsperpage
+
+% This file can be printed with 1, 2, or 3 columns per page.
+% Specify how many you want here.
+% The reference card looks OK with 2 columns per page, portrait mode.
+% I haven't tried it with 3 columns per page.
+\columnsperpage=2
+
+% PDF output layout.  0 for A4, 1 for letter (US), a `l' is added for
+% a landscape layout.
+\input pdflayout.sty
+\pdflayout=(1)
+
+\input emacsver.tex
+
+% Nothing else needs to be changed.
+
+\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
+  \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
+  Permissions on back.}}
+
+\def\copyrightnotice{
+\vskip 1ex plus 2 fill\begingroup\small
+\centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
+\centerline{For GNU Emacs version \versionemacs}
+\centerline{Originally written May 2000 by Evgeny Roubinchtein,}
+\centerline{using refcard layout designed by Stephen Gildea.}
+\centerline{Translated by Elias Gabriel P{\'e}rez.}
+
+Released under the terms of the GNU General Public License version 3 or later.
+
+For more Emacs documentation, and the \TeX{} source for this card,
+see the Emacs distribution, or {\tt https://www.gnu.org/software/emacs}
+\endgroup}
+
+% make \bye not \outer so that the \def\bye in the \else clause below
+% can be scanned without complaint.
+\def\bye{\par\vfill\supereject\end}
+
+\newdimen\intercolumnskip       %horizontal space between columns
+\newbox\columna                 %boxes to hold columns already built
+\newbox\columnb
+
+\def\ncolumns{\the\columnsperpage}
+
+\message{[\ncolumns\space
+  column\if 1\ncolumns\else s\fi\space per page]}
+
+\def\scaledmag#1{ scaled \magstep #1}
+
+% This multi-way format was designed by Stephen Gildea October 1986.
+% Note that the 1-column format is fontfamily-independent.
+\if 1\ncolumns                  %one-column format uses normal size
+  \hsize 4in
+  \vsize 10in
+  \voffset -.7in
+  \font\titlefont=\fontname\tenbf \scaledmag3
+  \font\headingfont=\fontname\tenbf \scaledmag2
+  \font\smallfont=\fontname\sevenrm
+  \font\smallsy=\fontname\sevensy
+
+  \footline{\hss\folio}
+  \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
+\else                           %2 or 3 columns uses prereduced size
+  \hsize 3.4in
+  \vsize 9.2in
+  \hoffset -.75in
+  \voffset -.745in
+  \font\titlefont=cmbx10 \scaledmag2
+  \font\headingfont=cmbx10 \scaledmag1
+  \font\smallfont=cmr6
+  \font\smallsy=cmsy6
+  \font\eightrm=cmr8
+  \font\eightbf=cmbx8
+  \font\eightit=cmti8
+  \font\eighttt=cmtt8
+  \font\eightmi=cmmi8
+  \font\eightsy=cmsy8
+  \textfont0=\eightrm
+  \textfont1=\eightmi
+  \textfont2=\eightsy
+  \def\rm{\eightrm}
+  \def\bf{\eightbf}
+  \def\it{\eightit}
+  \def\tt{\eighttt}
+  \normalbaselineskip=.8\normalbaselineskip
+  \normallineskip=.8\normallineskip
+  \normallineskiplimit=.8\normallineskiplimit
+  \normalbaselines\rm           %make definitions take effect
+
+  \if 2\ncolumns
+    \let\maxcolumn=b
+    \footline{\hss\rm\folio\hss}
+    \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
+  \else \if 3\ncolumns
+    \let\maxcolumn=c
+    \nopagenumbers
+  \else
+    \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
+    \errmessage{Illegal number of columns per page}
+  \fi\fi
+
+  \intercolumnskip=.46in
+  \def\abc{a}
+  \output={%                    %see The TeXbook page 257
+      % This next line is useful when designing the layout.
+      %\immediate\write16{Column \folio\abc\space starts with \firstmark}
+      \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
+      \else\if a\abc
+        \global\setbox\columna\columnbox \global\def\abc{b}
+        %% in case we never use \columnb (two-column mode)
+        \global\setbox\columnb\hbox to -\intercolumnskip{}
+      \else
+        \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
+  \def\multicolumnformat{\shipout\vbox{\makeheadline
+      \hbox{\box\columna\hskip\intercolumnskip
+        \box\columnb\hskip\intercolumnskip\columnbox}
+      \makefootline}\advancepageno}
+  \def\columnbox{\leftline{\pagebody}}
+
+  \def\bye{\par\vfill\supereject
+    \if a\abc \else\null\vfill\eject\fi
+    \if a\abc \else\null\vfill\eject\fi
+    \end}
+\fi
+
+% we won't be using math mode much, so redefine some of the characters
+% we might want to talk about
+\catcode`\^=12
+\catcode`\_=12
+
+\chardef\\=`\\
+\chardef\{=`\{
+\chardef\}=`\}
+
+\hyphenation{mini-buf-fer}
+\hyphenation{de-le-tion}
+
+\parindent 0pt
+\parskip 1ex plus .5ex minus .5ex
+
+\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
+
+% newcolumn - force a new column.  Use sparingly, probably only for
+% the first column of a page, which should have a title anyway.
+\outer\def\newcolumn{\vfill\eject}
+
+% title - page title.  Argument is title text.
+\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
+
+% section - new major section.  Argument is section name.
+\outer\def\section#1{\par\filbreak
+  \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
+  \vskip 2ex plus 1ex minus 1.5ex}
+
+\newdimen\keyindent
+
+% beginindentedkeys...endindentedkeys - key definitions will be
+% indented, but running text, typically used as headings to group
+% definitions, will not.
+\def\beginindentedkeys{\keyindent=1em}
+\def\endindentedkeys{\keyindent=0em}
+\endindentedkeys
+
+% paralign - begin paragraph containing an alignment.
+% If an \halign is entered while in vertical mode, a parskip is never
+% inserted.  Using \paralign instead of \halign solves this problem.
+\def\paralign{\vskip\parskip\halign}
+
+% \<...> - surrounds a variable name in a code example
+\def\<#1>{{\it #1\/}}
+
+% kbd - argument is characters typed literally.  Like the Texinfo command.
+\def\kbd#1{{\tt#1}\null}        %\null so not an abbrev even if period follows
+
+% beginexample...endexample - surrounds literal text, such a code example.
+% typeset in a typewriter font with line breaks preserved
+\def\beginexample{\par\leavevmode\begingroup
+  \obeylines\obeyspaces\parskip0pt\tt}
+{\obeyspaces\global\let =\ }
+\def\endexample{\endgroup}
+
+% key - definition of a key.
+% \key{description of key}{key-name}
+% prints the description left-justified, and the key-name in a \kbd
+% form near the right margin.
+\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
+  {\hsize=.75\hsize\rightskip=1em
+  \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
+
+\newbox\metaxbox
+\setbox\metaxbox\hbox{\kbd{M-x }}
+\newdimen\metaxwidth
+\metaxwidth=\wd\metaxbox
+
+% metax - definition of a M-x command.
+% \metax{description of command}{M-x command-name}
+% Tries to justify the beginning of the command name at the same place
+% as \key starts the key name.  (The "M-x " sticks out to the left.)
+\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
+  {\hskip\keyindent\relax#1\hfil}%
+  \hskip -\metaxwidth minus 1fil
+  \kbd{#2}\hfil}}
+
+% threecol - like "key" but with two key names.
+% for example, one for doing the action backward, and one for forward.
+\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad
+  &\kbd{#3}\hfil\quad\cr}
+
+% I cannot figure out how to make all dired-x
+% commands fit on a page in two-column format
+\def\dx{{\bf (DX)}}
+
+\nopagenumbers
+
+%**end of header
+
+
+\title{Tarjeta de referencia de Dired}
+
+\centerline{(basado en Dired de la version \versionemacs{} de GNU Emacs)}
+\centerline{Los comandos marcados con \dx{} requieren de dired-x}
+
+% trim this down to fit everything on one page
+% \section{General}
+% In dired, you can edit a list of the files in a directory (and optionally
+% its subdirectories in the `ls -lR' format).
+
+% Editing a directory means that you can visit, rename, copy, compress,
+% load, byte-compile  files.  You can change files' attributes, run shell
+% commands on files, or insert subdirectories into the edit buffer.  You can
+% "flag" files for deletion or "mark" files for later commands, either one
+% file at a time or by all files matching certain criteria (e.g., files that
+% match a certain regexp).
+
+% You move throughout the buffer using the usual cursor motion commands.
+% Letters no longer insert themselves, but execute commands instead.  The
+% digits (0-9) are prefix arguments.
+
+% Most commands operate either on all marked files or on the current file if
+% no files are marked.  Use a numeric prefix argument to operate on the next
+% ARG files (or previous ARG if ARG $<$ 0).  Use the prefix argument `1' to
+% operate on the current file only.  Prefix arguments override marks.  Commands
+% which run a sub-process on a group of files will display a list of files
+% for which the sub-process failed.  Typing y will try to tell
+% you what went wrong.
+
+% When editing several directories in one buffer, each directory acts as a
+% page, so C-x [ and C-x ] can be used to move between directories.
+
+\section{Entrando y Saliendo de Dired}
+
+\key{ejecutar dired}{C-x d}
+\key{entrar con dired al directorio del archivo que est{\'a}s editando}{C-x C-j \dx}
+\key{salir de dired}{q}
+
+\section{Comandos de movimiento}
+
+\key{subir a la l{\'i}nea anterior}{p}
+\key{bajar a la siguiente l{\'i}nea}{n}
+\key{subir a la l{\'i}nea de la carpeta anterior}{<}
+\key{bajar a la l{\'i}nea de la siguiente carpeta}{>}
+\key{subir al anterior archivo marcado}{M-\{}
+\key{bajar al siguiente archivo marcado}{M-\}}
+\key{subir al subdirectorio anterior}{M-C-p}
+\key{bajar al siguiente subdirectorio}{M-C-n}
+\key{moverse al directorio principal}{^}
+\key{moverse al primer subdirectorio secundario}{M-C-d}
+
+\section{Comandos para el Rat{\'o}n (Mouse)}
+\metax{visitar archivo o directorio}{Mouse_Button_2 (bot{\'o}n central)}
+
+\section{Acciones inmediatas sobre los archivos}
+
+\key{abrir archivo actual}{f}
+\key{ver archivo actual}{v}
+\key{abrir archivo actual en otra ventana}{o}
+%% Huh?
+%% \key{visit current file in other frame}{w}
+%% Huh?
+%%\key{display current file}{C-u o}
+\key{crear un subdirectorio nuevo}{+}
+\key{comparar archivo del cursor con el otro marcado}{=}
+
+\section{Seleccionar y Deseleccionar Archivos}
+
+\key{seleccionar un archivo o subdirectorio para comandos posteriores}{m}
+\key{deseleccionar un archivo o todos los archivos de un subdirectorio}{u}
+\key{deseleccionar todos los archivos seleccionados en un buffer}{M-delete}
+\key{seleccionar archivos con una extensi{\'o}n determinada}{* .}
+\key{seleccionar todos los directorios}{* /}
+\key{seleccionar todos los enlaces simb{\'o}licos}{* @}
+\key{seleccionar todos los ejecutables}{* *}
+\key{invertir selecci{\'o}n}{t}
+\key{seleccionar todos los archivos en el subdirectorio actual}{* s}
+\key{seleccionar los nombres de archivos que coinciden con una expresi{\'o}n regular}{* \%}
+\key{cambiar las selecciones a un car{\'a}cter diferente}{* c}
+\key{seleccionar archivos para los cuales la expresi{\'o}n Elisp retorne t}{* ( \dx}
+
+\shortcopyrightnotice
+\section{Modificaci{\'o}n del buffer Dired}
+
+\key{insertar un subdirectorio en este buffer}{i}
+\key{eliminar archivos seleccionados}{k}
+\key{eliminar un archivo o directorio inmediatamente}{C-u k}
+\key{volver a leer todos los directorios (conserva todas las selecciones)}{g}
+\key{alternar el orden del subdirectorio actual por nombre/fecha}{s}
+\key{editar los argumentos de ls}{C-u s}
+\key{deshacer acci{\'o}n (restaurar selecci{\'o}n, l{\'i}neas ocultas
+  y dem{\'a}s)}{C-_}
+\key{ocultar todos los subdirectorios}{M-\$}
+\key{mostrar u ocultar subdirectorio}{\$}
+
+\section{Comandos en Archivos Marcados o especificados por el Prefijo}
+
+\key{copiar archivo(s)}{C}
+\key{cambiar nombre a archivo o moverlo a otro directorio}{R}
+\key{cambiar propiedad del(los) archivo(s)}{O}
+\key{cambiar el grupo del(los) archivo(s)}{G}
+\key{cambiar el modo del(los) archivo(s)}{M}
+\key{imprimir archivo(s)}{P}
+\key{convertir nombre del(los) archivo(s)}{\% l}
+\key{a min{\'u}sculas}{}
+\key{convertir nombre del(los) archivo(s)}{\% u}
+\key{a may{\'u}sculas}{}
+\key{eliminar archivo(s) seleccionado(s) (en contraposici{\'o}n a marcados
+  para eliminaci{\'o}n)}{D}
+%% Huh?
+%%\key{uuencode or uudecode file(s)}{U}
+\key{comprimir o descomprimir archivo(s)}{Z}
+%% Only uses the current file.
+\key{ejecutar info en archivo}{I \dx}
+\key{crear enlace(s) simb{\'o}lico(s)}{S}
+\key{crear enlace(s) simb{\'o}lico(s) relativos}{Y}
+\key{crear enlace(s) duro(s) (hard link)}{H}
+\key{buscar archivos con una expresi{\'o}n regular}{A}
+\key{buscar y remplazar con una expresi{\'o}n regular sobre los archivos
+  seleccionados}{Q}
+\key{compilar a bytes este archivo(s)}{B}
+\key{cargar archivo(s)}{L}
+\key{ejecutar comando de shell en este archivo(s)}{!}
+\key{ejecutar asincr{\'o}nicamente comando de shell en este(estos) archivo(s)}{\&}
+
+\section{Marcar archivos para Eliminaci{\'o}n}
+\leftline{\bf Los comandos de deselecci{\'o}n remueve las marcas de eliminaci{\'o}n}
+\key{marcar archivo para eliminaci{\'o}n}{d}
+%% Huh?
+%%\key{backup and remove deletion flag}{delete}
+\key{marcar todos los archivos de respaldo (los nombres de archivos que
+  terminan en \~{})}{\~{}}
+\key{marcar los archivos de guardado autom{\'a}tico}{\#}
+\key{marcar varios archivos intermedios}{\% \&}
+\key{marcar archivos de respaldo num{\'e}ricos (terminando en .\~{}1\~{}, .\~{}2\~{}, etc.)}{.}
+\key{eliminar todos los archivos marcados para eliminaci{\'o}n}{x}
+\key{marcar archivos que coinciden con la expresi{\'o}n regular}{\% d}
+
+\section{Comandos de Expresiones Regulares}
+
+\key{seleccionar nombres de archivos que coinciden con una expresi{\'o}n
+  regular}{\% m}
+\key{copiar archivos seleccionados por una expresi{\'o}n regular}{\% C}
+\key{renombrar archivos marcados por una expresi{\'o}n regular}{\% R}
+\key{hacer un enlace duro (hardlink)}{\% H}
+\key{hacer un enlace simb{\'o}lico}{\% S}
+\key{hacer un enlace simb{\'o}lico, con rutas relativas}{\% Y}
+\key{seleccionar para eliminar}{\% d}
+
+\newcolumn
+\title{Tarjeta de referencia de Dired}
+
+\section{Dired y Find}
+\metax{encontrar con find archivo(s) cuyo}{M-x find-name-dired}
+\key{nombre coincida con un patr{\'o}n}{}
+\metax{encontrar con find archivo(s) cuyo}{M-x find-grep-dired}
+\key{nombre contenga un patr{\'o}n}{}
+\metax{encontrar con find archivo(s) basado}{M-x find-dired}
+\key{en la salida de \kbd{find}}{}
+
+\section{Obtener Ayuda}
+
+\key{ayuda de dired}{h}
+\key{resumen de instrucciones (ayuda breve) y registro de errores}{?}
+
+\copyrightnotice
+
+\bye
-- 
2.48.1

>From 25c758104fe65635cba9d4025868ab8dc6d28d44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <[email-masked]>
Date: Sat, 22 Feb 2025 12:06:19 -0600
Subject: [PATCH] Add Spanish translation for refcard.tex

* etc/refcards/es-refcard.tex New file.
---
 etc/refcards/es-refcard.tex | 717 ++++++++++++++++++++++++++++++++++++
 1 file changed, 717 insertions(+)
 create mode 100644 etc/refcards/es-refcard.tex

diff --git a/etc/refcards/es-refcard.tex b/etc/refcards/es-refcard.tex
new file mode 100644
index 00000000000..971c8bb80f0
--- /dev/null
+++ b/etc/refcards/es-refcard.tex
@@ -0,0 +1,717 @@
+% Reference Card for GNU Emacs
+
+% Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software
+% Foundation, Inc.
+
+% Author: Stephen Gildea <[email-masked]>
+% Spanish translation: Elias Gabriel Perez <[email-masked]>
+
+% This document is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+
+% As a special additional permission, you may distribute reference cards
+% printed, or formatted for printing, with the notice "Released under
+% the terms of the GNU General Public License version 3 or later"
+% instead of the usual distributed-under-the-GNU-GPL notice, and without
+% a copy of the GPL itself.
+
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+
+% You should have received a copy of the GNU General Public License
+% along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+
+% This file is intended to be processed by plain TeX (TeX82).
+%
+% The final reference card has six columns, three on each side.
+% This file can be used to produce it in any of three ways:
+% 1 column per page
+%    produces six separate pages, each of which needs to be reduced to 80%.
+%    This gives the best resolution.
+% 2 columns per page
+%    produces three already-reduced pages.
+%    You will still need to cut and paste.
+% 3 columns per page
+%    produces two pages which must be printed sideways to make a
+%    ready-to-use 8.5 x 11 inch reference card.
+%    For this you need a dvi device driver that can print sideways.
+% Which mode to use is controlled by setting \columnsperpage.
+%
+% To compile and print this document:
+% tex refcard.tex
+% dvips -t landscape refcard.dvi
+
+% Thanks to Cecilio Pardo, Mauro Aranda and Stephen Berman for
+% the suggestions.
+
+%**start of header
+\newcount\columnsperpage
+\newcount\letterpaper
+
+% This file can be printed with 1, 2, or 3 columns per page.
+% Specify how many you want here.
+\columnsperpage=3
+
+% Set letterpaper to 0 for A4 paper, 1 for letter (US) paper.  Useful
+% only when columnsperpage is 2 or 3.
+\letterpaper=1
+
+% PDF output layout.  0 for A4, 1 for letter (US), a `l' is added for
+% a landscape layout.
+\input pdflayout.sty
+\pdflayout=(1l)
+
+% Nothing else needs to be changed below this line.
+
+\input emacsver.tex
+
+\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
+  \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
+  Permissions on back.}}
+
+\def\copyrightnotice{
+\vskip 1ex plus 2 fill\begingroup\small
+\centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
+\centerline{For GNU Emacs version \versionemacs}
+\centerline{Designed by Stephen Gildea}
+\centerline{Translated by Elias Gabriel P{\'e}rez}
+
+Released under the terms of the GNU General Public License version 3 or later.
+
+For more Emacs documentation, and the \TeX{} source for this card,
+see the Emacs distribution, or {\tt https://www.gnu.org/software/emacs}
+\endgroup}
+
+% make \bye not \outer so that the \def\bye in the \else clause below
+% can be scanned without complaint.
+\def\bye{\par\vfill\supereject\end}
+
+\newdimen\intercolumnskip	%horizontal space between columns
+\newbox\columna			%boxes to hold columns already built
+\newbox\columnb
+
+\def\ncolumns{\the\columnsperpage}
+
+\message{[\ncolumns\space
+  column\if 1\ncolumns\else s\fi\space per page]}
+
+\def\scaledmag#1{ scaled \magstep #1}
+
+% This multi-way format was designed by Stephen Gildea October 1986.
+% Note that the 1-column format is fontfamily-independent.
+\if 1\ncolumns			%one-column format uses normal size
+  \hsize 4in
+  \vsize 10in
+  \voffset -.7in
+  \font\titlefont=\fontname\tenbf \scaledmag3
+  \font\headingfont=\fontname\tenbf \scaledmag2
+  \font\smallfont=\fontname\sevenrm
+  \font\smallsy=\fontname\sevensy
+
+  \footline{\hss\folio}
+  \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
+\else				%2 or 3 columns uses prereduced size
+  \hsize 3.2in
+  \if 1\the\letterpaper
+     \vsize 7.95in
+  \else
+     \vsize 7.65in
+  \fi
+  \hoffset -.75in
+  \voffset -.745in
+  \font\titlefont=cmbx10 \scaledmag2
+  \font\headingfont=cmbx10 \scaledmag1
+  \font\smallfont=cmr6
+  \font\smallsy=cmsy6
+  \font\eightrm=cmr8
+  \font\eightbf=cmbx8
+  \font\eightit=cmti8
+  \font\eighttt=cmtt8
+  \font\eightmi=cmmi8
+  \font\eightsy=cmsy8
+  \textfont0=\eightrm
+  \textfont1=\eightmi
+  \textfont2=\eightsy
+  \def\rm{\eightrm}
+  \def\bf{\eightbf}
+  \def\it{\eightit}
+  \def\tt{\eighttt}
+  \if 1\the\letterpaper
+     \normalbaselineskip=.8\normalbaselineskip
+  \else
+     \normalbaselineskip=.7\normalbaselineskip
+  \fi
+  \normallineskip=.8\normallineskip
+  \normallineskiplimit=.8\normallineskiplimit
+  \normalbaselines\rm		%make definitions take effect
+
+  \if 2\ncolumns
+    \let\maxcolumn=b
+    \footline{\hss\rm\folio\hss}
+    \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
+  \else \if 3\ncolumns
+    \let\maxcolumn=c
+    \nopagenumbers
+  \else
+    \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
+    \errmessage{Illegal number of columns per page}
+  \fi\fi
+
+  \intercolumnskip=.46in
+  \def\abc{a}
+  \output={%			%see The TeXbook page 257
+      % This next line is useful when designing the layout.
+      %\immediate\write16{Column \folio\abc\space starts with \firstmark}
+      \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
+      \else\if a\abc
+	\global\setbox\columna\columnbox \global\def\abc{b}
+        %% in case we never use \columnb (two-column mode)
+        \global\setbox\columnb\hbox to -\intercolumnskip{}
+      \else
+	\global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
+  \def\multicolumnformat{\shipout\vbox{\makeheadline
+      \hbox{\box\columna\hskip\intercolumnskip
+        \box\columnb\hskip\intercolumnskip\columnbox}
+      \makefootline}\advancepageno}
+  \def\columnbox{\leftline{\pagebody}}
+
+  \def\bye{\par\vfill\supereject
+    \if a\abc \else\null\vfill\eject\fi
+    \if a\abc \else\null\vfill\eject\fi
+    \end}
+\fi
+
+% we won't be using math mode much, so redefine some of the characters
+% we might want to talk about
+\catcode`\^=12
+\catcode`\_=12
+
+\chardef\\=`\\
+\chardef\{=`\{
+\chardef\}=`\}
+
+\hyphenation{mini-buf-fer}
+
+\parindent 0pt
+\parskip 1ex plus .5ex minus .5ex
+
+\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
+
+% newcolumn - force a new column.  Use sparingly, probably only for
+% the first column of a page, which should have a title anyway.
+\outer\def\newcolumn{\vfill\eject}
+
+% title - page title.  Argument is title text.
+\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
+
+% section - new major section.  Argument is section name.
+\outer\def\section#1{\par\filbreak
+  \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
+  \vskip 2ex plus 1ex minus 1.5ex}
+
+\newdimen\keyindent
+
+% beginindentedkeys...endindentedkeys - key definitions will be
+% indented, but running text, typically used as headings to group
+% definitions, will not.
+\def\beginindentedkeys{\keyindent=1em}
+\def\endindentedkeys{\keyindent=0em}
+\endindentedkeys
+
+% paralign - begin paragraph containing an alignment.
+% If an \halign is entered while in vertical mode, a parskip is never
+% inserted.  Using \paralign instead of \halign solves this problem.
+\def\paralign{\vskip\parskip\halign}
+
+% \<...> - surrounds a variable name in a code example
+\def\<#1>{{\it #1\/}}
+
+% kbd - argument is characters typed literally.  Like the Texinfo command.
+\def\kbd#1{{\tt#1}\null}	%\null so not an abbrev even if period follows
+
+% beginexample...endexample - surrounds literal text, such a code example.
+% typeset in a typewriter font with line breaks preserved
+\def\beginexample{\par\leavevmode\begingroup
+  \obeylines\obeyspaces\parskip0pt\tt}
+{\obeyspaces\global\let =\ }
+\def\endexample{\endgroup}
+
+% key - definition of a key.
+% \key{description of key}{key-name}
+% prints the description left-justified, and the key-name in a \kbd
+% form near the right margin.
+\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
+  {\hsize=.75\hsize\rightskip=1em
+  \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
+
+\newbox\metaxbox
+\setbox\metaxbox\hbox{\kbd{M-x }}
+\newdimen\metaxwidth
+\metaxwidth=\wd\metaxbox
+
+% metax - definition of a M-x command.
+% \metax{description of command}{M-x command-name}
+% Tries to justify the beginning of the command name at the same place
+% as \key starts the key name.  (The "M-x " sticks out to the left.)
+\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
+  {\hskip\keyindent\relax#1\hfil}%
+  \hskip -\metaxwidth minus 1fil
+  \kbd{#2}\hfil}}
+
+% threecol - like "key" but with two key names.
+% for example, one for doing the action backward, and one for forward.
+\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\hfil\quad
+  &\kbd{#3}\hfil\quad\cr}
+
+%**end of header
+
+
+\title{GNU Emacs: Tarjeta de referencia}
+
+\centerline{(para la versi{\'o}n: \versionemacs)}
+
+\section{Notaci{\'o}n de combinaciones de teclas}
+
+Las notaciones de combinaciones de teclas en Emacs, \kbd{C-x}
+es \kbd{Ctrl+X}; \kbd{M-x} es usualmente \kbd{Alt+X}; \kbd{S-x} es
+\kbd{Shift+X}; y \kbd{C-M-x} es \kbd{Ctrl+Alt+X}, etc.
+
+\section{Saliendo de Emacs}
+
+\key{minimizar (o suspender en la terminal)}{C-z}
+\key{cerrar Emacs}{C-x C-c}
+
+\section{Archivos}
+
+\key{{\bf abrir} un archivo en Emacs}{C-x C-f}
+\key{{\bf guardar} un archivo (en el disco)}{C-x C-s}
+\key{guardar {\bf todos} los archivos}{C-x s}
+\key{{\bf insertar} contenidos de otro archivo en este buffer}{C-x i}
+\key{remplazar archivo por otro}{C-x C-v}
+\key{guardar buffer a un archivo en especifico}{C-x C-w}
+\key{alternar el estado de solo-lectura del buffer}{C-x C-q}
+
+\section{Obtener Ayuda}
+
+El sistema de ayuda es simple. Teclee \kbd{C-h} (o \kbd{F1}) y siga
+las opciones. Si est{\'a} usted empezando, teclee \kbd{C-h t} para ir al
+{\bf tutorial}.
+
+\key{quitar ventana de ayuda}{C-x 1}
+\key{desplazarse por la ventana de ayuda}{C-M-v}
+
+\key{apropos: mostrar comandos que coinciden con una cadena caracteres (string)}{C-h a}
+\key{describir la funci{\'o}n asociada a una tecla}{C-h k}
+\key{describir una funci{\'o}n}{C-h f}
+\key{obtener informaci{\'o}n espec{\'i}fica del modo}{C-h m}
+
+\section{Recuperaci{\'o}n de errores}
+
+\key{{\bf abortar} acci{\'o}n o un comando ejecut{\'a}ndose}{C-g}
+\metax{{\bf recuperar} archivos perdidos}{M-x recover-session}
+\key{por cierre inesperado}{}
+\metax{{\bf deshacer} un cambio no deseado}{C-x u, C-_ {\rm o} C-/}
+\metax{restaurar buffer a su contenido actual}{M-x revert-buffer}
+\key{recentrar pantalla}{C-l}
+
+\section{B{\'u}squeda incremental}
+
+\key{buscar hacia adelante}{C-s}
+\key{buscar hacia atr{\'a}s}{C-r}
+\key{buscar una expresi{\'o}n regular}{C-M-s}
+\key{buscar inversamente una expresi{\'o}n regular}{C-M-r}
+
+\key{seleccionar anterior cadena de caracteres de la b{\'u}squeda}{M-p}
+\key{seleccionar siguiente cadena de caracteres de la b{\'u}squeda}{M-n}
+\key{salir de la b{\'u}squeda incremental}{RET}
+\key{deshacer efecto del {\'u}ltimo car{\'a}cter}{DEL}
+\key{abortar b{\'u}squeda actual}{C-g}
+
+Usa \kbd{C-s} o \kbd{C-r} de nuevo para repetir la b{\'u}squeda en cualquier posici{\'o}n.
+Si Emacs sigue buscando, \kbd{C-g} cancela solo la parte no coincidente.
+
+\shortcopyrightnotice
+
+\newcolumn
+\section{Movimiento}
+
+\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
+\threecol{{\bf entidad a trasladar}}{{\bf atr{\'a}s}}{{\bf adelante}}
+\threecol{car{\'a}cter}{C-b}{C-f}
+\threecol{palabra}{M-b}{M-f}
+\threecol{l{\'i}nea}{C-p}{C-n}
+\threecol{ir al comienzo de la l{\'i}nea (o hacia al final)}{C-a}{C-e}
+\threecol{oraci{\'o}n}{M-a}{M-e}
+\threecol{p{\'a}rrafo}{M-\{}{M-\}}
+\threecol{p{\'a}gina}{C-x [}{C-x ]}
+\threecol{expresi{\'o}n s (sexp)}{C-M-b}{C-M-f}
+\threecol{funci{\'o}n}{C-M-a}{C-M-e}
+\threecol{ir al comienzo del buffer (o hacia al final)}{M-<}{M->}
+}
+
+\key{desplazarse hacia la siguiente pantalla}{C-v}
+\key{desplazarse hacia la anterior pantalla}{M-v}
+\key{desplazarse hacia la izquierda}{C-x <}
+\key{desplazarse hacia la derecha}{C-x >}
+\key{desplazar l{\'i}nea actual hacia el centro, arriba o abajo}{C-l}
+
+\key{ir hacia una l{\'i}nea}{M-g g}
+\key{ir hacia un car{\'a}cter}{M-g c}
+\key{volver a la sangr{\'i}a}{M-m}
+
+\section{Cortar y Eliminar}
+
+\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
+\threecol{{\bf entidad a cortar}}{{\bf hacia atr{\'a}s}}{{\bf hacia adelante}}
+\threecol{car{\'a}cter (eliminar, no cortar)}{DEL}{C-d}
+\threecol{palabra}{M-DEL}{M-d}
+\threecol{l{\'i}nea (hasta el final)}{M-0 C-k}{C-k}
+\threecol{sentencia}{C-x DEL}{M-k}
+\threecol{expresi{\'o}n s (sexp)}{M-- C-M-k}{C-M-k}
+}
+
+\key{cortar {\bf regi{\'o}n}}{C-w}
+\key{copiar regi{\'o}n}{M-w}
+\key{cortar a la siguiente ocurrencia del {\it car{\'a}cter}}{M-z {\it car{\'a}cter}}
+
+\key{pegar de nuevo lo {\'u}ltimo que se cort{\'o}}{C-y}
+\key{remplazar pegado reci{\'e}n con lo {\'u}ltimo que se cort{\'o}}{M-y}
+
+\section{Selecci{\'o}n}
+
+\key{poner selecci{\'o}n aqu{\'i}}{C-@ {\rm o} C-SPC}
+\key{intercambiar la posici{\'o}n del cursor y de la selecci{\'o}n}{C-x C-x}
+
+\key{poner selecci{\'o}n {\it arg\/} {\bf palabras} delante}{M-@}
+\key{seleccionar {\bf p{\'a}rrafo}}{M-h}
+\key{seleccionar {\bf p{\'a}gina}}{C-x C-p}
+\key{seleccionar {\bf sexp}}{C-M-@}
+\key{seleccionar {\bf funci{\'o}n}}{C-M-h}
+\key{seleccionar todo el {\bf buffer}}{C-x h}
+
+\section{Buscar y Reemplazar}
+
+\key{remplazar interactivamente un texto (string)}{M-\%}
+% query-replace-regexp is bound to C-M-% but that can't be typed on
+% consoles.
+\metax{usando expresiones regulares}{M-x query-replace-regexp}
+
+Las respuestas v{\'a}lidas en el modo query-replace son:
+
+\key{{\bf remplazar} este, ve hacia el siguiente}{SPC {\rm o} y}
+\key{remplazar este, no te muevas}{,}
+\key{{\bf saltar} al siguiente sin remplazar}{DEL {\rm or} n}
+\key{remplazar todas las coincidencias restantes}{!}
+\key{{\bf volver} a la coincidencia anterior}{^}
+\key{{\bf salir} de query-replace}{RET}
+\key{editar recursivamente(\kbd{C-M-c} para salir)}{C-r}
+
+\newcolumn
+\section{M{\'u}ltiple Ventanas}
+
+Cuando dos comandos son mostrados, el segundo es un comando similar para
+un frame que para una ventana.
+
+{\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0
+\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
+\threecol{eliminar todas las otras ventanas}{C-x 1\ \ \ \ }{C-x 5 1}
+\threecol{dividir ventana, por debajo y encima}{C-x 2\ \ \ \ }{C-x 5 2}
+\threecol{eliminar esta ventana}{C-x 0\ \ \ \ }{C-x 5 0}
+}}
+\key{dividir ventana a la mitad}{C-x 3}
+
+\key{desplazar otra ventana}{C-M-v}
+
+{\setbox0=\hbox{\kbd{0}}\advance\hsize by 0\wd0
+\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
+\threecol{cambiar cursor a otra ventana}{C-x o}{C-x 5 o}
+
+\threecol{seleccionar buffer en otra ventana}{C-x 4 b}{C-x 5 b}
+\threecol{mostrar buffer en otra ventana}{C-x 4 C-o}{C-x 5 C-o}
+\threecol{buscar archivo en otra ventana}{C-x 4 f}{C-x 5 f}
+\threecol{buscar archivo de solo-lectura}{C-x 4 r}{C-x 5 r}
+\threecol{en otra ventana}{}{}
+\threecol{abrir Dired en otra ventana}{C-x 4 d}{C-x 5 d}
+\threecol{buscar etiqueta en otra ventana}{C-x 4 .}{C-x 5 .}
+}}
+
+\key{hacer la ventana m{\'a}s alta}{C-x ^}
+\key{hacer la ventana m{\'a}s estrecha}{C-x \{}
+\key{hacer la ventana m{\'a}s ancha}{C-x \}}
+
+\section{Formato y Sangr{\'i}as}
+
+\key{sangrar {\bf l{\'i}nea} actual (dependiente del modo)}{TAB}
+\key{sangrar {\bf regi{\'o}n} (dependiente del modo)}{C-M-\\}
+\key{sangrar {\bf sexp} (dependiente del modo)}{C-M-q}
+\key{sangrar regi{\'o}n r{\'i}gidamente en {\it arg\/} columnas}{C-x TAB}
+\key{sangrar para comentar}{M-;}
+
+\key{insertar una nueva l{\'i}nea delante del cursor}{C-o}
+\key{mover resto de la l{\'i}nea verticalmente hacia abajo}{C-M-o}
+\key{eliminar l{\'i}neas en blanco alrededor del cursor}{C-x C-o}
+\key{unir l{\'i}nea con la anterior (con arg, next)}{M-^}
+\key{eliminar todos los espacios en blanco alrededor del cursor}{M-\\}
+\key{poner exactamente un espacio en el cursor}{M-SPC}
+
+\key{rellenar p{\'a}rrafo}{M-q}
+\key{establecer la columna de relleno en {\it arg}}{C-x f}
+\key{establecer el prefijo con el que comienza cada l{\'i}nea}{C-x .}
+
+\section{Cambio de Case}
+
+\key{poner la palabra en may{\'u}sculas}{M-u}
+\key{poner la palabra en min{\'u}sculas}{M-l}
+\key{poner la palabra con may{\'u}scula inicial}{M-c}
+
+\key{poner la regi{\'o}n en may{\'u}sculas}{C-x C-u}
+\key{poner la regi{\'o}n en min{\'u}sculas}{C-x C-l}
+
+\newcolumn
+\title{GNU Emacs: Tarjeta de referencia}
+
+\section{El Minibuffer}
+
+Las siguientes teclas est{\'a}n definidas en el minibuffer.
+
+\key{completar tanto sea posible}{TAB}
+\key{completar hasta una palabra}{SPC}
+\key{completar y ejecutar}{RET}
+\key{mostrar posibles candidatos}{?}
+\key{recuperar la entrada anterior del minibuffer}{M-p}
+\key{recuperar la entrada posterior del minibuffer o la predeterminada}{M-n}
+\key{buscar hacia atr{\'a}s con regexp a trav{\'e}s del historial}{M-r}
+\key{buscar hacia adelante con regexp a trav{\'e}s del historial}{M-s}
+\key{abortar comando}{C-g}
+
+Presiona \kbd{C-x ESC ESC} para editar y repetir el {\'u}ltimo comando que us{\'o}
+el minibuffer.  Presiona \kbd{F10} para activar los elementos de la barra del
+men{\'u} en terminales de texto.
+
+\section{buffers}
+
+\key{seleccionar otro buffer}{C-x b}
+\key{listar todos los buffers}{C-x C-b}
+\key{eliminar un buffer}{C-x k}
+
+\section{Transponiendo}
+
+\key{transponer {\bf caracteres}}{C-t}
+\key{transponer {\bf palabras}}{M-t}
+\key{transponer {\bf l{\'i}neas}}{C-x C-t}
+\key{transponer {\bf sexps}}{C-M-t}
+
+\section{Revisi{\'o}n ortogr{\'a}fica}
+
+\key{comprobar ortograf{\'i}a de la presente palabra}{M-\$}
+\metax{comprobar ortograf{\'i}a de todas}{M-x ispell-region}
+\metax{las palabras en la regi{\'o}n}{}
+\metax{comprobar la ortograf{\'i}a de todo el buffer}{M-x ispell-buffer}
+\metax{alternar la revisi{\'o}n ortogr{\'a}fica}{M-x flyspell-mode}
+
+\section{Etiquetas (Tags)}
+
+\key{buscar una etiqueta (una definici{\'o}n)}{M-.}
+\metax{especificar un nuevo archivo}{M-x visit-tags-table}
+\metax{de etiquetas}{}
+
+\metax{buscar con regexp en todos los}{M-x tags-search}
+\metax{archivos de la tabla de etiquetas}{}
+\metax{ejecutar query-replace en}{M-x tags-query-replace}
+\metax{todos los archivos}{}
+
+\shortcopyrightnotice
+
+\section{Shells}
+
+\key{ejecutar un comando de shell}{M-!}
+\key{ejecutar un comando de shell}{M-\&}
+\key{asincr{\'o}nicamente}{}
+\key{ejecutar un comando de shell en la regi{\'o}n}{M-|}
+\key{filtrar regi{\'o}n a trav{\'e}s de un comando de shell}{C-u M-|}
+\key{iniciar un shell en una ventana \kbd{*shell*}}{M-x shell}
+
+\section{Rect{\'a}ngulos}
+
+\key{copiar rect{\'a}ngulo al registro}{C-x r r}
+\key{cortar rect{\'a}ngulo}{C-x r k}
+\key{pegar rect{\'a}ngulo}{C-x r y}
+\key{abrir rect{\'a}ngulo, desplazando el texto hacia la derecha}{C-x r o}
+\key{poner rect{\'a}ngulo en blanco}{C-x r c}
+\key{anteponer una cadena (string) a cada l{\'i}nea}{C-x r t}
+
+\section{Abreviaturas (Abbrevs)}
+
+\key{a{\~n}adir abreviatura global}{C-x a g}
+\key{a{\~n}adir abreviatura local del modo}{C-x a l}
+\key{a{\~n}adir expansi{\'o}n global}{C-x a i g}
+\key{para esta abreviatura}{}
+\key{a{\~n}adir expansi{\'o}n local del modo para est{\'a} abreviatura}{C-x a i l}
+\key{expl{\'i}citamente expandir abreviatura}{C-x a e}
+
+\key{expandir palabra anterior din{\'a}micamente}{M-/}
+
+\section{Miscel{\'a}neos}
+
+\key{inserci{\'o}n num{\'e}rica}{C-u {\it num}}
+\key{inserci{\'o}n negativa}{M--}
+\key{inserci{\'o}n citada}{C-q {\it car}}
+
+\section{Expresiones regulares}
+
+\key{cualquier {\'u}nico c{\'a}racter excepto una nueva l{\'i}nea}{. {\rm(dot)}}
+\key{ninguna o m{\'a}s repeticiones}{*}
+\key{una o m{\'a}s repeticiones}{+}
+\key{ninguna o una repetici{\'o}n}{?}
+\key{proteger car{\'a}cteres especiales}{\\}
+\key{proteger car{\'a}cter especial de expresi{\'o}n regular {\it c\/}}{\\{\it c}}
+\key{alternativos (``or'')}{\\|}
+\key{agrupar}{\\( {\rm$\ldots$} \\)}
+\key{agrupaci{\'o}n t{\'i}mida}{\\(?: {\rm$\ldots$} \\)}
+\key{agrupaci{\'o}n numerada expl{\'i}cita}{\\(?NUM: {\rm$\ldots$} \\)}
+\key{mismo texto del grupo n{\'u}mero {\it n\/}}{\\{\it n}}
+\key{en el salto de palabra}{\\b}
+\key{no en el salto de palabra}{\\B}
+
+\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
+\threecol{{\bf entidad}}{{\bf comienzo}}{{\bf final}}
+\threecol{l{\'i}nea}{^}{\$}
+\threecol{palabra}{\\<}{\\>}
+\threecol{s{\'i}mbolo}{\\_<}{\\_>}
+\threecol{buffer}{\\`}{\\'}
+%% FIXME: "`" and "'" isn't displayed correctly in the output PDF file
+
+\threecol{{\bf clase del c{\'a}racter}}{{\bf {\'e}stas}}{{\bf otras}}
+\threecol{establecer expl{\'i}citamente}{[ {\rm$\ldots$} ]}{[^ {\rm$\ldots$} ]}
+\threecol{car{\'a}cter de sintaxis de palabra}{\\w}{\\W}
+\threecol{car{\'a}cter con sintaxis {\it c}}{\\s{\it c}}{\\S{\it c}}
+\threecol{car{\'a}cter con categor{\'i}a {\it c}}{\\c{\it c}}{\\C{\it c}}
+}
+
+\section{Caracteres internacionales}
+
+\key{especificar idioma principal}{C-x RET l}
+\metax{mostrar todos los m{\'e}todos}{M-x list-input-methods}
+\key{de entrada}{}
+\key{activar o desactivar el m{\'e}todo de entrada}{C-\\}
+\key{establecer el sistema de codificaci{\'o}n para el siguiente comando}{C-x RET c}
+\metax{mostrar todos los sistemas}{M-x list-coding-systems}
+\key{de codificaci{\'o}n}{}
+\metax{elegir el sistema de codificaci{\'o}n preferido}{M-x prefer-coding-system}
+
+\newcolumn
+\title{GNU Emacs: Tarjeta de referencia}
+\section{Info}
+
+\key{entrar al lector de documentaci{\'o}n de Info}{C-h i}
+\key{buscar funci{\'o}n o variable especificada en Info}{C-h S}
+\beginindentedkeys
+
+Moverse dentro de un nodo:
+
+\key{desplazarse hacia adelante}{SPC}
+\key{desplazarse en reversa}{DEL}
+\key{comienzo del nodo}{b}
+
+Moverse entre nodos:
+
+\key{{\bf siguiente} nodo}{n}
+\key{nodo {\bf anterior}}{p}
+\key{moverse por {\bf arriba}}{u}
+\key{seleccionar un elemento del men{\'u}}{m}
+\key{por el nombre}{}
+\key{seleccionar el elemento {\it n\/} del men{\'u}}{{\it n}}
+\key{por n{\'u}mero (1--9)}{}
+\key{seguir referencia cruzada  (regresar con \kbd{l})}{f}
+\key{regresar al {\'u}ltimo nodo que viste}{l}
+\key{volver al nodo de directorio}{d}
+\key{ir al nodo superior del archivo Info}{t}
+\key{ir a cualquier nodo por nombre}{g}
+
+Otros:
+
+\key{ir al {\bf tutorial} de Info}{h}
+\key{buscar un tema en los {\'i}ndices}{i}
+\key{buscar nodos para expresiones regulares}{s}
+\key{{\bf salir} de Info}{q}
+\endindentedkeys
+
+\section{Registros}
+
+\key{guardar regi{\'o}n  en el registro}{C-x r s}
+\key{insertar contenidos del registro al buffer}{C-x r i}
+
+\key{guardar valor del cursor en el registro}{C-x r SPC}
+\key{saltar al punto guardado en el registro}{C-x r j}
+
+\section{Macros del teclado}
+
+\key{{\bf comenzar} a definir una macro}{C-x (}
+\key{{\bf terminar} la definici{\'o}n de la macro}{C-x )}
+\key{{\bf ejecutar} {\'u}ltima macro definida}{C-x e}
+\key{a{\~n}adir a la {\'u}ltima macro definida}{C-u C-x (}
+\metax{nombrar {\'u}ltima macro definida}{M-x name-last-kbd-macro}
+\metax{insertar macro como c{\'o}digo Lisp}{M-x insert-kbd-macro}
+\key{en el buffer}{}
+
+\copyrightnotice
+\newcolumn
+\section{Comandos para Emacs Lisp}
+
+\key{evaluar {\bf sexp} antes del cursor}{C-x C-e}
+\key{evaluar funci{\'o}n ({\bf defun}) actual}{C-M-x}
+\metax{evaluar toda la {\bf regi{\'o}n}}{M-x eval-region}
+\key{leer y evaluar en minibuffer}{M-:}
+\metax{cargar una librer{\'i}a Lisp}{M-x load-library}
+\key{desde {\bf load-path}}{}
+
+\section{Personalizaci{\'o}n sencilla}
+
+\metax{personalizar variables y caras}{M-x customize}
+
+% The intended audience here is the person who wants to make simple
+% customizations and knows Lisp syntax.
+
+Creaci{\'o}n de combinaciones de teclas globales en Emacs Lisp (ejemplos):
+
+\beginexample%
+(global-set-key (kbd "C-c g") 'search-forward)
+(global-set-key (kbd "M-\#") 'query-replace-regexp)
+\endexample
+
+\section{Escribiendo Comandos}
+
+\beginexample%
+(defun \<nombre-del-comando> (\<args>)
+  "\<documentaci{\'o}n>"
+  (interactive "\<plantilla>")
+  \<cuerpo-de-la-funci{\'o}n>)
+\endexample
+
+Un ejemplo:
+
+\beginexample%
+(defun mover-l{\'i}nea-a-la-parte-superior (l{\'i}nea)
+  "Reubicar l{\'i}nea a la parte superior de la ventana.
+Con el argumento de prefijo L{\'I}NEA,
+colocar el cursor en L{\'I}NEA."
+  (interactive "P")
+  (recenter (if (null l{\'i}nea)
+                0
+              (prefix-numeric-value l{\'i}nea))))
+\endexample
+
+La especificaci{\'o}n \kbd{interactive} dice como leer argumentos de
+forma interactiva.
+Presiona \kbd{C-h f interactive RET} para m{\'a}s detalles.
+
+\bye
+
+% Local variables:
+% compile-command: "pdftex refcard"
+% End:
-- 
2.48.1

>From 8904ae7094a2cb1b37e34b68bead4081cef4b76f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <[email-masked]>
Date: Sat, 22 Feb 2025 12:06:19 -0600
Subject: [PATCH] Add Spanish translation for survival.tex

* etc/refcards/es-survival.tex New file.
---
 etc/refcards/es-survival.tex | 425 +++++++++++++++++++++++++++++++++++
 1 file changed, 425 insertions(+)
 create mode 100644 etc/refcards/es-survival.tex

diff --git a/etc/refcards/es-survival.tex b/etc/refcards/es-survival.tex
new file mode 100644
index 00000000000..e2d8aed56de
--- /dev/null
+++ b/etc/refcards/es-survival.tex
@@ -0,0 +1,425 @@
+%&tex
+% Title:  GNU Emacs Survival Card
+
+% Copyright (C) 2000--2025 Free Software Foundation, Inc.
+
+% Author: Włodek Bzyl <[email-masked]>
+% Spanish translation: Elias Gabriel Perez <[email-masked]>
+
+% This document is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+
+% As a special additional permission, you may distribute reference cards
+% printed, or formatted for printing, with the notice "Released under
+% the terms of the GNU General Public License version 3 or later"
+% instead of the usual distributed-under-the-GNU-GPL notice, and without
+% a copy of the GPL itself.
+
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+
+% You should have received a copy of the GNU General Public License
+% along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+% Thanks to Cecilio Pardo, Mauro Aranda and Stephen Berman for
+% the suggestions.
+
+%**start of header
+
+% User interface is `plain.tex' and macros described below
+%
+% \title{CARD TITLE}{for version 23}
+% \section{NAME}
+% optional paragraphs separated with \askip amount of vertical space
+% \key{KEY-NAME} description of key or
+% \mkey{M-x LONG-LISP-NAME} description of Elisp function
+%
+% \kbd{ARG} -- argument is typed literally
+
+\def\plainfmtname{plain}
+\ifx\fmtname\plainfmtname
+\else
+  \errmessage{This file requires `plain' format to be typeset correctly}
+  \endinput
+\fi
+
+% PDF output layout.  0 for A4, 1 for letter (US), a `l' is added for
+% a landscape layout.
+\input pdflayout.sty
+\pdflayout=(1)
+
+\input emacsver.tex
+
+\def\copyrightnotice{\penalty-1\vfill
+  \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter
+    Copyright \copyright\ \year\ Free Software Foundation, Inc.\break
+    For GNU Emacs version \versionemacs\break
+    Author W{\l}odek Bzyl ([email-masked])
+    Translated by Elias Gabriel P{\'e}rez
+
+    Released under the terms of the GNU General Public License
+    version 3 or later.
+
+    For more Emacs documentation, and the \TeX{} source for this card,
+    see the Emacs distribution,
+    or {\tt https://www.gnu.org/software/emacs}\par}}
+
+\hsize 3.2in
+\vsize 7.95in
+\font\titlefont=cmss10 scaled 1200
+\font\headingfont=cmss10
+\font\smallfont=cmr6
+\font\smallsy=cmsy6
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighttt=cmtt8
+\font\eightmi=cmmi8
+\font\eightsy=cmsy8
+\font\eightss=cmss8
+\textfont0=\eightrm
+\textfont1=\eightmi
+\textfont2=\eightsy
+\def\rm{\eightrm} \rm
+\def\bf{\eightbf}
+\def\it{\eightit}
+\def\tt{\eighttt}
+\def\ss{\eightss}
+\baselineskip=0.8\baselineskip
+
+\newdimen\intercolumnskip % horizontal space between columns
+\intercolumnskip=0.5in
+
+% The TeXbook, p. 257
+\let\lr=L \newbox\leftcolumn
+\output={\if L\lr
+    \global\setbox\leftcolumn\columnbox \global\let\lr=R
+  \else
+       \doubleformat \global\let\lr=L\fi}
+\def\doubleformat{\shipout\vbox{\makeheadline
+    \leftline{\box\leftcolumn\hskip\intercolumnskip\columnbox}
+    \makefootline}
+  \advancepageno}
+\def\columnbox{\leftline{\pagebody}}
+
+\def\newcolumn{\vfil\eject}
+
+\def\bye{\par\vfil\supereject
+  \if R\lr \null\vfil\eject\fi
+  \end}
+
+\outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex
+   \centerline{\ss#2}
+   \vskip2\baselineskip}
+
+\outer\def\section#1{\filbreak
+  \bskip
+  \leftline{\headingfont #1}
+  \askip}
+\def\bskip{\vskip 2.5ex plus 0.25ex }
+\def\askip{\vskip 0.75ex plus 0.25ex}
+
+\newdimen\defwidth \defwidth=0.25\hsize
+\def\hang{\hangindent\defwidth}
+
+\def\textindent#1{\noindent\llap{\hbox to \defwidth{\tt#1\hfil}}\ignorespaces}
+\def\key{\par\hangafter=0\hang\textindent}
+
+\def\mtextindent#1{\noindent\hbox{\tt#1\quad}\ignorespaces}
+\def\mkey{\par\hangafter=1\hang\mtextindent}
+
+\def\kbd#{\bgroup\tt \let\next= }
+
+\newdimen\raggedstretch
+\newskip\raggedparfill \raggedparfill=0pt plus 1fil
+\def\nohyphens
+   {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000}
+\def\raggedspaces
+   {\spaceskip=0.3333em\relax
+    \xspaceskip=0.5em\relax}
+\def\raggedright
+   {\raggedstretch=6em
+    \nohyphens
+    \rightskip=0pt plus \raggedstretch
+    \raggedspaces
+    \parfillskip=\raggedparfill
+    \relax}
+\def\raggedcenter
+   {\raggedstretch=6em
+    \nohyphens
+    \rightskip=0pt plus \raggedstretch
+    \leftskip=\rightskip
+    \raggedspaces
+    \parfillskip=0pt
+    \relax}
+
+\chardef\\=`\\
+
+\raggedright
+\nopagenumbers
+\parindent 0pt
+\interlinepenalty=10000
+\hoffset -0.2in
+%\voffset 0.2in
+
+%**end of header
+
+
+\title{Tarjeta\ de\ Supervivencia\ para\ GNU\ \ Emacs}{para la versi{\'o}n \versionemacs}
+
+A continuaci{\'o}n, \kbd{C-z} significa presionar la tecla `\kbd{z}' mientras
+mantienes presionada la tecla {\it Ctrl}. \kbd{M-z} significa
+presionar la tecla `\kbd{z}' mientras mantienes presionada la tecla
+{\it Meta\/} (tambi{\'e}n llamada {\it Alt\/} en algunos teclados)
+o despu{\'e}s de presionar la tecla {\it Esc\/}.
+
+\section{Abrir Emacs}
+
+Para Abrir GNU Emacs, solo escriba su nombre: \kbd{emacs}.
+Emacs divide sus marcos en varias {\'a}reas:
+  la barra del men{\'u},
+  el {\'a}rea del buffer donde se edita el texto,
+  la barra modal (mode-line) describiendo el buffer en la ventana que est{\'a} encima de {\'e}l,
+  y en la {\'u}ltima l{\'i}nea el {\'a}rea del minibuffer o de mensajes.
+\askip
+\key{C-x C-c} salir de Emacs
+\key{C-x C-f} editar archivo; este comando usa el minibuffer para leer
+  el nombre del archivo; usa este para crear nuevos archivos con tan solo
+  escribir el nombre del nuevo archivo que desee.
+\key{C-x C-s} guardar archivo
+\key{C-x k} eliminar un buffer
+\key{C-g} en la mayor{\'i}a de los casos: cancela, detiene, aborta parcialmente
+  algo escrito o un comando ejecut{\'a}ndose
+\key{C-x u} deshacer
+
+\section{Moverse}
+
+\key{C-l} desplazar l{\'i}nea actual al centro de la ventana
+\key{C-x b} cambiar a otro buffer
+\key{M-<} ir al comienzo del buffer
+\key{M->} ir al final del buffer
+\key{M-g M-g} ir a un n{\'u}mero de l{\'i}nea dado
+
+\section{M{\'u}ltiples Ventanas}
+
+\key{C-x 0} remover la ventana actual
+\key{C-x 1} hacer que la ventana activa sea la {\'u}nica
+\key{C-x 2} dividir ventana horizontalmente
+\key{C-x 3} dividir ventana verticalmente
+\key{C-x o} ir a otra ventana
+
+\section{Regiones}
+
+Emacs define una `regi{\'o}n' como el espacio entre la selecci{\'o}n y el
+punto.  Una selecci{\'o}n se establece con \kbd{C-{\it espacio}}.
+El punto esta en la posici{\'o}n del cursor.
+\askip
+\key{M-h} seleccionar p{\'a}rrafo
+\key{C-x h} seleccionar todo el buffer
+
+\section{Cortar y Pegar}
+
+\key{C-w} cortar regi{\'o}n
+\key{M-w} copiar regi{\'o}n (al kill-ring)
+\key{C-k} cortar desde el cursor hasta el final de la l{\'i}nea
+\key{M-DEL} cortar palabra
+\key{C-y} volver a pegar lo {\'u}ltimo que se cort{\'o} (\kbd{C-w C-y} la
+  combinaci{\'o}n podr{\'i}a usarse
+para mover el texto)
+\key{M-y} remplazar {\'u}ltimo pegado con la cortada anterior
+
+\section{Buscar}
+
+\key{C-s} buscar un texto
+\key{C-r} buscar hacia atr{\'a}s un texto
+\key{RET} salir de la b{\'u}squeda
+\key{M-C-s} buscar con una expresi{\'o}n regular
+\key{M-C-r} buscar hacia atr{\'a}s con una expresi{\'o}n regular
+\askip
+Usa otra vez \kbd{C-s} o \kbd{C-r} para repetir la b{\'u}squeda en
+cualquier direcci{\'o}n.
+
+\section{Etiquetas}
+
+La tabla de etiquetas guarda la localizaci{\'o}n de funciones y definiciones
+de procedimientos, variables globales, tipos de datos y cualquier otra
+cosa conveniente.  Para crear un archivo de tablas de etiquetas, escriba
+`{\tt etags} {\it archivos\_a\_ingresar}' como un comando de shell.
+\askip
+\key{M-.} encontrar una definici{\'o}n
+\key{M-,} volver a donde \kbd{M-.} fue invocado por {\'u}ltima vez
+\mkey{M-x tags-query-replace} ejecutar query-replace en todos los archivos
+  registrados en la tabla de etiquetas
+
+\section{Compilar}
+
+\key{M-x compile} compilar c{\'o}digo en la ventana activa
+\key{C-c C-c} ir al siguiente error del compilador, cuando est{\'e}
+  en la ventana de compilaci{\'o}n o
+\key{C-x `} cuando est{\'e} en la ventana con el c{\'o}digo fuente
+
+\section{Dired, El Editor de Directorios}
+
+\key{C-x d} invocar Dired
+\key{d} marcar este archivo para eliminaci{\'o}n
+\key{\~{}} marcar todos los archivos de respaldo para eliminaci{\'o}n
+\key{u} quitar marca de eliminaci{\'o}n
+\key{x} eliminar los archivos marcados para eliminaci{\'o}n
+\key{C} copiar archivo
+\key{g} actualizar el buffer de Dired
+\key{f} abrir el archivo descrito en la l{\'i}nea actual
+\key{s} cambiar entre el orden alfab{\'e}tico de fecha y hora
+
+\section{Lectura y env{\'i}o de correo electr{\'o}nico}
+
+\key{M-x rmail} empezar a leer el correo
+\key{q} dejar de leer el correo
+\key{h} mostrar encabezados
+\key{d} marcar el mensaje actual para eliminaci{\'o}n
+\key{x} eliminar todos los mensajes marcados para eliminaci{\'o}n
+
+\key{C-x m} redactar un mensaje
+\key{C-c C-c} enviar el mensaje y cambiar a otro buffer
+\key{C-c C-f C-c} ir al campo de encabezado 'Cc' y crea uno
+  si no hay ninguno
+
+\section{Miscel{\'a}neos}
+
+\key{M-q} rellenar p{\'a}rrafo
+\key{M-/} expandir la palabra anterior din{\'a}micamente
+\key{C-z} minimizar (suspender) Emacs cuando se est{\'a} ejecutando
+  gr{\'a}ficamente o en terminal, respectivamente
+\mkey{M-x revert-buffer} actualizar texto del buffer acorde al archivo
+  guardado
+
+\section{Buscar y Remplazar}
+
+\key{M-\%} buscar y remplazar de forma interactiva
+\key{M-C-\%} buscar usando expresiones regulares
+\askip
+Las respuestas v{\'a}lidas en query-replace son
+\askip
+\key{SPC} remplazar este y pasa al siguiente
+\key{,} remplazar este pero no te muevas
+\key{DEL} saltar al siguiente sin remplazar
+\key{!} remplazar todas las coincidencias restantes
+\key{\^{}} volver a la coincidencia anterior
+\key{RET} salir de query-replace
+\key{C-r} entrar a la edici{\'o}n recursiva (\kbd{M-C-c} para salir)
+
+\section{Expresiones regulares}
+
+\key{. {\rm(dot)}} cualquier car{\'a}cter individual excepto una nueva l{\'i}nea
+\key{*} cero o m{\'a}s repeticiones
+\key{+} una o m{\'a}s repeticiones
+\key{?} cero o una repetici{\'o}n
+\key{[$\ldots$]} denota una clase de car{\'a}cter a coincidir
+\key{[\^{}$\ldots$]} niega la clase
+
+\key{\\{\it c}} mantener caracteres que de otra manera tendr{\'i}an un
+  significado especial en expresiones regulares
+
+\key{$\ldots$\\|$\ldots$\\|$\ldots$} coincide con una de las
+  alternativas (``or'')
+\key{\\( $\ldots$ \\)} agrupa una serie de patrones de elementos a un
+  solo elemento
+\key{\\{\it n}} mismo texto como del grupo n{\'u}mero {\it n\/}
+
+\key{\^{}} coincidencias con el inicio de la l{\'i}nea
+\key{\$} coincidencias al final de la l{\'i}nea
+
+\key{\\w} encuentra un car{\'a}cter de una palabra
+\key{\\W} encuentra un car{\'a}cter de una palabra
+\key{\\<} encuentra al comienzo de una palabra
+\key{\\>} encuentra al final de una palabra
+\key{\\b} encuentra en el salto de palabra
+\key{\\B} encuentra en un no salto de palabra
+
+\section{Registros}
+
+\key{C-x r s} guardar selecci{\'o}n en el registro
+\key{C-x r i} insertar el contenido del registro en el buffer
+
+\key{C-x r SPC} guardar el valor del cursor en el registro
+\key{C-x r j} saltar al punto guardado en el registro
+
+\section{Rect{\'a}ngulos}
+
+\key{C-x r r} copiar rect{\'a}ngulo al registro
+\key{C-x r k} cortar rect{\'a}ngulo
+\key{C-x r y} pegar rect{\'a}ngulo
+\key{C-x r t} a{\~n}adir un prefijo a cada l{\'i}nea con un texto
+
+\key{C-x r o} abrir rect{\'a}ngulo, desplazar el texto hacia la derecha
+\key{C-x r c} dejar rect{\'a}ngulo en blanco
+
+\section{Shells}
+
+\key{M-x shell} iniciar un shell dentro de Emacs
+\key{M-!} ejecutar un comando de shell dentro de Emacs
+\key{M-|} ejecutar un comando de shell de una regi{\'o}n
+\key{C-u M-|} filtrar regi{\'o}n a trav{\'e}s de un comando de shell
+
+\section{Revisi{\'o}n Ortogr{\'a}fica}
+
+\key{M-\$} comprobar la ortograf{\'i}a de la palabra en el cursor
+\mkey{M-x ispell-region} comprobar la ortograf{\'i}a de todas las palabras de
+  la selecci{\'o}n
+\mkey{M-x ispell-buffer} comprobar la ortograf{\'i}a de todo el buffer
+
+\section{Caracteres Internacionales}
+
+\key{C-x RET C-\\} seleccionar y activar el m{\'e}todo de entrada para el
+  buffer actual
+\key{C-\\} activar o desactivar el m{\'e}todo de entrada
+\mkey{M-x list-input-methods} mostrar todos los m{\'e}todos de entrada
+\mkey{M-x set-language-environment} especificar idioma principal
+
+\key{C-x RET c} establecer el sistema de codificaci{\'o}n para el siguiente comando
+\mkey{M-x find-file-literally} abrir archivo sin conversi{\'o}n
+  de ning{\'u}n tipo
+
+\mkey{M-x list-coding-systems} mostrar todos los sistemas de codificaci{\'o}n
+\mkey{M-x prefer-coding-system} escoger el sistema de codificaci{\'o}n preferido
+
+\section{Macros del teclado}
+
+\key{C-x (} empezar a definir una macro
+\key{C-x )} terminar de definir la macro
+\key{C-x e} ejecutar la {\'u}ltima macro definida
+\key{C-u C-x (} a{\~n}adir a la {\'u}ltima macro definida
+\mkey{M-x name-last-kbd-macro} nombrar {\'u}ltima macro definida
+
+\section{Personalizaci{\'o}n sencilla}
+
+\key{M-x customize} personalizar variables y caras
+
+\section{Obtener Ayuda}
+
+Emacs completa los comandos por usted.  Escribiendo \kbd{M-x}
+{\it tab\/} o {\it espacio\/} proporciona una lista de comandos de Emacs.
+\askip
+\key{C-h} ayuda de Emacs
+\key{C-h t} ejecutar el tutorial de Emacs
+\key{C-h i} entrar a Info, el navegador de documentaci{\'o}n
+\key{C-h a} mostrar comandos que coinciden con una string (apropos)
+\key{C-h k} mostrar documentaci{\'o}n de la funci{\'o}n invocada por la
+  pulsaci{\'o}n de tecla
+\askip
+Emacs se mete en diferentes {\it modos}, cada uno de los cuales personaliza
+Emacs para editar texto de un tipo particular.  La l{\'i}nea modal (mode-line)
+contiene los nombres de los modos actuales, entre par{\'e}ntesis.
+\askip
+\key{C-h m} obtener informaci{\'o}n espec{\'i}fica del modo
+
+\copyrightnotice
+
+\bye
+
+% Local variables:
+% compile-command: "pdftex survival"
+% End:
-- 
2.48.1

-- 
                                                   - E.G via GNU Emacs.