From 717d099842a4b133c12cfa32636634766f6bc197 Mon Sep 17 00:00:00 2001 From: Boris Verkhovskiy Date: Tue, 14 May 2024 17:51:24 -0600 Subject: [PATCH] Fix newlines --- es-es/make-es.html.markdown | 520 ++++++++++++++++++------------------ hre.csv | 47 +++- 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 `. -# De lo contrario, se utiliza `make -f "nombre_archivo" ` - -# Advertencia: ¡solo use TABULACIONES para la identación en Makefiles, nunca -# espacios! - -#----------------------------------------------------------------------- -# Fundamentos -#----------------------------------------------------------------------- - -# Las reglas tienen el formato -# objetivo: -# 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 `. +# De lo contrario, se utiliza `make -f "nombre_archivo" ` + +# Advertencia: ¡solo use TABULACIONES para la identación en Makefiles, nunca +# espacios! + +#----------------------------------------------------------------------- +# Fundamentos +#----------------------------------------------------------------------- + +# Las reglas tienen el formato +# objetivo: +# 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