summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBoris Verkhovskiy <boris.verk@gmail.com>2024-05-14 17:51:24 -0600
committerBoris Verkhovskiy <boris.verk@gmail.com>2024-05-14 17:51:24 -0600
commit717d099842a4b133c12cfa32636634766f6bc197 (patch)
treefe31a980255f937a9d5ace901715bce0141a8d01
parent8c3acb8fb2957ffec7b976c5c80ed9c711c6505c (diff)
Fix newlines
-rw-r--r--es-es/make-es.html.markdown520
-rw-r--r--hre.csv47
2 files changed, 306 insertions, 261 deletions
diff --git a/es-es/make-es.html.markdown b/es-es/make-es.html.markdown
index 0e07ec13..7ee47814 100644
--- a/es-es/make-es.html.markdown
+++ b/es-es/make-es.html.markdown
@@ -1,260 +1,260 @@
----
-category: tool
-tool: make
-filename: Makefile
-contributors:
- - ["Robert Steed", "https://github.com/robochat"]
- - ["Stephan Fuhrmann", "https://github.com/sfuhrm"]
-translators:
- - ["Andrés Perdomo", "https://github.com/andres7293"]
-lang: es-es
----
-
-Un archivo Makefile define un conjunto de reglas para crear un objetivo (o
-varios objetivos). Su propósito es hacer la mínima cantidad de trabajo necesaria
-para actualizar un objetivo a la versión más reciente de la fuente. Escrito
-famosamente en un fin de semana por Stuart Feldman en 1976, todavía se utiliza
-ampliamente (especialmente en Unix y Linux) a pesar de muchos competidores y
-críticas.
-
-Existen muchas variedades de Make en existencia, no obstante, este artículo
-asume que estamos utilizando GNU Make, que es el estándar en Linux.
-
-```make
-# Los comentarios se pueden escribir de esta forma.
-
-# El fichero debe tener el nombre de Makefile y luego puede ser ejecutado
-# como `make <objetivo>`.
-# De lo contrario, se utiliza `make -f "nombre_archivo" <objetivo>`
-
-# Advertencia: ¡solo use TABULACIONES para la identación en Makefiles, nunca
-# espacios!
-
-#-----------------------------------------------------------------------
-# Fundamentos
-#-----------------------------------------------------------------------
-
-# Las reglas tienen el formato
-# objetivo: <prerrequisito>
-# donde prerrequisito es opcional.
-
-# Una regla - esta regla solamente se ejecutará si file0.txt no existe.
-file0.txt:
- echo "foo" > file0.txt
- # Incluso los comandos en esta sección de 'receta' se pasan a la shell.
- # Prueba `make file0.txt` o simplemente 'make' - La primera regla es la
- # predeterminada.
-
-# Esta regla se ejecutará solo si file0.txt es más reciente que file1.txt.
-file1.txt: file0.txt
- cat file0.txt > file1.txt
- # Use las mismas reglas de comillas que en la shell.
- @cat file0.txt >> file1.txt
- # @ evita que el comando se muestre en stdout.
- -@echo 'hello'
- # - Quiere decir que make continuará en caso de error.
- # Pruebe 'make file1.txt` en la línea de comandos.
-
-# Una regla puede tener múltiples objetivos y múltiples prerrequisitos
-file2.txt file3.txt: file0.txt file1.txt
- touch file2.txt
- touch file3.txt
-
-# Make se quejará de múltiples recetas para la misma regla. Sin embargo,
-# las reglas vacías no cuentan y se pueden utilizar para agregar nuevas
-# dependencias
-
-#-----------------------------------------------------------------------
-# Objetivos ficticios (Phony Targets)
-#-----------------------------------------------------------------------
-
-# Un objetivo ficticio (phony target). Cualquier objetivo que no sea un archivo.
-# Nunca estará actualizado, por lo que make siempre tratará de ejecutarlo.
-all: make process
-
-# Podemos declarar cosas sin orden.
-maker:
- touch ex0.txt ex1.txt
-
-# Se puede evitar que las reglas ficticias (phony) se rompan cuando un archivo
-# real tiene el mismo nombre usando:
-.PHONY: all maker process
-# Esto es un objetivo especial. Hay varios otros.
-
-# Una regla con una dependencia en un objetivo ficticio (phony target)
-# se ejecutara siempre:
-ex0.txt ex1.txt: maker
-
-# Los objetivos ficticios (phony target) más comunes son:
-# all make clean install...
-
-#-----------------------------------------------------------------------
-# Variables automáticas y Wildcards
-#-----------------------------------------------------------------------
-
-process: file*.txt # usa un wildcard para coincidir con los nombres de archivos.
- @echo $^ # $^ es una variable que contiene una lista de todos los prerrequisitos
- @echo $@ # imprime el nombre del objetivo
- #(para reglas con múltiples objetivos, $@ es el que hizo que se ejecutara la regla)
- @echo $< # el primer prerrequisito listado
- @echo $? # solo las dependencias que están desactualizadas
- @echo $+ # todas las dependencias incluyendo las duplicadas (a diferencia de lo normal)
- #@echo $| # solo los 'prerrequisitos solicitados'
-
-# Incluso si dividimos las definiciones de las dependencias, de las reglas, $^
-# las encontrará
-process: ex1.txt file0.txt
-# ext1.xt se encontrará pero file0.txt se duplicará.
-
-#-----------------------------------------------------------------------
-# Patrones
-#-----------------------------------------------------------------------
-
-# Se puede instruir a make sobre como convertir ciertos tipos de archivos en
-# otros archivos.
-
-%.png: %.svg
- inkscape --export-png $^
-
-# Las reglas de patrones solo harán algo si make decide crear el objetivo.
-
-# Los directorios no suelen tenerse en cuenta al coincidir con reglas de
-# patrones.
-# Pero make intentará usar la regla más apropiada disponible.
-
-small/%.png: %.svg
- inkscape --export-png --export-dpi 30 $^
-
-# make usará la última versión de una regla de patrón que encuentre.
-%.png: %.svg
- @echo esta regla es elegida
-
-# Sin embargo make usará la primera regla de patrón que pueda construir el
-# objetivo.
-%.png: %.ps
- @echo esta regla no es elegida si *.svg y *.ps están ambas presentes
-
-# Make ya tiene algunas reglas de patrón integradas.
-# Por ejemplo, sabe cómo convertir archivos *.c en archivos *.o.
-
-# En makefiles antiguos se solían utilizar las reglas de sufijo en lugar de las
-# reglas de patrón
-.png.ps:
- @echo esta regla es similar a una regla de patrón.
-
-# Instruye a make sobre una regla de sufijo
-.SUFFIXES: .png
-
-#-----------------------------------------------------------------------
-# Variables
-#-----------------------------------------------------------------------
-# también conocidas como macros.
-
-# Las variables son básicamente de tipo cadena (string)
-
-name = Ted
-name2="Sarah"
-
-echo:
- @echo $(name)
- @echo ${name2}
- @echo $name # Esto no funcionará, se tratará como $(n)name.
- @echo $(name3) # Variables desconocidas se tratarán como cadenas vacías.
-
-# Hay 4 lugares donde se pueden definir variables.
-# En orden de prioridad de mayor a menor:
-# 1: argumentos de línea de comando.
-# 2: Makefile.
-# 3: variables de entorno de la shell - make las importa automáticamente.
-# 4: make tiene algunas variables predefinidas.
-
-name4 ?= Jean
-# Solo establece la variable si la variable de entorno no está aún definida.
-
-override name5 = David
-# Detiene que los argumentos de línea de comandos modifiquen esta variable.
-
-name4 +=grey
-# Añade valores a la variable (incluye un espacio).
-
-# Valores de variables específicos de patrones (Extension de GNU).
-echo: name2 = Sara # Verdadero dentro de la regla coincidente
- # y también dentro de sus dependencias recursivas rehechas
- # (¡excepto que puede romperse cuando el grafo se complica demasiado!)
-
-# Algunas variables son definidas automáticamente por make.
-echo_inbuilt:
- echo $(CC)
- echo ${CXX}
- echo $(FC)
- echo ${CFLAGS}
- echo $(CPPFLAGS)
- echo ${CXXFLAGS}
- echo $(LDFLAGS)
- echo ${LDLIBS}
-
-#-----------------------------------------------------------------------
-# Variables 2
-#-----------------------------------------------------------------------
-
-# El primer tipo de variables se evalúan cada vez que se usan.
-# Esto puede ser costoso, por lo que existe un segundo tipo de variable que se
-# evalúa solo una vez. (Esta es una extensión de GNU make)
-
-var := hello
-var2 ::= $(var) hello
-#:= y ::= son equivalentes
-
-# Estas variables se evalúan de manera procedimental (en el orden en que
-# aparecen), ¡rompiendo así con el resto del lenguaje!
-
-# Esto no funciona
-var3 ::= $(var4) and good luck
-var4 ::= good night
-
-#-----------------------------------------------------------------------
-# Funciones
-#-----------------------------------------------------------------------
-
-# make tiene muchas funciones disponibles.
-
-sourcefiles = $(wildcard *.c */*.c)
-objectfiles = $(patsubst %.c,%.o,$(sourcefiles))
-
-# El formato es $(func arg0,arg1,arg2...)
-
-# Algunos ejemplos
-ls: * src/*
- @echo $(filter %.txt, $^)
- @echo $(notdir $^)
- @echo $(join $(dir $^),$(notdir $^))
-
-#-----------------------------------------------------------------------
-# Directrices (Directives)
-#-----------------------------------------------------------------------
-
-# Incluye otros makefiles, útil para código de plataformas específicas
-include foo.mk
-
-sport = tennis
-# Compilación condicional
-report:
-ifeq ($(sport),tennis)
- @echo 'game, set, match'
-else
- @echo "They think it's all over; it is now"
-endif
-
-# También existe ifneq, ifdef, ifndef
-
-foo = true
-
-ifdef $(foo)
-bar = 'hello'
-endif
-```
-
-### Más recursos (en inglés)
-
-+ [GNU Make documentation](https://www.gnu.org/software/make/manual/)
-+ [Software carpentry tutorial](http://swcarpentry.github.io/make-novice/)
+---
+category: tool
+tool: make
+filename: Makefile
+contributors:
+ - ["Robert Steed", "https://github.com/robochat"]
+ - ["Stephan Fuhrmann", "https://github.com/sfuhrm"]
+translators:
+ - ["Andrés Perdomo", "https://github.com/andres7293"]
+lang: es-es
+---
+
+Un archivo Makefile define un conjunto de reglas para crear un objetivo (o
+varios objetivos). Su propósito es hacer la mínima cantidad de trabajo necesaria
+para actualizar un objetivo a la versión más reciente de la fuente. Escrito
+famosamente en un fin de semana por Stuart Feldman en 1976, todavía se utiliza
+ampliamente (especialmente en Unix y Linux) a pesar de muchos competidores y
+críticas.
+
+Existen muchas variedades de Make en existencia, no obstante, este artículo
+asume que estamos utilizando GNU Make, que es el estándar en Linux.
+
+```make
+# Los comentarios se pueden escribir de esta forma.
+
+# El fichero debe tener el nombre de Makefile y luego puede ser ejecutado
+# como `make <objetivo>`.
+# De lo contrario, se utiliza `make -f "nombre_archivo" <objetivo>`
+
+# Advertencia: ¡solo use TABULACIONES para la identación en Makefiles, nunca
+# espacios!
+
+#-----------------------------------------------------------------------
+# Fundamentos
+#-----------------------------------------------------------------------
+
+# Las reglas tienen el formato
+# objetivo: <prerrequisito>
+# donde prerrequisito es opcional.
+
+# Una regla - esta regla solamente se ejecutará si file0.txt no existe.
+file0.txt:
+ echo "foo" > file0.txt
+ # Incluso los comandos en esta sección de 'receta' se pasan a la shell.
+ # Prueba `make file0.txt` o simplemente 'make' - La primera regla es la
+ # predeterminada.
+
+# Esta regla se ejecutará solo si file0.txt es más reciente que file1.txt.
+file1.txt: file0.txt
+ cat file0.txt > file1.txt
+ # Use las mismas reglas de comillas que en la shell.
+ @cat file0.txt >> file1.txt
+ # @ evita que el comando se muestre en stdout.
+ -@echo 'hello'
+ # - Quiere decir que make continuará en caso de error.
+ # Pruebe 'make file1.txt` en la línea de comandos.
+
+# Una regla puede tener múltiples objetivos y múltiples prerrequisitos
+file2.txt file3.txt: file0.txt file1.txt
+ touch file2.txt
+ touch file3.txt
+
+# Make se quejará de múltiples recetas para la misma regla. Sin embargo,
+# las reglas vacías no cuentan y se pueden utilizar para agregar nuevas
+# dependencias
+
+#-----------------------------------------------------------------------
+# Objetivos ficticios (Phony Targets)
+#-----------------------------------------------------------------------
+
+# Un objetivo ficticio (phony target). Cualquier objetivo que no sea un archivo.
+# Nunca estará actualizado, por lo que make siempre tratará de ejecutarlo.
+all: make process
+
+# Podemos declarar cosas sin orden.
+maker:
+ touch ex0.txt ex1.txt
+
+# Se puede evitar que las reglas ficticias (phony) se rompan cuando un archivo
+# real tiene el mismo nombre usando:
+.PHONY: all maker process
+# Esto es un objetivo especial. Hay varios otros.
+
+# Una regla con una dependencia en un objetivo ficticio (phony target)
+# se ejecutara siempre:
+ex0.txt ex1.txt: maker
+
+# Los objetivos ficticios (phony target) más comunes son:
+# all make clean install...
+
+#-----------------------------------------------------------------------
+# Variables automáticas y Wildcards
+#-----------------------------------------------------------------------
+
+process: file*.txt # usa un wildcard para coincidir con los nombres de archivos.
+ @echo $^ # $^ es una variable que contiene una lista de todos los prerrequisitos
+ @echo $@ # imprime el nombre del objetivo
+ #(para reglas con múltiples objetivos, $@ es el que hizo que se ejecutara la regla)
+ @echo $< # el primer prerrequisito listado
+ @echo $? # solo las dependencias que están desactualizadas
+ @echo $+ # todas las dependencias incluyendo las duplicadas (a diferencia de lo normal)
+ #@echo $| # solo los 'prerrequisitos solicitados'
+
+# Incluso si dividimos las definiciones de las dependencias, de las reglas, $^
+# las encontrará
+process: ex1.txt file0.txt
+# ext1.xt se encontrará pero file0.txt se duplicará.
+
+#-----------------------------------------------------------------------
+# Patrones
+#-----------------------------------------------------------------------
+
+# Se puede instruir a make sobre como convertir ciertos tipos de archivos en
+# otros archivos.
+
+%.png: %.svg
+ inkscape --export-png $^
+
+# Las reglas de patrones solo harán algo si make decide crear el objetivo.
+
+# Los directorios no suelen tenerse en cuenta al coincidir con reglas de
+# patrones.
+# Pero make intentará usar la regla más apropiada disponible.
+
+small/%.png: %.svg
+ inkscape --export-png --export-dpi 30 $^
+
+# make usará la última versión de una regla de patrón que encuentre.
+%.png: %.svg
+ @echo esta regla es elegida
+
+# Sin embargo make usará la primera regla de patrón que pueda construir el
+# objetivo.
+%.png: %.ps
+ @echo esta regla no es elegida si *.svg y *.ps están ambas presentes
+
+# Make ya tiene algunas reglas de patrón integradas.
+# Por ejemplo, sabe cómo convertir archivos *.c en archivos *.o.
+
+# En makefiles antiguos se solían utilizar las reglas de sufijo en lugar de las
+# reglas de patrón
+.png.ps:
+ @echo esta regla es similar a una regla de patrón.
+
+# Instruye a make sobre una regla de sufijo
+.SUFFIXES: .png
+
+#-----------------------------------------------------------------------
+# Variables
+#-----------------------------------------------------------------------
+# también conocidas como macros.
+
+# Las variables son básicamente de tipo cadena (string)
+
+name = Ted
+name2="Sarah"
+
+echo:
+ @echo $(name)
+ @echo ${name2}
+ @echo $name # Esto no funcionará, se tratará como $(n)name.
+ @echo $(name3) # Variables desconocidas se tratarán como cadenas vacías.
+
+# Hay 4 lugares donde se pueden definir variables.
+# En orden de prioridad de mayor a menor:
+# 1: argumentos de línea de comando.
+# 2: Makefile.
+# 3: variables de entorno de la shell - make las importa automáticamente.
+# 4: make tiene algunas variables predefinidas.
+
+name4 ?= Jean
+# Solo establece la variable si la variable de entorno no está aún definida.
+
+override name5 = David
+# Detiene que los argumentos de línea de comandos modifiquen esta variable.
+
+name4 +=grey
+# Añade valores a la variable (incluye un espacio).
+
+# Valores de variables específicos de patrones (Extension de GNU).
+echo: name2 = Sara # Verdadero dentro de la regla coincidente
+ # y también dentro de sus dependencias recursivas rehechas
+ # (¡excepto que puede romperse cuando el grafo se complica demasiado!)
+
+# Algunas variables son definidas automáticamente por make.
+echo_inbuilt:
+ echo $(CC)
+ echo ${CXX}
+ echo $(FC)
+ echo ${CFLAGS}
+ echo $(CPPFLAGS)
+ echo ${CXXFLAGS}
+ echo $(LDFLAGS)
+ echo ${LDLIBS}
+
+#-----------------------------------------------------------------------
+# Variables 2
+#-----------------------------------------------------------------------
+
+# El primer tipo de variables se evalúan cada vez que se usan.
+# Esto puede ser costoso, por lo que existe un segundo tipo de variable que se
+# evalúa solo una vez. (Esta es una extensión de GNU make)
+
+var := hello
+var2 ::= $(var) hello
+#:= y ::= son equivalentes
+
+# Estas variables se evalúan de manera procedimental (en el orden en que
+# aparecen), ¡rompiendo así con el resto del lenguaje!
+
+# Esto no funciona
+var3 ::= $(var4) and good luck
+var4 ::= good night
+
+#-----------------------------------------------------------------------
+# Funciones
+#-----------------------------------------------------------------------
+
+# make tiene muchas funciones disponibles.
+
+sourcefiles = $(wildcard *.c */*.c)
+objectfiles = $(patsubst %.c,%.o,$(sourcefiles))
+
+# El formato es $(func arg0,arg1,arg2...)
+
+# Algunos ejemplos
+ls: * src/*
+ @echo $(filter %.txt, $^)
+ @echo $(notdir $^)
+ @echo $(join $(dir $^),$(notdir $^))
+
+#-----------------------------------------------------------------------
+# Directrices (Directives)
+#-----------------------------------------------------------------------
+
+# Incluye otros makefiles, útil para código de plataformas específicas
+include foo.mk
+
+sport = tennis
+# Compilación condicional
+report:
+ifeq ($(sport),tennis)
+ @echo 'game, set, match'
+else
+ @echo "They think it's all over; it is now"
+endif
+
+# También existe ifneq, ifdef, ifndef
+
+foo = true
+
+ifdef $(foo)
+bar = 'hello'
+endif
+```
+
+### Más recursos (en inglés)
+
++ [GNU Make documentation](https://www.gnu.org/software/make/manual/)
++ [Software carpentry tutorial](http://swcarpentry.github.io/make-novice/)
diff --git a/hre.csv b/hre.csv
index eab43cc4..cec7c4a8 100644
--- a/hre.csv
+++ b/hre.csv
@@ -1 +1,46 @@
-Ix,Dynasty,Name,Birth,Death,Coronation 1,Coronation 2,Ceased to be Emperor N/A,Carolingian,Charles I,2 April 742,28 January 814,25 December 800,N/A,28 January 814 N/A,Carolingian,Louis I,778,20 June 840,11 September 813,5 October 816,20 June 840 N/A,Carolingian,Lothair I,795,29 September 855,5 April 823,N/A,29 September 855 N/A,Carolingian,Louis II,825,12 August 875,15 June 844,18 May 872,12 August 875 N/A,Carolingian,Charles II,13 June 823,6 October 877,29 December 875,N/A,6 October 877 N/A,Carolingian,Charles III,13 June 839,13 January 888,12 February 881,N/A,11 November 887 N/A,Widonid,Guy III,835,12 December 894,21 February 891,N/A,12 December 894 N/A,Widonid,Lambert I,880,15 October 898,30 April 892,N/A,15 October 898 N/A,Carolingian,Arnulph,850,8 December 899,22 February 896,N/A,8 December 899 N/A,Bosonid,Louis III,880,5 June 928,22 February 901,N/A,21 July 905 N/A,Unruoching,Berengar I,845,7 April 924,December 915,N/A,7 April 924 1,Ottonian,Otto I,23 November 912,7 May 973,2 February 962,N/A,7 May 973 2,Ottonian,Otto II,955,7 December 983,25 December 967,N/A,7 December 983 3,Ottonian,Otto III,980,23 January 1002,21 May 996,N/A,23 January 1002 4,Ottonian,Henry II,6 May 973,13 July 1024,14 February 1014,N/A,13 July 1024 5,Salian,Conrad II,990,4 June 1039,26 March 1027,N/A,4 June 1039 6,Salian,Henry III,29 October 1017,5 October 1056,25 December 1046,N/A,5 October 1056 7,Salian,Henry IV,11 November 1050,7 August 1106,31 March 1084,N/A,December 1105 8,Salian,Henry V,8 November 1086,23 May 1125,13 April 1111,N/A,23 May 1125 9,Supplinburg,Lothair III,9 June 1075,4 December 1137,4 June 1133,N/A,4 December 1137 10,Staufen,Frederick I,1122,10 June 1190,18 June 1155,N/A,10 June 1190 11,Staufen,Henry VI,November 1165,28 September 1197,14 April 1191,N/A,28 September 1197 12,Welf,Otto IV,1175,19 May 1218,4 October 1209,N/A,1215 13,Staufen,Frederick II,26 December 1194,13 December 1250,22 November 1220,N/A,13 December 1250 14,Luxembourg,Henry VII,1275,24 August 1313,29 June 1312,N/A,24 August 1313 15,Wittelsbach,Louis IV,1 April 1282,11 October 1347,17 January 1328,N/A,11 October 1347 16,Luxembourg,Charles IV,14 May 1316,29 November 1378,5 April 1355,N/A,29 November 1378 17,Luxembourg,Sigismund,14 February 1368,9 December 1437,31 May 1433,N/A,9 December 1437 18,Habsburg,Frederick III,21 September 1415,19 August 1493,19 March 1452,N/A,19 August 1493 19,Habsburg,Maximilian I,22 March 1459,12 January 1519,N/A,N/A,12 January 1519 20,Habsburg,Charles V,24 February 1500,21 September 1558,February 1530,N/A,16 January 1556 21,Habsburg,Ferdinand I,10 March 1503,25 July 1564,N/A,N/A,25 July 1564 22,Habsburg,Maximilian II,31 July 1527,12 October 1576,N/A,N/A,12 October 1576 23,Habsburg,Rudolph II,18 July 1552,20 January 1612,30 June 1575,N/A,20 January 1612 24,Habsburg,Matthias,24 February 1557,20 March 1619,23 January 1612,N/A,20 March 1619 25,Habsburg,Ferdinand II,9 July 1578,15 February 1637,10 March 1619,N/A,15 February 1637 26,Habsburg,Ferdinand III,13 July 1608,2 April 1657,18 November 1637,N/A,2 April 1657 27,Habsburg,Leopold I,9 June 1640,5 May 1705,6 March 1657,N/A,5 May 1705 28,Habsburg,Joseph I,26 July 1678,17 April 1711,1 May 1705,N/A,17 April 1711 29,Habsburg,Charles VI,1 October 1685,20 October 1740,22 December 1711,N/A,20 October 1740 30,Wittelsbach,Charles VII,6 August 1697,20 January 1745,12 February 1742,N/A,20 January 1745 31,Lorraine,Francis I,8 December 1708,18 August 1765,N/A,N/A,18 August 1765 32,Habsburg-Lorraine,Joseph II,13 March 1741,20 February 1790,19 August 1765,N/A,20 February 1790 33,Habsburg-Lorraine,Leopold II,5 May 1747,1 March 1792,N/A,N/A,1 March 1792 34,Habsburg-Lorraine,Francis II,12 February 1768,2 March 1835,4 March 1792,N/A,6 August 1806 \ No newline at end of file
+Ix,Dynasty,Name,Birth,Death,Coronation 1,Coronation 2,Ceased to be Emperor
+N/A,Carolingian,Charles I,2 April 742,28 January 814,25 December 800,N/A,28 January 814
+N/A,Carolingian,Louis I,778,20 June 840,11 September 813,5 October 816,20 June 840
+N/A,Carolingian,Lothair I,795,29 September 855,5 April 823,N/A,29 September 855
+N/A,Carolingian,Louis II,825,12 August 875,15 June 844,18 May 872,12 August 875
+N/A,Carolingian,Charles II,13 June 823,6 October 877,29 December 875,N/A,6 October 877
+N/A,Carolingian,Charles III,13 June 839,13 January 888,12 February 881,N/A,11 November 887
+N/A,Widonid,Guy III,835,12 December 894,21 February 891,N/A,12 December 894
+N/A,Widonid,Lambert I,880,15 October 898,30 April 892,N/A,15 October 898
+N/A,Carolingian,Arnulph,850,8 December 899,22 February 896,N/A,8 December 899
+N/A,Bosonid,Louis III,880,5 June 928,22 February 901,N/A,21 July 905
+N/A,Unruoching,Berengar I,845,7 April 924,December 915,N/A,7 April 924
+1,Ottonian,Otto I,23 November 912,7 May 973,2 February 962,N/A,7 May 973
+2,Ottonian,Otto II,955,7 December 983,25 December 967,N/A,7 December 983
+3,Ottonian,Otto III,980,23 January 1002,21 May 996,N/A,23 January 1002
+4,Ottonian,Henry II,6 May 973,13 July 1024,14 February 1014,N/A,13 July 1024
+5,Salian,Conrad II,990,4 June 1039,26 March 1027,N/A,4 June 1039
+6,Salian,Henry III,29 October 1017,5 October 1056,25 December 1046,N/A,5 October 1056
+7,Salian,Henry IV,11 November 1050,7 August 1106,31 March 1084,N/A,December 1105
+8,Salian,Henry V,8 November 1086,23 May 1125,13 April 1111,N/A,23 May 1125
+9,Supplinburg,Lothair III,9 June 1075,4 December 1137,4 June 1133,N/A,4 December 1137
+10,Staufen,Frederick I,1122,10 June 1190,18 June 1155,N/A,10 June 1190
+11,Staufen,Henry VI,November 1165,28 September 1197,14 April 1191,N/A,28 September 1197
+12,Welf,Otto IV,1175,19 May 1218,4 October 1209,N/A,1215
+13,Staufen,Frederick II,26 December 1194,13 December 1250,22 November 1220,N/A,13 December 1250
+14,Luxembourg,Henry VII,1275,24 August 1313,29 June 1312,N/A,24 August 1313
+15,Wittelsbach,Louis IV,1 April 1282,11 October 1347,17 January 1328,N/A,11 October 1347
+16,Luxembourg,Charles IV,14 May 1316,29 November 1378,5 April 1355,N/A,29 November 1378
+17,Luxembourg,Sigismund,14 February 1368,9 December 1437,31 May 1433,N/A,9 December 1437
+18,Habsburg,Frederick III,21 September 1415,19 August 1493,19 March 1452,N/A,19 August 1493
+19,Habsburg,Maximilian I,22 March 1459,12 January 1519,N/A,N/A,12 January 1519
+20,Habsburg,Charles V,24 February 1500,21 September 1558,February 1530,N/A,16 January 1556
+21,Habsburg,Ferdinand I,10 March 1503,25 July 1564,N/A,N/A,25 July 1564
+22,Habsburg,Maximilian II,31 July 1527,12 October 1576,N/A,N/A,12 October 1576
+23,Habsburg,Rudolph II,18 July 1552,20 January 1612,30 June 1575,N/A,20 January 1612
+24,Habsburg,Matthias,24 February 1557,20 March 1619,23 January 1612,N/A,20 March 1619
+25,Habsburg,Ferdinand II,9 July 1578,15 February 1637,10 March 1619,N/A,15 February 1637
+26,Habsburg,Ferdinand III,13 July 1608,2 April 1657,18 November 1637,N/A,2 April 1657
+27,Habsburg,Leopold I,9 June 1640,5 May 1705,6 March 1657,N/A,5 May 1705
+28,Habsburg,Joseph I,26 July 1678,17 April 1711,1 May 1705,N/A,17 April 1711
+29,Habsburg,Charles VI,1 October 1685,20 October 1740,22 December 1711,N/A,20 October 1740
+30,Wittelsbach,Charles VII,6 August 1697,20 January 1745,12 February 1742,N/A,20 January 1745
+31,Lorraine,Francis I,8 December 1708,18 August 1765,N/A,N/A,18 August 1765
+32,Habsburg-Lorraine,Joseph II,13 March 1741,20 February 1790,19 August 1765,N/A,20 February 1790
+33,Habsburg-Lorraine,Leopold II,5 May 1747,1 March 1792,N/A,N/A,1 March 1792
+34,Habsburg-Lorraine,Francis II,12 February 1768,2 March 1835,4 March 1792,N/A,6 August 1806