Wikisource eswikisource https://es.wikisource.org/wiki/Portada MediaWiki 1.47.0-wmf.5 first-letter Medio Especial Discusión Usuario Usuario discusión Wikisource Wikisource discusión Archivo Archivo discusión MediaWiki MediaWiki discusión Plantilla Plantilla discusión Ayuda Ayuda discusión Categoría Categoría discusión Portal Portal discusión Página Página Discusión Índice Índice Discusión Autor Autor discusión TimedText TimedText talk Módulo Módulo discusión Evento Evento discusión Autor:Andrés Bello 106 3827 1664213 1497244 2026-06-06T01:00:10Z Ignacio Rodríguez 3603 1664213 wikitext text/x-wiki {{biocitas |Texto='''Andrés de Jesús María y José Bello López'''<br /> (30 de [[noviembre]] de 1780 - 15 de [[octubre]] de 1865). <br />Poeta, filólogo, educador y jurista [[portal:Venezuela|venezolano]] - [[portal:Chile|chileno]]. |Documentos={{PAGENAME}} }} == Obras == * Calendario manual y guía universal de forasteros en Venezuela para el año de 1810 (publ. en 1810) * [[Resumen de la Historia de Venezuela]] (1810) * Principios del Derecho de Jentes (1832) * Principios de la ortología y métrica de la lengua castellana (1835) * Gramática de la lengua latina (1838) * Análisis ideológico de los Tiempos de Conjugación Castellana (publicado en 1841) * El incendio de la Compañía (canto elegíaco, 1841) * [[Gramática de la lengua castellana destinada al uso de los americanos]] (1847) * Cosmografía o descripción del universo conforme a los últimos descubrimientos (1848) * Compendio de la historia de la literatura (1850, {{at|Obras completas de don Andrés Bello - IA obrascompletasde06belluoft.pdf}} * Código Civil Chileno (1855) === Documentos === * [[Discurso en la inauguración de la Universidad de Chile]] (1843) * [[Mensaje del Ejecutivo al Congreso proponiendo la aprobación del Código Civil de la República de Chile|Mensaje del Ejecutivo al Congreso proponiendo la aprobación del Código Civil de Chile]] (1855) === Poemas === ''Ordenados alfabéticamente. Se indica en cursiva el primer verso.'' * [[A la nave]] (''¿Qué nuevas esperanzas'') * [[A la vacuna]] (''Vasconcelos ilustre, en cuyas manos'') * [[A un samán]] (''Árbol bello, ¿quién te trajo'') * [[Alocución a la Poesía]] (1823) ('' Divina Poesía,'') * [[Canción a la disolución de Colombia]] (''Deja, discordia bárbara, el terreno'') * [[Carta (Escrita de Londres a París por un americano a otro)]] (''Es fuerza que te diga, caro Olmedo,'') * [[Égloga (Andrés Bello)|Égloga]] (''Tirsis, habitador del Tajo umbrío'') * [[El Anauco]] (''Irrite la codicia'') * [[El cóndor y el poeta]] (''-Escucha, amigo Cóndor, mi exorcismo;'') * [[Himno a Colombia]] (''Otra vez con cadenas y muerte'') * [[La oración por todos]] (1843) (''Ve a rezar, hija mía. Ya es la hora'') * [[Las ovejas]] (''Líbranos de la fiera tiranía'') * [[Los duendes (Bello)|Los duendes]] (''No bulle la selva;'') * [[Miserere]] (''Piedad, piedad, Dios mio'') * [[No para mí, del arrugado invierno]] * [[Silva a la agricultura de la zona tórrida]] (''¡Salve, fecunda zona'') === Sonetos === ''Ordenados alfabéticamente. Se indica en cursiva el primer verso.'' * [[A la victoria de Bailén]] (''Rompe el león soberbio la cadena'') * [[A un artista (Bello)|A un artista]] (''Nunca más bella iluminó la aurora'') * [[Dios me tenga en gloria]] (''Lleno de susto un pobre cabecilla'') * [[Mis deseos (Bello)|Mis deseos]] (''Sabes, rubia, ¿qué gracia solicito'') * [[Y posible será que destinado]] === Traducciones === * Teresa (drama en prosa y en cinco actos, por Alejandro Dumas, traducido al castellano por don Andrés Bello, 1846) === Publicaciones en diarios y revistas === * [[Las repúblicas hispanoamericanas: Autonomía cultural]] (1836) * [[Aniversario de la victoria de Chacabuco]] (1842) * [[Modo de estudiar la historia]] (1848) [[Categoría:Autores venezolanos]] [[Categoría:Autores chilenos]] qq0od5shqps2qvpa9n78n4xzs8oncj9 Portal:Real Academia Española 100 26675 1664209 1552908 2026-06-06T00:29:33Z Ignacio Rodríguez 3603 1664209 wikitext text/x-wiki {{Interwiki-Link |Wikcionario=RAE }} La '''Real Academia Española''' ('''RAE''') es una institución cultural con sede en [[Madrid]] ([[España]]). Esta y otras veintitrés academias de la Lengua correspondientes a cada uno de los países donde se habla el español conforman la ''Asociación de Academias de la Lengua Española'' (ASALE). Fue fundada en 1713 por iniciativa de [[Juan Manuel Fernández Pacheco]], marqués de Villena y duque de Escalona, con el propósito de «fijar las voces y vocablos de la lengua castellana en su mayor propiedad, elegancia y pureza». {{bc| [[Archivo:Estatutos rae 1715big.jpg|250px|center|frameless]] {{c|Portada de la primera edición de Fundación y <br>estatutos de la Real Academia Española (1715)|serif}}}} == Obras == * [[Ortografía de la lengua castellana]] * {{cita libro|título=[[Gramática de la lengua castellana (1771)|Gramática de la Lengua Castellana]]|edición=1ª|año=1771|lugar=Madrid|editorial=[[Imprenta de Joaquín Ibarra]]}} {{at|Gramática de la lengua castellana - RAE - 1771.djvu}} * {{cita libro|título=Gramática de la Lengua Castellana|año=1917|lugar=Madrid|editorial=Perlado, Páez y Cía., Sucesores de Hernando }} {{at|Gramática de la lengua castellana - RAE - 1917.djvu}} * [[Diccionario de autoridades. Tomo I]] (1726) * {{cita libro|título=Memorias de la Academia Española|otros=En 4 volúmenes|año=1870-1873|lugar=Madrid|editorial=[[Imprenta de Rivadeneyra]]}} A transcribir: {{at|Memorias de la Academia Española - Año I - Tomo I.djvu|Año I - Tomo I}} {{at|Memorias de la Academia Española - Año I - Tomo II.djvu|Año I - Tomo II}} {{at|Memorias de la Academia Española - Año II - Tomo III.djvu|Año II - Tomo III}} {{at|Memorias de la Academia Española - Tomo IV.djvu|Tomo IV}} === Recopilaciones === * {{cita libro|título=Obras de Lope de Vega|otros= En 15 volúmenes|lugar=Madrid|año=1890-1913|editorial=[[Real Academia Española]]}} A transcribir: {{at|Obras de Lope de Vega (RAE) - Tomo I - 1890.djvu|Tomo I}} {{at|Obras de Lope de Vega (RAE) - Tomo II - 1892.djvu|Tomo II}} {{at|Obras de Lope de Vega (RAE) - Tomo III - 1893.djvu|Tomo III}} {{at|Obras de Lope de Vega (RAE) - Tomo IV - 1894.djvu|Tomo IV}} {{at|Obras de Lope de Vega (RAE) - Tomo V - 1895.djvu|Tomo V}} {{at|Obras de Lope de Vega (RAE) - Tomo VI - 1896.djvu|Tomo VI}} {{at|Obras de Lope de Vega (RAE) - Tomo VII - 1897.djvu|Tomo VII}} {{at|Obras de Lope de Vega (RAE) - Tomo VIII - 1898.djvu|Tomo VIII}} {{at|Obras de Lope de Vega (RAE) - Tomo IX - 1899.djvu|Tomo IX}} {{at|Obras de Lope de Vega (RAE) - Tomo X - 1899.djvu|Tomo X}} {{at|Obras de Lope de Vega (RAE) - Tomo XI - 1900.djvu|Tomo XI}} {{at|Obras de Lope de Vega (RAE) - Tomo XII - 1901.djvu|Tomo XII}} {{at|Obras de Lope de Vega (RAE) - Tomo XIII - 1902.djvu|Tomo XIII}} {{at|Obras de Lope de Vega (RAE) - Tomo XIV - 1913.djvu|Tomo XIV}} {{at|Obras de Lope de Vega (RAE) - Tomo XV - 1913.djvu|Tomo XV}} * {{cita libro|título=Obras de Lope de Vega|otros=Prólogo de [[Emilio Cotarelo]]. En 13 volúmenes|lugar=Madrid|año=1916-1930|editorial=[[Real Academia Española]]|edición=Nueva}} A transcribir: {{at|Obras de Lope de Vega (RAE) - Tomo I.djvu|Tomo I}} {{at|Obras de Lope de Vega (RAE) - Tomo II.djvu|Tomo II}} {{at|Obras de Lope de Vega (RAE) - Tomo III.djvu|Tomo III}} {{at|Obras de Lope de Vega (RAE) - Tomo IV.djvu|Tomo IV}} {{at|Obras de Lope de Vega (RAE) - Tomo V.djvu|Tomo V}} == Otras obras == ''(No están disponibles en Wikisource por el momento) * Ortografía de la Lengua Castellana »» [[Imprenta de la viuda de Ibarra]] (1792) * Obras de [[Nicomedes Pastor Díaz]] - Tomo I »» [[Imprenta de Manuel Tello]] (1866) [[Categoría:Real Academia Española| *]] 6yi7e3ld597dj5lo8zok79h49rpe7vn Página:ACEC TomoIV Libro III SerieII.djvu/524 102 144907 1664178 1361657 2026-06-05T20:29:01Z SpikeShroom 83647 /* Sin texto */ 1664178 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Wikisource:Café 4 202708 1664121 1663492 2026-06-05T16:33:14Z Sucdemagrana 49771 Sección nueva: /* Error de Lua */ 1664121 wikitext text/x-wiki {{Pestañas |pestaña-1= Qué es Wikisource |enlace-1=Wikisource:Qué es Wikisource |pestaña-2= Políticas |enlace-2=Wikisource:Políticas |pestaña-3= Comunidad |enlace-3 = Wikisource:Portal de la comunidad |pestaña-4= Consultas |enlace-4=Wikisource:Consultas |pestaña-5=Ayuda |enlace-5=Wikisource:Mapa de ayuda |pestaña-6=Café |enlace-6=Wikisource:Café }} {{Wikisource encabe |titulo=Café<br><span class="plainlinks">[http://webchat.freenode.net/?channels=wikisource-es {{menor|Chat en vivo}}]</span>[[Archivo:Internet-group-chat.svg|frameless|upright=.08]] }}__NEWSECTIONLINK__ {{Atajos|WS:C|WS:CF|WS:CAFE|WS:CAFÉ}} {{:Wikisource:Café/Encabezado}}{{:Wikisource:Café/Presentación}}[[Categoría:Wikisource|Café]] {{Usuario:MABot/config |archive = Wikisource:Café/Archivo %(year)s |algo = old(60d) |counter = 1 |archiveheader = }} == Ayuda con la lista de personajes == ¡Buenas! Vengo de nuevo con una pregunta. He transcrito [[Página:Rosario_de_Acu%C3%B1a_-_Amor_a_la_patria.djvu/8|esta página]], que contiene una lista de personajes de la obra y los actores, separados con puntos. He intentado hacerlo con la plantilla ICP, tratándolo como si fuera un índice, pero al ser la segunda columna varias palabras, las pone en líneas distintas en lugar de en la misma línea. Al final lo he dejado como puede verse, pero es un poco cutre. No sé si existe alguna otra plantilla como la de ICP, pero adecuada a este contexto. También me preguntaba si se puede hacer de alguna otra forma mejor la parte superior; la de «Personajes» y «Actores» con las dos líneas inferiores. ¡Gracias por la ayuda, y disculpad las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 23:37 1 abr 2026 (UTC) :Buenas! Mira cómo la dejé ahora, a ver si te parece mejor. Lo hice con una tabla. En estos casos, yo en lo personal prefiero sacrificar los "puntos" para simplificar la transcripción. Si quieres preservar los puntos, la plantilla {{ep|ICP}} tiene opciones para modificar los anchos de cada columna, aunque semánticamente una tabla de personajes no es un índice. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 11:32 2 abr 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Vale, acabo de verlo. Estoy de acuerdo que así se entiende mejor, prescindiendo de los puntos. Y tengo otra pregunta, a raíz de [[Página:Rosario_de_Acuña_-_Amor_a_la_patria.djvu/35|esta otra página]]. Dices que se pueden modificar los parámetros de {{ep|ICP}}, supongo que también se podrán modificar los de {{ep|pt/verso}}, para que {{may|Una voz}} quede en una sola línea, y no en dos. ¿Me puedes indicar cómo? [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 13:47 2 abr 2026 (UTC) :::{{ping|Sucdemagrana}}: no manejo mucho las plantillas de teatro, pero en este caso es un problema del manejo del ''whitespace'' por parte del navegador. Puedes cambiar el espacio por un ''non-breaking-space'' (<nowiki>&amp;nbsp;</nowiki>) . Pero, en general, yo prefiero trabajar "lo menos" usando los estilos CSS que se pueden [[Índice:Rosario de Acuña - Amor a la patria.djvu/styles.css|configurar a nivel del índice]]. Suena a mandarín al comienzo, pero después facilita mucho las cosas. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:11 2 abr 2026 (UTC) ::::{{ping|Ignacio Rodríguez}} Vaya, gracias. Está bien saber que se puede configurar así, y a la próxima me evito tener que añadir las versalitas a cada una de forma manual. Y ya la última pregunta con respecto a esta obra, que he terminado de transcribir a excepción de [[Página:Rosario de Acuña - Amor a la patria.djvu/4|esta]] y [[Página:Rosario de Acuña - Amor a la patria.djvu/41|esta]] páginas. ¿Este tipo de páginas es necesario transcribirlas? Porque si es así, no tengo muy claro cómo hacerlo, viendo cómo son. Supongo que con una tabla, como me has enseñado antes, pero tendría primero que investigar cómo se hacen. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:29 2 abr 2026 (UTC) :::::Completamente opcional. En estricto rigor no son parte de ''la obra'', sino un inserto de la editorial para publicidad. Habrá alguno que le interese y después enlace las obras que ya tenemos disponibles. No te mentiré que se vería genial, pero he visto en otras ocasiones que se marca la obra como "Corregida" sin corregir las páginas de publicidad. Si ya terminaste, no te olvides de marcar el índice como corregido, y luego publicar la obra en la {{ep|galería}} de la portada para que todos puedan verla. Saludos y muchas gracias por interesarte por este proyecto!! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:35 2 abr 2026 (UTC) :::::Publicada en [[Amor a la patria]] me di cuenta de un problema. Seguro que te das cuenta también. Tiene que ver con algo muy técnico y por esta vez lo voy a solucionar yo, que seguro me demoro muy poco. Si quieres revisa la solución después. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:40 2 abr 2026 (UTC) ::::::Sí, justo acabo de verlo. Venía a preguntar por ello. Si lo resuelves tú, te lo agradezco. Ahora miro cómo queda para las próximas. ¡Gracias por la ayuda, y perdón por las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:46 2 abr 2026 (UTC) :::::::Para nada son molestias. Me encanta que existan otros seres humanos hispanohablantes dispuestos a meterse a un proyecto tan especial y al que le tengo tanto cariño. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:49 2 abr 2026 (UTC) == Sobre las imágenes centradas en el texto == Buenas, de nuevo. Vengo con otra pregunta; esta vez relacionada con las imágenes. Me ha surgido la duda con [[P%C3%A1gina:Manual_de_histolog%C3%ADa_normal_y_t%C3%A9cnica_microgr%C3%A1fica_-_bdh0000191874.pdf/36|esta página]], aunque creo recordar que no es la primera del estilo que he hecho. En el texto original, se corta el párrafo a mitad para introducir la imagen, y eso es lo que he hecho yo también. Mi duda viene porque en la [[Ayuda:Imágenes|página de ayuda sobre imágenes]] se incluye un apartado que reza: «Las imágenes que se incluyan centradas pueden dar la sensación de interrumpir el texto.», pero no indica realmente si se debe mantener como tal o si debemos adaptarlo a la hora de transcribir. Por otro lado, quería que me dijerais si la forma de hacer el pie de imagen está bien como la he hecho, o si se debería hacer de alguna otra manera. Gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:19 6 abr 2026 (UTC) :Como lo hiciste está bien. También podrías moverla a la derecha o izquierda, y así el texto fluiría bien. Si bien apuntamos a reproducir las ediciones lo más fielmente posible, no apuntamos a hacer facsímiles o fotocopias (para eso están las fotocopiadoras). Si quieres ser más fino, tenemos algunas plantillas que sirven para "respetar" el texto sin interrumpirlo, que no están muy bien documentadas, como {{ep|img float}}. Creo que ahora voy a agregar algún apartado en [[Ayuda:Imágenes]] para explicarlo. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:48 6 abr 2026 (UTC) == Criminología moderna -revista- Ayuda == Hola. Escribo en el café porque estoy un poco sobrepasada de trabajo y no puedo acabar con un proyecto que he empezado. Os cuento, por si alguien se anima, le gusta y lo quiere continuar. Os cuento: Una biblioteca italiana ha subido a commons varios números de una revista en español "[https://commons.wikimedia.org/wiki/Category:Media_from_museo_civico_archeologico_(Rosignano_Marittimo) Criminología moderna]", fechada en 1899. Ya he creado el índice en [https://es.wikisource.org/wiki/Criminolog%C3%ADa_moderna Wikisource] y he comenzado con la transcripción. Pero como os comento estoy desbordada laboralmente y lo he dejado estancado. Igual alguien se anima y lo puede continuar. ¡Gracias!! [[Usuario:Centenoyespelta|Centenoyespelta]] ([[Usuario discusión:Centenoyespelta|discusión]]) 17:46 12 abr 2026 (UTC) :@[[Usuario:Centenoyespelta|Centenoyespelta]], gracias por avisar. Así como está, el proyecto no está muy atractivo como para continuarlo. Es un ''dump'' de la transcripción por máquina con muy poca corrección. Voy a hacer algo: dejar el proyecto en condiciones de aportar. Seguro que si en un futuro te animas, cuando vuelvas va a ser mucho más fácil aportar. Te esperamos! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 23:38 12 abr 2026 (UTC) == Posición de la imagen == Hola de nuevo. Vengo a ver si me podéis ayudar a colocar la imagen que aparece debajo del texto del autor en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/5|esta página]]. Está centrada con el texto pero no con la página y por tanto no sé cómo colocarla. De momento la he puesto alineada a la derecha, pero no tiene el efecto visual del original. Probablemente da un poco igual, pero supongo que hay una manera de hacerlo y simplemente no sé cómo, por lo que si me podéis ayudar, así lo aprendo para la próxima. Y aprovecho para hacer otra pregunta. En la [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/7|página siguiente]] aparece una «copia del grabado de Aliprand Capriolo», que se corresponde con [https://commons.wikimedia.org/wiki/File:Cristoforo_Colombo,_governatore_delle_Indie_(cropped).jpg esta imagen]. ¿Debería poner la original (con mayor calidad que la copia que presenta el libro) o la que aparece en el archivo que estoy transcribiendo? ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 19:12 14 abr 2026 (UTC) :{{ping|Sucdemagrana}} ¡Hola! No sé muy bien por qué, pero parece que se centra (dentro del bloque a la derecha) si la imagen se precede de <code><nowiki>{>}</nowiki></code> o de <code><nowiki>{<}</nowiki></code> (p.ej. <code><nowiki>{>}[[Archivo:...etc.]]</nowiki></code>). :Lo de la imagen, viendo que es la mismita, yo personalmente reaprovecharía la que ya hay en Commons (que de hecho, esa es una de sus funciones: reaprovechar imágenes). Si subimos una de peor calidad, pero es por culpa de la digitalización, pues no le veo demasiado sentido. Por ese motivo precisamente, recuerdo que reaproveché muchas imágenes en [[El Robinson suizo]] (el problema es que hay que perder mucho tiempo buscándolas en Commons; aunque ahora los buscadores como images.google.com o tineye.com facilitan la tarea). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 19:26 15 abr 2026 (UTC) ::{{ping|Aleator}} ¡Gracias! Pues utilizaré la que ya está en Commons. Y luego, con respecto a lo centrarlo en el bloque, lo he intentado pero no consigo que se quede donde pretendo; se me queda o bien a la derecha del todo o bien en el centro de la página entera (y no del bloque de texto). No sé si es que no te he entendido bien o que por algún tema del aspecto que tengamos seleccionado pueda cambiar. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:26 15 abr 2026 (UTC) :::{{Ping|Sucdemagrana}} Sobre el problema de la imagen, tiene que ver con cómo el software muestra las imágenes. Modifiqué un poco el [[Módulo:Título]] para poder mostrar este caso mejor. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:09 15 abr 2026 (UTC) == Alinear leyenda == Siento ser tan pesado, pero me van surgiendo dudas según voy intentando hacer cosas nuevas. En esta ocasión he intentado utilizar la plantilla [[:Plantilla:Img float|Img float]] para poner la leyenda a la imagen que aparece en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/11|esta página]]. Si alineo la leyenda a la derecha, la imagen deja de estar centrada, a pesar de que no haya quitado el "align=center". No sé si se trata de un error de la propia plantilla, o mío que estoy haciendo algo mal. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:49 15 abr 2026 (UTC) : Esto es un error en {{ep|img float}}, tengo que ver cómo resolverlo. Si no lo hago ahora en unos minutos lo tendré que dejar para otro día, pero me queda pendiente. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:11 15 abr 2026 (UTC) ::Pensándolo mejor, no es un problema que pueda resolverse ahora. La plantilla {{ep|img float}} centrada simula un bloque usando un elemento {{tag|span}} con ancho al 100%. El texto alineado a la derecha "se lleva" la imagen. Para este caso deberás usar un bloque convencional. Lo cambio en la página y lo puedes mirar cómo quedó. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:16 15 abr 2026 (UTC) :::Vale, muchas gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:21 15 abr 2026 (UTC) == RIP "Book Tool" == Acabo de darme cuenta de que la herramienta "Libro" ([[Special:Book]]) está desactivada. También en otros Wikisources: [[:en:Special:Book]], [[:fr:Special:Book]] o [[:it:Special:Book]]. En cambio en las Wikipedias funciona (p.ej. [[:w:Special:Book]]). Propongo hacer como en Wikipedia en inglés (aunque allá funciona: [[:w:en:Special:Book]], [[:w:en:Help:Books]]), que es borrar todos los "libros": los 46 de [[:Categoría:Wikisource:Libros]] y la propia categoría, la [[:Categoría:Excluir al imprimir]], {{ep|Libro guardado}}, {{ep|Plantilla:Ocultar en impresión}} y [[Ayuda:Libros]] (mejor redirigirla a [[Ayuda:Índices]]). -[[Usuario Discusión:Aleator|Aleator]] 18:57 17 abr 2026 (UTC) :{{hecho}} [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 16:42 1 may 2026 (UTC) == Mejoras en {{ep|ICP/pruebas}} == Hola, estoy ensayando algunas mejoras en el [[Módulo:ICP/pruebas]]. Se las presento para consultarles antes de hacer cambios. ;Modificadores "en línea": En la línea de las plantillas {{ep|título}} y {{ep|poema}}, agrego un modificador "en línea" para cambiar el número de elementos de la fila actual, con formato {n 1} donde 1 es el número de elementos. Sólo funciona si lo agregamos en el primer elemento de la fila. :Ejemplo: {{demo|<nowiki> {{ICP/pruebas |{n 1} {{C|SECCION PRIMERA}} |I|Capitulo I con muchas cosas|1 |{n 1} {{c|SECCION SEGUNDA}} |II|Capitulo II, etc...|10 |III|et cétera|15 }}</nowiki>}} ;Soporte para "sangrado" usando dos puntos: En la misma línea, para el formato fácil de índices complejos con títulos de múltiples niveles, usando los dos puntos (:) como en <poem>as :Ejemplo: {{demo|<nowiki> {{ICP/pruebas|n=2|sangría=4em |Capitulo I|1 |:'''Sub-Capitulo 1''': {{lorem ipsum}}|1 |::'''Sub-sub-Capitulo A''': {{lorem ipsum}}|2 }}</nowiki>}} :La gracia es que respeta la "sangría francesa" o colgante, y además debería mantener la misma magnitud especificada en el parámetro {{parámetro|sangría}} Espero sus comentarios, aportes, críticas, pruebas, reportes de errores. En algún tiempo de no ver oposición lo pasaré ''a producción''. Saludos, [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 17:04 1 may 2026 (UTC) : Me parece muy útil lo primero, para poder añadir las secciones sin tener que cerrar y volver a abrir la plantilla o sin que sea muy complicado. Y lo de la sangría también está bien, para índices con ese tipo de subdivisión. ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 18:54 1 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} ¡Genial! He probado algunas cosillas y resiste bien. ¡Gracias! -[[Usuario Discusión:Aleator|Aleator]] 17:33 2 may 2026 (UTC) :::Entonces no me aguanté más y {{hecho|lo hice}}. Pueden ver un resultado en vivo en [[Página:El Capital (1898).pdf/687]] [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 15:34 3 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Haciendo los cambios pertinentes [[Página:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf/700|en este índice]], he añadido alguna línea <nowiki>{n 1} {{brecha}}</nowiki> para poder añadir líneas en blanco para respetar la estética de la página. No sé si hay algún comando para hacerlo más rápido, o si no debería hacerlo en absoluto. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:56 3 may 2026 (UTC) :::Si se ve bien, y no es muy complicado para ti, está bien :) [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:46 3 may 2026 (UTC) == Sobre los datos de la edición == ¡Buenas! Vengo con más preguntas. Acabo de terminar de transcribir [[Índice:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf|este índice]], y he creado [[El Archivo de Indias y la Biblioteca Colombina de Sevilla|la página correspondiente]]. Por un lado, quería pediros que echarais un vistazo a la página para comprobar que está bien hecho, ya que es la primera que hago (y, por ejemplo, no sé cómo añadir la caja de información al inicio de la página). Y luego, por otro lado, en este archivo concreto no pone la fecha ni lugar de publicación. Al parecer está escrito en 1914, ya que se refiere como "el diciembre último" a un acto que sabemos tuvo lugar el 19 de diciembre de 1913. Sin embargo, no consta como tal en el documento acogido en Commons ni en otra copia digitalizada por la BNE; por lo que no sé si se debe poner en la fecha "1914" o "1914?" (como estaba cuando empecé a transcribir el documento) o "ca. 1914", y si debe añadirse la categoría P1914 o no. Tampoco consta el lugar de publicación. Es de la "Tipografía La Académica", pero haciendo una rápida búsqueda en algunos documentos digitalizados de la BNE, he encontrado que hay al menos dos tipografías por ese nombre, una en Zaragoza y una en Barcelona; y no he encontrado el logo que está en este documento en ninguno de los otros, para poder averiguar de cuál se trata. En el índice consta Barcelona porque se extrae de los metadatos de Wikidata, pero no sé si es correcto ya que está enlazado a una de las tipografías, desconociendo si es la correcta. Probablemente son preguntas sin mucha importancia, pero quiero saber cuál es la forma de actuación que seguís aquí en caso de datos faltantes o estimados. Perdón por las molestias; un saludo. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 15:33 4 may 2026 (UTC) :{{ping|Sucdemagrana}} ¡Buenas! Para la "cabecera", hay que añadir "header=1" dentro de la etiqueta "pages", o sea, <code><nowiki><pages index="El Archivo de... (etc.).pdf" from=1 to=55 exclude=3 header=1 /></nowiki></code>. :Para la fecha, yo utilizaría el ''[[:w:circa|circa]]''. En Wikidata yo lo pongo como en [https://www.wikidata.org/wiki/Q137821818#P577 este ejemplo]. Y si lo informas en el índice, con la plantilla {{tl|circa}}. La [[:Categoría:P1914]] la pondrá automáticamente el [[Módulo:Encabezado]] porque estará siendo "invocado" por haber añadido "header=1". :Sobre la tipografía... quizás se pueda hacer algo parecido a "''circa''" o ''sine loco'' (no lo he mirado, pero quizás haya algún valor en Wikidata para el resto de [[:w:Anexo:Abreviaturas latinas en bibliografía científica|abreviaturas]]). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 17:01 4 may 2026 (UTC) == Servicio de remoción de cubiertas de Google en Commons == Paso aviso de que si a un archivo en Commons le agregan la [[:commons:Category:Book scans with Google Books cover sheets (to remove)|categoría correspondiente]], el bot [[:commons:User:YannBot|YannBot]] le quita la portada con la advertencia en libros que se subieron desde Google Books. Supuestamente si la transcripción está hecha o comenzada, reemplaza la página por una en blanco, para no perder la alineación con las Página:s. Voy a hacer una plantilla {{ep|páginas Google}} para marcar índices que encuentren con ese problema, y pedirle al bot que haga las gestiones. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 04:02 25 may 2026 (UTC) == Error de Lua == ¡Buenas! Al entrar en [[Índice:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf|este índice]] en el que he estado trabajando, me aparece ahora un "Error de Lua". ¿Podéis mirar cuál es el problema? Yo es que no entiendo de Lua. Perdón, y gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:33 5 jun 2026 (UTC) 66hb4w2z8xoge34oybldh9lr7ud0622 1664122 1664121 2026-06-05T17:03:08Z Ignacio Rodríguez 3603 /* Error de Lua */ 1664122 wikitext text/x-wiki {{Pestañas |pestaña-1= Qué es Wikisource |enlace-1=Wikisource:Qué es Wikisource |pestaña-2= Políticas |enlace-2=Wikisource:Políticas |pestaña-3= Comunidad |enlace-3 = Wikisource:Portal de la comunidad |pestaña-4= Consultas |enlace-4=Wikisource:Consultas |pestaña-5=Ayuda |enlace-5=Wikisource:Mapa de ayuda |pestaña-6=Café |enlace-6=Wikisource:Café }} {{Wikisource encabe |titulo=Café<br><span class="plainlinks">[http://webchat.freenode.net/?channels=wikisource-es {{menor|Chat en vivo}}]</span>[[Archivo:Internet-group-chat.svg|frameless|upright=.08]] }}__NEWSECTIONLINK__ {{Atajos|WS:C|WS:CF|WS:CAFE|WS:CAFÉ}} {{:Wikisource:Café/Encabezado}}{{:Wikisource:Café/Presentación}}[[Categoría:Wikisource|Café]] {{Usuario:MABot/config |archive = Wikisource:Café/Archivo %(year)s |algo = old(60d) |counter = 1 |archiveheader = }} == Ayuda con la lista de personajes == ¡Buenas! Vengo de nuevo con una pregunta. He transcrito [[Página:Rosario_de_Acu%C3%B1a_-_Amor_a_la_patria.djvu/8|esta página]], que contiene una lista de personajes de la obra y los actores, separados con puntos. He intentado hacerlo con la plantilla ICP, tratándolo como si fuera un índice, pero al ser la segunda columna varias palabras, las pone en líneas distintas en lugar de en la misma línea. Al final lo he dejado como puede verse, pero es un poco cutre. No sé si existe alguna otra plantilla como la de ICP, pero adecuada a este contexto. También me preguntaba si se puede hacer de alguna otra forma mejor la parte superior; la de «Personajes» y «Actores» con las dos líneas inferiores. ¡Gracias por la ayuda, y disculpad las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 23:37 1 abr 2026 (UTC) :Buenas! Mira cómo la dejé ahora, a ver si te parece mejor. Lo hice con una tabla. En estos casos, yo en lo personal prefiero sacrificar los "puntos" para simplificar la transcripción. Si quieres preservar los puntos, la plantilla {{ep|ICP}} tiene opciones para modificar los anchos de cada columna, aunque semánticamente una tabla de personajes no es un índice. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 11:32 2 abr 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Vale, acabo de verlo. Estoy de acuerdo que así se entiende mejor, prescindiendo de los puntos. Y tengo otra pregunta, a raíz de [[Página:Rosario_de_Acuña_-_Amor_a_la_patria.djvu/35|esta otra página]]. Dices que se pueden modificar los parámetros de {{ep|ICP}}, supongo que también se podrán modificar los de {{ep|pt/verso}}, para que {{may|Una voz}} quede en una sola línea, y no en dos. ¿Me puedes indicar cómo? [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 13:47 2 abr 2026 (UTC) :::{{ping|Sucdemagrana}}: no manejo mucho las plantillas de teatro, pero en este caso es un problema del manejo del ''whitespace'' por parte del navegador. Puedes cambiar el espacio por un ''non-breaking-space'' (<nowiki>&amp;nbsp;</nowiki>) . Pero, en general, yo prefiero trabajar "lo menos" usando los estilos CSS que se pueden [[Índice:Rosario de Acuña - Amor a la patria.djvu/styles.css|configurar a nivel del índice]]. Suena a mandarín al comienzo, pero después facilita mucho las cosas. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:11 2 abr 2026 (UTC) ::::{{ping|Ignacio Rodríguez}} Vaya, gracias. Está bien saber que se puede configurar así, y a la próxima me evito tener que añadir las versalitas a cada una de forma manual. Y ya la última pregunta con respecto a esta obra, que he terminado de transcribir a excepción de [[Página:Rosario de Acuña - Amor a la patria.djvu/4|esta]] y [[Página:Rosario de Acuña - Amor a la patria.djvu/41|esta]] páginas. ¿Este tipo de páginas es necesario transcribirlas? Porque si es así, no tengo muy claro cómo hacerlo, viendo cómo son. Supongo que con una tabla, como me has enseñado antes, pero tendría primero que investigar cómo se hacen. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:29 2 abr 2026 (UTC) :::::Completamente opcional. En estricto rigor no son parte de ''la obra'', sino un inserto de la editorial para publicidad. Habrá alguno que le interese y después enlace las obras que ya tenemos disponibles. No te mentiré que se vería genial, pero he visto en otras ocasiones que se marca la obra como "Corregida" sin corregir las páginas de publicidad. Si ya terminaste, no te olvides de marcar el índice como corregido, y luego publicar la obra en la {{ep|galería}} de la portada para que todos puedan verla. Saludos y muchas gracias por interesarte por este proyecto!! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:35 2 abr 2026 (UTC) :::::Publicada en [[Amor a la patria]] me di cuenta de un problema. Seguro que te das cuenta también. Tiene que ver con algo muy técnico y por esta vez lo voy a solucionar yo, que seguro me demoro muy poco. Si quieres revisa la solución después. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:40 2 abr 2026 (UTC) ::::::Sí, justo acabo de verlo. Venía a preguntar por ello. Si lo resuelves tú, te lo agradezco. Ahora miro cómo queda para las próximas. ¡Gracias por la ayuda, y perdón por las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:46 2 abr 2026 (UTC) :::::::Para nada son molestias. Me encanta que existan otros seres humanos hispanohablantes dispuestos a meterse a un proyecto tan especial y al que le tengo tanto cariño. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:49 2 abr 2026 (UTC) == Sobre las imágenes centradas en el texto == Buenas, de nuevo. Vengo con otra pregunta; esta vez relacionada con las imágenes. Me ha surgido la duda con [[P%C3%A1gina:Manual_de_histolog%C3%ADa_normal_y_t%C3%A9cnica_microgr%C3%A1fica_-_bdh0000191874.pdf/36|esta página]], aunque creo recordar que no es la primera del estilo que he hecho. En el texto original, se corta el párrafo a mitad para introducir la imagen, y eso es lo que he hecho yo también. Mi duda viene porque en la [[Ayuda:Imágenes|página de ayuda sobre imágenes]] se incluye un apartado que reza: «Las imágenes que se incluyan centradas pueden dar la sensación de interrumpir el texto.», pero no indica realmente si se debe mantener como tal o si debemos adaptarlo a la hora de transcribir. Por otro lado, quería que me dijerais si la forma de hacer el pie de imagen está bien como la he hecho, o si se debería hacer de alguna otra manera. Gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:19 6 abr 2026 (UTC) :Como lo hiciste está bien. También podrías moverla a la derecha o izquierda, y así el texto fluiría bien. Si bien apuntamos a reproducir las ediciones lo más fielmente posible, no apuntamos a hacer facsímiles o fotocopias (para eso están las fotocopiadoras). Si quieres ser más fino, tenemos algunas plantillas que sirven para "respetar" el texto sin interrumpirlo, que no están muy bien documentadas, como {{ep|img float}}. Creo que ahora voy a agregar algún apartado en [[Ayuda:Imágenes]] para explicarlo. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:48 6 abr 2026 (UTC) == Criminología moderna -revista- Ayuda == Hola. Escribo en el café porque estoy un poco sobrepasada de trabajo y no puedo acabar con un proyecto que he empezado. Os cuento, por si alguien se anima, le gusta y lo quiere continuar. Os cuento: Una biblioteca italiana ha subido a commons varios números de una revista en español "[https://commons.wikimedia.org/wiki/Category:Media_from_museo_civico_archeologico_(Rosignano_Marittimo) Criminología moderna]", fechada en 1899. Ya he creado el índice en [https://es.wikisource.org/wiki/Criminolog%C3%ADa_moderna Wikisource] y he comenzado con la transcripción. Pero como os comento estoy desbordada laboralmente y lo he dejado estancado. Igual alguien se anima y lo puede continuar. ¡Gracias!! [[Usuario:Centenoyespelta|Centenoyespelta]] ([[Usuario discusión:Centenoyespelta|discusión]]) 17:46 12 abr 2026 (UTC) :@[[Usuario:Centenoyespelta|Centenoyespelta]], gracias por avisar. Así como está, el proyecto no está muy atractivo como para continuarlo. Es un ''dump'' de la transcripción por máquina con muy poca corrección. Voy a hacer algo: dejar el proyecto en condiciones de aportar. Seguro que si en un futuro te animas, cuando vuelvas va a ser mucho más fácil aportar. Te esperamos! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 23:38 12 abr 2026 (UTC) == Posición de la imagen == Hola de nuevo. Vengo a ver si me podéis ayudar a colocar la imagen que aparece debajo del texto del autor en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/5|esta página]]. Está centrada con el texto pero no con la página y por tanto no sé cómo colocarla. De momento la he puesto alineada a la derecha, pero no tiene el efecto visual del original. Probablemente da un poco igual, pero supongo que hay una manera de hacerlo y simplemente no sé cómo, por lo que si me podéis ayudar, así lo aprendo para la próxima. Y aprovecho para hacer otra pregunta. En la [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/7|página siguiente]] aparece una «copia del grabado de Aliprand Capriolo», que se corresponde con [https://commons.wikimedia.org/wiki/File:Cristoforo_Colombo,_governatore_delle_Indie_(cropped).jpg esta imagen]. ¿Debería poner la original (con mayor calidad que la copia que presenta el libro) o la que aparece en el archivo que estoy transcribiendo? ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 19:12 14 abr 2026 (UTC) :{{ping|Sucdemagrana}} ¡Hola! No sé muy bien por qué, pero parece que se centra (dentro del bloque a la derecha) si la imagen se precede de <code><nowiki>{>}</nowiki></code> o de <code><nowiki>{<}</nowiki></code> (p.ej. <code><nowiki>{>}[[Archivo:...etc.]]</nowiki></code>). :Lo de la imagen, viendo que es la mismita, yo personalmente reaprovecharía la que ya hay en Commons (que de hecho, esa es una de sus funciones: reaprovechar imágenes). Si subimos una de peor calidad, pero es por culpa de la digitalización, pues no le veo demasiado sentido. Por ese motivo precisamente, recuerdo que reaproveché muchas imágenes en [[El Robinson suizo]] (el problema es que hay que perder mucho tiempo buscándolas en Commons; aunque ahora los buscadores como images.google.com o tineye.com facilitan la tarea). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 19:26 15 abr 2026 (UTC) ::{{ping|Aleator}} ¡Gracias! Pues utilizaré la que ya está en Commons. Y luego, con respecto a lo centrarlo en el bloque, lo he intentado pero no consigo que se quede donde pretendo; se me queda o bien a la derecha del todo o bien en el centro de la página entera (y no del bloque de texto). No sé si es que no te he entendido bien o que por algún tema del aspecto que tengamos seleccionado pueda cambiar. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:26 15 abr 2026 (UTC) :::{{Ping|Sucdemagrana}} Sobre el problema de la imagen, tiene que ver con cómo el software muestra las imágenes. Modifiqué un poco el [[Módulo:Título]] para poder mostrar este caso mejor. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:09 15 abr 2026 (UTC) == Alinear leyenda == Siento ser tan pesado, pero me van surgiendo dudas según voy intentando hacer cosas nuevas. En esta ocasión he intentado utilizar la plantilla [[:Plantilla:Img float|Img float]] para poner la leyenda a la imagen que aparece en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/11|esta página]]. Si alineo la leyenda a la derecha, la imagen deja de estar centrada, a pesar de que no haya quitado el "align=center". No sé si se trata de un error de la propia plantilla, o mío que estoy haciendo algo mal. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:49 15 abr 2026 (UTC) : Esto es un error en {{ep|img float}}, tengo que ver cómo resolverlo. Si no lo hago ahora en unos minutos lo tendré que dejar para otro día, pero me queda pendiente. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:11 15 abr 2026 (UTC) ::Pensándolo mejor, no es un problema que pueda resolverse ahora. La plantilla {{ep|img float}} centrada simula un bloque usando un elemento {{tag|span}} con ancho al 100%. El texto alineado a la derecha "se lleva" la imagen. Para este caso deberás usar un bloque convencional. Lo cambio en la página y lo puedes mirar cómo quedó. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:16 15 abr 2026 (UTC) :::Vale, muchas gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:21 15 abr 2026 (UTC) == RIP "Book Tool" == Acabo de darme cuenta de que la herramienta "Libro" ([[Special:Book]]) está desactivada. También en otros Wikisources: [[:en:Special:Book]], [[:fr:Special:Book]] o [[:it:Special:Book]]. En cambio en las Wikipedias funciona (p.ej. [[:w:Special:Book]]). Propongo hacer como en Wikipedia en inglés (aunque allá funciona: [[:w:en:Special:Book]], [[:w:en:Help:Books]]), que es borrar todos los "libros": los 46 de [[:Categoría:Wikisource:Libros]] y la propia categoría, la [[:Categoría:Excluir al imprimir]], {{ep|Libro guardado}}, {{ep|Plantilla:Ocultar en impresión}} y [[Ayuda:Libros]] (mejor redirigirla a [[Ayuda:Índices]]). -[[Usuario Discusión:Aleator|Aleator]] 18:57 17 abr 2026 (UTC) :{{hecho}} [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 16:42 1 may 2026 (UTC) == Mejoras en {{ep|ICP/pruebas}} == Hola, estoy ensayando algunas mejoras en el [[Módulo:ICP/pruebas]]. Se las presento para consultarles antes de hacer cambios. ;Modificadores "en línea": En la línea de las plantillas {{ep|título}} y {{ep|poema}}, agrego un modificador "en línea" para cambiar el número de elementos de la fila actual, con formato {n 1} donde 1 es el número de elementos. Sólo funciona si lo agregamos en el primer elemento de la fila. :Ejemplo: {{demo|<nowiki> {{ICP/pruebas |{n 1} {{C|SECCION PRIMERA}} |I|Capitulo I con muchas cosas|1 |{n 1} {{c|SECCION SEGUNDA}} |II|Capitulo II, etc...|10 |III|et cétera|15 }}</nowiki>}} ;Soporte para "sangrado" usando dos puntos: En la misma línea, para el formato fácil de índices complejos con títulos de múltiples niveles, usando los dos puntos (:) como en <poem>as :Ejemplo: {{demo|<nowiki> {{ICP/pruebas|n=2|sangría=4em |Capitulo I|1 |:'''Sub-Capitulo 1''': {{lorem ipsum}}|1 |::'''Sub-sub-Capitulo A''': {{lorem ipsum}}|2 }}</nowiki>}} :La gracia es que respeta la "sangría francesa" o colgante, y además debería mantener la misma magnitud especificada en el parámetro {{parámetro|sangría}} Espero sus comentarios, aportes, críticas, pruebas, reportes de errores. En algún tiempo de no ver oposición lo pasaré ''a producción''. Saludos, [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 17:04 1 may 2026 (UTC) : Me parece muy útil lo primero, para poder añadir las secciones sin tener que cerrar y volver a abrir la plantilla o sin que sea muy complicado. Y lo de la sangría también está bien, para índices con ese tipo de subdivisión. ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 18:54 1 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} ¡Genial! He probado algunas cosillas y resiste bien. ¡Gracias! -[[Usuario Discusión:Aleator|Aleator]] 17:33 2 may 2026 (UTC) :::Entonces no me aguanté más y {{hecho|lo hice}}. Pueden ver un resultado en vivo en [[Página:El Capital (1898).pdf/687]] [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 15:34 3 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Haciendo los cambios pertinentes [[Página:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf/700|en este índice]], he añadido alguna línea <nowiki>{n 1} {{brecha}}</nowiki> para poder añadir líneas en blanco para respetar la estética de la página. No sé si hay algún comando para hacerlo más rápido, o si no debería hacerlo en absoluto. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:56 3 may 2026 (UTC) :::Si se ve bien, y no es muy complicado para ti, está bien :) [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:46 3 may 2026 (UTC) == Sobre los datos de la edición == ¡Buenas! Vengo con más preguntas. Acabo de terminar de transcribir [[Índice:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf|este índice]], y he creado [[El Archivo de Indias y la Biblioteca Colombina de Sevilla|la página correspondiente]]. Por un lado, quería pediros que echarais un vistazo a la página para comprobar que está bien hecho, ya que es la primera que hago (y, por ejemplo, no sé cómo añadir la caja de información al inicio de la página). Y luego, por otro lado, en este archivo concreto no pone la fecha ni lugar de publicación. Al parecer está escrito en 1914, ya que se refiere como "el diciembre último" a un acto que sabemos tuvo lugar el 19 de diciembre de 1913. Sin embargo, no consta como tal en el documento acogido en Commons ni en otra copia digitalizada por la BNE; por lo que no sé si se debe poner en la fecha "1914" o "1914?" (como estaba cuando empecé a transcribir el documento) o "ca. 1914", y si debe añadirse la categoría P1914 o no. Tampoco consta el lugar de publicación. Es de la "Tipografía La Académica", pero haciendo una rápida búsqueda en algunos documentos digitalizados de la BNE, he encontrado que hay al menos dos tipografías por ese nombre, una en Zaragoza y una en Barcelona; y no he encontrado el logo que está en este documento en ninguno de los otros, para poder averiguar de cuál se trata. En el índice consta Barcelona porque se extrae de los metadatos de Wikidata, pero no sé si es correcto ya que está enlazado a una de las tipografías, desconociendo si es la correcta. Probablemente son preguntas sin mucha importancia, pero quiero saber cuál es la forma de actuación que seguís aquí en caso de datos faltantes o estimados. Perdón por las molestias; un saludo. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 15:33 4 may 2026 (UTC) :{{ping|Sucdemagrana}} ¡Buenas! Para la "cabecera", hay que añadir "header=1" dentro de la etiqueta "pages", o sea, <code><nowiki><pages index="El Archivo de... (etc.).pdf" from=1 to=55 exclude=3 header=1 /></nowiki></code>. :Para la fecha, yo utilizaría el ''[[:w:circa|circa]]''. En Wikidata yo lo pongo como en [https://www.wikidata.org/wiki/Q137821818#P577 este ejemplo]. Y si lo informas en el índice, con la plantilla {{tl|circa}}. La [[:Categoría:P1914]] la pondrá automáticamente el [[Módulo:Encabezado]] porque estará siendo "invocado" por haber añadido "header=1". :Sobre la tipografía... quizás se pueda hacer algo parecido a "''circa''" o ''sine loco'' (no lo he mirado, pero quizás haya algún valor en Wikidata para el resto de [[:w:Anexo:Abreviaturas latinas en bibliografía científica|abreviaturas]]). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 17:01 4 may 2026 (UTC) == Servicio de remoción de cubiertas de Google en Commons == Paso aviso de que si a un archivo en Commons le agregan la [[:commons:Category:Book scans with Google Books cover sheets (to remove)|categoría correspondiente]], el bot [[:commons:User:YannBot|YannBot]] le quita la portada con la advertencia en libros que se subieron desde Google Books. Supuestamente si la transcripción está hecha o comenzada, reemplaza la página por una en blanco, para no perder la alineación con las Página:s. Voy a hacer una plantilla {{ep|páginas Google}} para marcar índices que encuentren con ese problema, y pedirle al bot que haga las gestiones. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 04:02 25 may 2026 (UTC) == Error de Lua == ¡Buenas! Al entrar en [[Índice:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf|este índice]] en el que he estado trabajando, me aparece ahora un "Error de Lua". ¿Podéis mirar cuál es el problema? Yo es que no entiendo de Lua. Perdón, y gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:33 5 jun 2026 (UTC) :@[[Usuario:Sucdemagrana|Sucdemagrana]]: Estimado, fue por una modificación que hice en un módulo lua y que luego revertí. Lamentablemente los índices se demoran mucho en actualizarse (de hecho, creo que no lo hacen en absoluto), así que hay que darle a editar, y guardar sin hacer ninguna modificación. Ya lo hice con ese índice, y disculpa las molestias. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 17:03 5 jun 2026 (UTC) eayo49yqa9tl5ooljfu7l1u1utuklf6 1664200 1664122 2026-06-05T23:20:08Z MABot 44742 Bot: archivo de 2 hilos (con una antigüedad de 60 días) en [[Wikisource:Café/Archivo 2026]] 1664200 wikitext text/x-wiki {{Pestañas |pestaña-1= Qué es Wikisource |enlace-1=Wikisource:Qué es Wikisource |pestaña-2= Políticas |enlace-2=Wikisource:Políticas |pestaña-3= Comunidad |enlace-3 = Wikisource:Portal de la comunidad |pestaña-4= Consultas |enlace-4=Wikisource:Consultas |pestaña-5=Ayuda |enlace-5=Wikisource:Mapa de ayuda |pestaña-6=Café |enlace-6=Wikisource:Café }} {{Wikisource encabe |titulo=Café<br><span class="plainlinks">[http://webchat.freenode.net/?channels=wikisource-es {{menor|Chat en vivo}}]</span>[[Archivo:Internet-group-chat.svg|frameless|upright=.08]] }}__NEWSECTIONLINK__ {{Atajos|WS:C|WS:CF|WS:CAFE|WS:CAFÉ}} {{:Wikisource:Café/Encabezado}}{{:Wikisource:Café/Presentación}}[[Categoría:Wikisource|Café]] {{Usuario:MABot/config |archive = Wikisource:Café/Archivo %(year)s |algo = old(60d) |counter = 1 |archiveheader = }} == Criminología moderna -revista- Ayuda == Hola. Escribo en el café porque estoy un poco sobrepasada de trabajo y no puedo acabar con un proyecto que he empezado. Os cuento, por si alguien se anima, le gusta y lo quiere continuar. Os cuento: Una biblioteca italiana ha subido a commons varios números de una revista en español "[https://commons.wikimedia.org/wiki/Category:Media_from_museo_civico_archeologico_(Rosignano_Marittimo) Criminología moderna]", fechada en 1899. Ya he creado el índice en [https://es.wikisource.org/wiki/Criminolog%C3%ADa_moderna Wikisource] y he comenzado con la transcripción. Pero como os comento estoy desbordada laboralmente y lo he dejado estancado. Igual alguien se anima y lo puede continuar. ¡Gracias!! [[Usuario:Centenoyespelta|Centenoyespelta]] ([[Usuario discusión:Centenoyespelta|discusión]]) 17:46 12 abr 2026 (UTC) :@[[Usuario:Centenoyespelta|Centenoyespelta]], gracias por avisar. Así como está, el proyecto no está muy atractivo como para continuarlo. Es un ''dump'' de la transcripción por máquina con muy poca corrección. Voy a hacer algo: dejar el proyecto en condiciones de aportar. Seguro que si en un futuro te animas, cuando vuelvas va a ser mucho más fácil aportar. Te esperamos! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 23:38 12 abr 2026 (UTC) == Posición de la imagen == Hola de nuevo. Vengo a ver si me podéis ayudar a colocar la imagen que aparece debajo del texto del autor en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/5|esta página]]. Está centrada con el texto pero no con la página y por tanto no sé cómo colocarla. De momento la he puesto alineada a la derecha, pero no tiene el efecto visual del original. Probablemente da un poco igual, pero supongo que hay una manera de hacerlo y simplemente no sé cómo, por lo que si me podéis ayudar, así lo aprendo para la próxima. Y aprovecho para hacer otra pregunta. En la [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/7|página siguiente]] aparece una «copia del grabado de Aliprand Capriolo», que se corresponde con [https://commons.wikimedia.org/wiki/File:Cristoforo_Colombo,_governatore_delle_Indie_(cropped).jpg esta imagen]. ¿Debería poner la original (con mayor calidad que la copia que presenta el libro) o la que aparece en el archivo que estoy transcribiendo? ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 19:12 14 abr 2026 (UTC) :{{ping|Sucdemagrana}} ¡Hola! No sé muy bien por qué, pero parece que se centra (dentro del bloque a la derecha) si la imagen se precede de <code><nowiki>{>}</nowiki></code> o de <code><nowiki>{<}</nowiki></code> (p.ej. <code><nowiki>{>}[[Archivo:...etc.]]</nowiki></code>). :Lo de la imagen, viendo que es la mismita, yo personalmente reaprovecharía la que ya hay en Commons (que de hecho, esa es una de sus funciones: reaprovechar imágenes). Si subimos una de peor calidad, pero es por culpa de la digitalización, pues no le veo demasiado sentido. Por ese motivo precisamente, recuerdo que reaproveché muchas imágenes en [[El Robinson suizo]] (el problema es que hay que perder mucho tiempo buscándolas en Commons; aunque ahora los buscadores como images.google.com o tineye.com facilitan la tarea). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 19:26 15 abr 2026 (UTC) ::{{ping|Aleator}} ¡Gracias! Pues utilizaré la que ya está en Commons. Y luego, con respecto a lo centrarlo en el bloque, lo he intentado pero no consigo que se quede donde pretendo; se me queda o bien a la derecha del todo o bien en el centro de la página entera (y no del bloque de texto). No sé si es que no te he entendido bien o que por algún tema del aspecto que tengamos seleccionado pueda cambiar. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:26 15 abr 2026 (UTC) :::{{Ping|Sucdemagrana}} Sobre el problema de la imagen, tiene que ver con cómo el software muestra las imágenes. Modifiqué un poco el [[Módulo:Título]] para poder mostrar este caso mejor. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:09 15 abr 2026 (UTC) == Alinear leyenda == Siento ser tan pesado, pero me van surgiendo dudas según voy intentando hacer cosas nuevas. En esta ocasión he intentado utilizar la plantilla [[:Plantilla:Img float|Img float]] para poner la leyenda a la imagen que aparece en [[Página:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf/11|esta página]]. Si alineo la leyenda a la derecha, la imagen deja de estar centrada, a pesar de que no haya quitado el "align=center". No sé si se trata de un error de la propia plantilla, o mío que estoy haciendo algo mal. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 20:49 15 abr 2026 (UTC) : Esto es un error en {{ep|img float}}, tengo que ver cómo resolverlo. Si no lo hago ahora en unos minutos lo tendré que dejar para otro día, pero me queda pendiente. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:11 15 abr 2026 (UTC) ::Pensándolo mejor, no es un problema que pueda resolverse ahora. La plantilla {{ep|img float}} centrada simula un bloque usando un elemento {{tag|span}} con ancho al 100%. El texto alineado a la derecha "se lleva" la imagen. Para este caso deberás usar un bloque convencional. Lo cambio en la página y lo puedes mirar cómo quedó. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:16 15 abr 2026 (UTC) :::Vale, muchas gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:21 15 abr 2026 (UTC) == RIP "Book Tool" == Acabo de darme cuenta de que la herramienta "Libro" ([[Special:Book]]) está desactivada. También en otros Wikisources: [[:en:Special:Book]], [[:fr:Special:Book]] o [[:it:Special:Book]]. En cambio en las Wikipedias funciona (p.ej. [[:w:Special:Book]]). Propongo hacer como en Wikipedia en inglés (aunque allá funciona: [[:w:en:Special:Book]], [[:w:en:Help:Books]]), que es borrar todos los "libros": los 46 de [[:Categoría:Wikisource:Libros]] y la propia categoría, la [[:Categoría:Excluir al imprimir]], {{ep|Libro guardado}}, {{ep|Plantilla:Ocultar en impresión}} y [[Ayuda:Libros]] (mejor redirigirla a [[Ayuda:Índices]]). -[[Usuario Discusión:Aleator|Aleator]] 18:57 17 abr 2026 (UTC) :{{hecho}} [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 16:42 1 may 2026 (UTC) == Mejoras en {{ep|ICP/pruebas}} == Hola, estoy ensayando algunas mejoras en el [[Módulo:ICP/pruebas]]. Se las presento para consultarles antes de hacer cambios. ;Modificadores "en línea": En la línea de las plantillas {{ep|título}} y {{ep|poema}}, agrego un modificador "en línea" para cambiar el número de elementos de la fila actual, con formato {n 1} donde 1 es el número de elementos. Sólo funciona si lo agregamos en el primer elemento de la fila. :Ejemplo: {{demo|<nowiki> {{ICP/pruebas |{n 1} {{C|SECCION PRIMERA}} |I|Capitulo I con muchas cosas|1 |{n 1} {{c|SECCION SEGUNDA}} |II|Capitulo II, etc...|10 |III|et cétera|15 }}</nowiki>}} ;Soporte para "sangrado" usando dos puntos: En la misma línea, para el formato fácil de índices complejos con títulos de múltiples niveles, usando los dos puntos (:) como en <poem>as :Ejemplo: {{demo|<nowiki> {{ICP/pruebas|n=2|sangría=4em |Capitulo I|1 |:'''Sub-Capitulo 1''': {{lorem ipsum}}|1 |::'''Sub-sub-Capitulo A''': {{lorem ipsum}}|2 }}</nowiki>}} :La gracia es que respeta la "sangría francesa" o colgante, y además debería mantener la misma magnitud especificada en el parámetro {{parámetro|sangría}} Espero sus comentarios, aportes, críticas, pruebas, reportes de errores. En algún tiempo de no ver oposición lo pasaré ''a producción''. Saludos, [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 17:04 1 may 2026 (UTC) : Me parece muy útil lo primero, para poder añadir las secciones sin tener que cerrar y volver a abrir la plantilla o sin que sea muy complicado. Y lo de la sangría también está bien, para índices con ese tipo de subdivisión. ¡Gracias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 18:54 1 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} ¡Genial! He probado algunas cosillas y resiste bien. ¡Gracias! -[[Usuario Discusión:Aleator|Aleator]] 17:33 2 may 2026 (UTC) :::Entonces no me aguanté más y {{hecho|lo hice}}. Pueden ver un resultado en vivo en [[Página:El Capital (1898).pdf/687]] [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 15:34 3 may 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Haciendo los cambios pertinentes [[Página:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf/700|en este índice]], he añadido alguna línea <nowiki>{n 1} {{brecha}}</nowiki> para poder añadir líneas en blanco para respetar la estética de la página. No sé si hay algún comando para hacerlo más rápido, o si no debería hacerlo en absoluto. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:56 3 may 2026 (UTC) :::Si se ve bien, y no es muy complicado para ti, está bien :) [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:46 3 may 2026 (UTC) == Sobre los datos de la edición == ¡Buenas! Vengo con más preguntas. Acabo de terminar de transcribir [[Índice:El Archivo de Indias y la Biblioteca Colombina de Sevilla - rápida reseña de sus riquezas bibliográficas (IA archivodesindias00larrrich).pdf|este índice]], y he creado [[El Archivo de Indias y la Biblioteca Colombina de Sevilla|la página correspondiente]]. Por un lado, quería pediros que echarais un vistazo a la página para comprobar que está bien hecho, ya que es la primera que hago (y, por ejemplo, no sé cómo añadir la caja de información al inicio de la página). Y luego, por otro lado, en este archivo concreto no pone la fecha ni lugar de publicación. Al parecer está escrito en 1914, ya que se refiere como "el diciembre último" a un acto que sabemos tuvo lugar el 19 de diciembre de 1913. Sin embargo, no consta como tal en el documento acogido en Commons ni en otra copia digitalizada por la BNE; por lo que no sé si se debe poner en la fecha "1914" o "1914?" (como estaba cuando empecé a transcribir el documento) o "ca. 1914", y si debe añadirse la categoría P1914 o no. Tampoco consta el lugar de publicación. Es de la "Tipografía La Académica", pero haciendo una rápida búsqueda en algunos documentos digitalizados de la BNE, he encontrado que hay al menos dos tipografías por ese nombre, una en Zaragoza y una en Barcelona; y no he encontrado el logo que está en este documento en ninguno de los otros, para poder averiguar de cuál se trata. En el índice consta Barcelona porque se extrae de los metadatos de Wikidata, pero no sé si es correcto ya que está enlazado a una de las tipografías, desconociendo si es la correcta. Probablemente son preguntas sin mucha importancia, pero quiero saber cuál es la forma de actuación que seguís aquí en caso de datos faltantes o estimados. Perdón por las molestias; un saludo. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 15:33 4 may 2026 (UTC) :{{ping|Sucdemagrana}} ¡Buenas! Para la "cabecera", hay que añadir "header=1" dentro de la etiqueta "pages", o sea, <code><nowiki><pages index="El Archivo de... (etc.).pdf" from=1 to=55 exclude=3 header=1 /></nowiki></code>. :Para la fecha, yo utilizaría el ''[[:w:circa|circa]]''. En Wikidata yo lo pongo como en [https://www.wikidata.org/wiki/Q137821818#P577 este ejemplo]. Y si lo informas en el índice, con la plantilla {{tl|circa}}. La [[:Categoría:P1914]] la pondrá automáticamente el [[Módulo:Encabezado]] porque estará siendo "invocado" por haber añadido "header=1". :Sobre la tipografía... quizás se pueda hacer algo parecido a "''circa''" o ''sine loco'' (no lo he mirado, pero quizás haya algún valor en Wikidata para el resto de [[:w:Anexo:Abreviaturas latinas en bibliografía científica|abreviaturas]]). ¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 17:01 4 may 2026 (UTC) == Servicio de remoción de cubiertas de Google en Commons == Paso aviso de que si a un archivo en Commons le agregan la [[:commons:Category:Book scans with Google Books cover sheets (to remove)|categoría correspondiente]], el bot [[:commons:User:YannBot|YannBot]] le quita la portada con la advertencia en libros que se subieron desde Google Books. Supuestamente si la transcripción está hecha o comenzada, reemplaza la página por una en blanco, para no perder la alineación con las Página:s. Voy a hacer una plantilla {{ep|páginas Google}} para marcar índices que encuentren con ese problema, y pedirle al bot que haga las gestiones. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 04:02 25 may 2026 (UTC) == Error de Lua == ¡Buenas! Al entrar en [[Índice:Manual de histología normal y técnica micrográfica - bdh0000191874.pdf|este índice]] en el que he estado trabajando, me aparece ahora un "Error de Lua". ¿Podéis mirar cuál es el problema? Yo es que no entiendo de Lua. Perdón, y gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 16:33 5 jun 2026 (UTC) :@[[Usuario:Sucdemagrana|Sucdemagrana]]: Estimado, fue por una modificación que hice en un módulo lua y que luego revertí. Lamentablemente los índices se demoran mucho en actualizarse (de hecho, creo que no lo hacen en absoluto), así que hay que darle a editar, y guardar sin hacer ninguna modificación. Ya lo hice con ese índice, y disculpa las molestias. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 17:03 5 jun 2026 (UTC) bm08cybyrk1v8dflzgu3bb8gpaw32s7 Módulo:Enlace libro/pruebas 828 215742 1664202 1646907 2026-06-05T23:53:08Z Ignacio Rodríguez 3603 pruebas 1664202 Scribunto text/plain --[=[ Module description ]=] local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local function formatLink(target, display) if not target and not display then return '' end if not target then return display end if not display then display = target end return '[' .. '[' .. target .. '|' .. display .. ']]' end local function imageLink(target, display) if not display then display = target end return '[[File:OOjs_UI_icon_article-rtl.svg|15px|link='..target..'|alt=' .. display .. '|'..display..']]' end local function wikidataLink(qid) return "[[File:Wikidata-logo.svg|20px|link=d:" .. qid .. "|"..qid.."]]" end --[=[ Construct a textual list of authors from a table of Creator objects Returns mw.html tag ]=] function p.renderAuthorLinks( authorList, class ) local links = {} for _, creator in pairs( authorList ) do local linkTarget local display = creator.label -- no WS sitelink? guess the link target and make a red link -- todo: category? if not creator.wsPage then if creator.id then linkTarget = 'd:Special:EntityPage/'..creator.id display = '<span style="color:#5f9cbb;">' .. display .. '</span>' else linkTarget = 'Autor:' .. creator.label end else linkTarget = creator.wsPage end local innerTag = mw.html.create( 'span' ) :addClass( 'wst-worklink-creator' ) :wikitext( formatLink( linkTarget, display ) ) -- omite enlaces al autor en la página propia del autor if mw.title.getCurrentTitle().fullText ~= linkTarget then table.insert( links, tostring( innerTag ) ) end end if #links > 0 then local outerTag = mw.html.create( 'span' ) :addClass( class ) :wikitext( mw.text.listToText( links ) ) return outerTag end return '' end local function indexLink(file, text) local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then if text == 'transcripción' then text = 'digitalización' end return ' '.. imageLink( 'Archivo:'..file, text) end local progreso = mw.text.trim(index.fields.Progreso or '') if progreso ~= '' then local badge = require('Módulo:Wikidata').badge{ws=progreso} return ' '.. imageLink( 'Índice:'..file, text) .. ' '..badge end return ' '.. imageLink( 'Índice:'..file, text) end -- Enlaces a proyectos de trasncripción -- TODO: algún tipo de filtro/ícono x estado de correccion local function renderFileLinks( fileList ) if #fileList == 1 then local file = fileList[1] return indexLink(file, 'transcripción') end local links = {} for n, file in pairs( fileList ) do local nlink = indexLink(file, 'número '..n) if nlink == '' then else local innerTag = mw.html.create( 'span' ) :wikitext( nlink ) table.insert( links, tostring( innerTag ) ) end end local outerTag = mw.html.create( 'span' ) :wikitext(' ') :wikitext( mw.text.listToText( links ) ) return outerTag end function p.renderLink(args) local out = mw.html.create( 'span' ) :addClass( 'wst-worklink' ) if args.classes then out:addClass( table.concat( args.classes, ' ' ) ) end if args.chapter or args.chapterDisplay then local chapterPageTitle = args.title .. '/' .. args.chapter local chapter = formatLink( chapterPageTitle, args.chapterDisplay or args.chapter ) out:tag( 'span' ) :addClass( 'wst-worklink-chapter' ) :wikitext( '"' .. chapter .. '"' ) out:wikitext(' en ') end local title if args.no_link then title = args.title or args.display else title = formatLink( args.title, args.display ) end if title == '' then title = (args.item:getLabel() or '')..'<span style="color:red" title="Sin título en Wikidata">*</span>' title = title .. '['..'[Categoría:Enlaces a obras sin título]]' end out:tag( 'span' ) :addClass( 'wst-worklink-title' ) :wikitext( title ) if args.parentWork then out:wikitext(', en ') out:tag('span') :addClass('wst-worklink-parentWork') :wikitext(require('Module:Enlace obra').objectToLink(args.parentWork[1], {'QID'})) return out:wikitext(' '..wikidataLink(args.QID)) end local comma = false if args.authors and #args.authors then local authorList = tostring(p.renderAuthorLinks( args.authors, 'wst-worklink-authors' )) if #authorList > 0 then out:wikitext( ' de ' .. authorList) comma = true end end if args.editors and #args.editors then if comma then out:wikitext( ',' ) end out:wikitext( ' ed. ' .. tostring( p.renderAuthorLinks( args.editors, 'wst-worklink-editors' ) ) ) comma = true end if args.translators and #args.translators then if comma then out:wikitext( ',' ) end out:wikitext( ' tr. ' .. tostring( p.renderAuthorLinks( args.translators, 'wst-worklink-translators' ) ) ) comma = true end if args.illustrators and #args.illustrators then if comma then out:wikitext( ',' ) end out:wikitext( ' ilus. ' .. tostring( p.renderAuthorLinks( args.illustrators, 'wst-worklink-illustrators' ) ) ) comma = true end if args.introducers and #args.introducers then if comma then out:wikitext( ',' ) end out:wikitext( ' pról. ' .. tostring( p.renderAuthorLinks( args.introducers, 'wst-worklink-introducers' ) ) ) end if args.year then out:wikitext( ' (' ) out:tag( 'span' ) :addClass( 'wst-worklink-date' ) :wikitext( args.year ) out:wikitext( ')' ) end if args.commonsFile and #args.commonsFile then out:wikitext( '<small>' .. tostring( renderFileLinks(args.commonsFile)) .. '</small>') end if args.QID and args.QID ~= '' then out:wikitext(' '..wikidataLink(args.QID)) end return out end --[=[ Combine all arguments with a given prefix into a table of author links ]=] local function combineAuthors(args, prefix) local l = {} local i = 1 while true do local argname = prefix local dispargname = prefix .. "_display" if i > 1 then argname = argname .. i dispargname = dispargname .. i end -- ran out of arguments if not args[argname] then break end local target = args[argname] if string.find( target, 'Portal:', 1, true ) ~= 1 then target = 'Autor:' .. target end local display = args[dispargname] or args[argname] -- strip namespaces display = display:gsub( '^%w-:', '' ) table.insert( l, { link = target, label = display } ) i = i + 1 end return l end --[=[ Function docs ]=] function p.book_link(frame) local args = getArgs(frame) if args.author then args.authors = combineAuthors(args, 'author') end return tostring(p.renderLink(args)) end return p mca1t0fts107et08hpb9ytkkygeb50f 1664235 1664202 2026-06-06T04:13:28Z Ignacio Rodríguez 3603 pruebas sobre pruebas 1664235 Scribunto text/plain --[=[ Module description ]=] local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local function formatLink(target, display) if not target and not display then return '' end if not target then return display end if not display then display = target end return '[' .. '[' .. target .. '|' .. display .. ']]' end local function imageLink(target, display) if not display then display = target end return '[[File:OOjs_UI_icon_article-rtl.svg|15px|link='..target..'|alt=' .. display .. '|'..display..']]' end local function wikidataLink(qid) return "[[File:Wikidata-logo.svg|20px|link=d:" .. qid .. "|"..qid.."]]" end --[=[ Construct a textual list of authors from a table of Creator objects Returns mw.html tag ]=] function p.renderAuthorLinks( authorList, class ) local links = {} for _, creator in pairs( authorList ) do local linkTarget local display = creator.label -- no WS sitelink? guess the link target and make a red link -- todo: category? if not creator.wsPage then if creator.id then linkTarget = 'd:Special:EntityPage/'..creator.id display = '<span style="color:#5f9cbb;">' .. display .. '</span>' else linkTarget = 'Autor:' .. creator.label end else linkTarget = creator.wsPage end local innerTag = mw.html.create( 'span' ) :addClass( 'wst-worklink-creator' ) :wikitext( formatLink( linkTarget, display ) ) -- omite enlaces al autor en la página propia del autor if mw.title.getCurrentTitle().fullText ~= linkTarget then table.insert( links, tostring( innerTag ) ) end end if #links > 0 then local outerTag = mw.html.create( 'span' ) :addClass( class ) :wikitext( mw.text.listToText( links ) ) return outerTag end return '' end local function indexLink(file, text) local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then if text == 'transcripción' then text = 'digitalización' end return ' '.. imageLink( 'Archivo:'..file, text) end local progreso = mw.text.trim(index.fields.Progreso or '') if progreso ~= '' then local badge = require('Módulo:Wikidata').badge{ws=progreso} return ' '.. imageLink( 'Índice:'..file, text) .. ' '..badge end return ' '.. imageLink( 'Índice:'..file, text) end -- Enlaces a proyectos de trasncripción -- TODO: algún tipo de filtro/ícono x estado de correccion local function renderFileLinks( fileList ) if #fileList == 1 then local file = fileList[1] return indexLink(file, 'transcripción') end local links = {} for n, file in pairs( fileList ) do local nlink = indexLink(file, 'número '..n) if nlink == '' then else local innerTag = mw.html.create( 'span' ) :wikitext( nlink ) table.insert( links, tostring( innerTag ) ) end end local outerTag = mw.html.create( 'span' ) :wikitext(' ') :wikitext( mw.text.listToText( links ) ) return outerTag end function p.renderLink(args) local out = mw.html.create( 'span' ) :addClass( 'wst-worklink' ) if args.classes then out:addClass( table.concat( args.classes, ' ' ) ) end if args.chapter or args.chapterDisplay then local chapterPageTitle = args.title .. '/' .. args.chapter local chapter = formatLink( chapterPageTitle, args.chapterDisplay or args.chapter ) out:tag( 'span' ) :addClass( 'wst-worklink-chapter' ) :wikitext( '"' .. chapter .. '"' ) out:wikitext(' en ') end local title if args.no_link then title = args.title or args.display else title = formatLink( args.title, args.display ) end if title == '' then title = (args.item:getLabel() or '')..'<span style="color:red" title="Sin título en Wikidata">*</span>' title = title .. '['..'[Categoría:Enlaces a obras sin título]]' end out:tag( 'span' ) :addClass( 'wst-worklink-title' ) :wikitext( title ) if args.parentWork then out:wikitext(', en ') out:tag('span') :addClass('wst-worklink-parentWork') :wikitext(require('Module:Enlace obra/pruebas').objectToLink(args.parentWork[1], {'QID'})) return out:wikitext(' '..wikidataLink(args.QID)) end local comma = false if args.authors and #args.authors then local authorList = tostring(p.renderAuthorLinks( args.authors, 'wst-worklink-authors' )) if #authorList > 0 then out:wikitext( ' de ' .. authorList) comma = true end end if args.editors and #args.editors then if comma then out:wikitext( ',' ) end out:wikitext( ' ed. ' .. tostring( p.renderAuthorLinks( args.editors, 'wst-worklink-editors' ) ) ) comma = true end if args.translators and #args.translators then if comma then out:wikitext( ',' ) end out:wikitext( ' tr. ' .. tostring( p.renderAuthorLinks( args.translators, 'wst-worklink-translators' ) ) ) comma = true end if args.illustrators and #args.illustrators then if comma then out:wikitext( ',' ) end out:wikitext( ' ilus. ' .. tostring( p.renderAuthorLinks( args.illustrators, 'wst-worklink-illustrators' ) ) ) comma = true end if args.introducers and #args.introducers then if comma then out:wikitext( ',' ) end out:wikitext( ' pról. ' .. tostring( p.renderAuthorLinks( args.introducers, 'wst-worklink-introducers' ) ) ) end if args.year then out:wikitext( ' (' ) out:tag( 'span' ) :addClass( 'wst-worklink-date' ) :wikitext( args.year ) out:wikitext( ')' ) end if args.commonsFile and #args.commonsFile then out:wikitext( '<small>' .. tostring( renderFileLinks(args.commonsFile)) .. '</small>') end if args.QID and args.QID ~= '' then out:wikitext(' '..wikidataLink(args.QID)) end return out end --[=[ Combine all arguments with a given prefix into a table of author links ]=] local function combineAuthors(args, prefix) local l = {} local i = 1 while true do local argname = prefix local dispargname = prefix .. "_display" if i > 1 then argname = argname .. i dispargname = dispargname .. i end -- ran out of arguments if not args[argname] then break end local target = args[argname] if string.find( target, 'Portal:', 1, true ) ~= 1 then target = 'Autor:' .. target end local display = args[dispargname] or args[argname] -- strip namespaces display = display:gsub( '^%w-:', '' ) table.insert( l, { link = target, label = display } ) i = i + 1 end return l end --[=[ Function docs ]=] function p.book_link(frame) local args = getArgs(frame) if args.author then args.authors = combineAuthors(args, 'author') end return tostring(p.renderLink(args)) end return p 7xrcjm4bwysabqocftmh70gnbf5v8tp 1664236 1664235 2026-06-06T04:15:23Z Ignacio Rodríguez 3603 1664236 Scribunto text/plain --[=[ Module description ]=] local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local function formatLink(target, display) if not target and not display then return '' end if not target then return display end if not display then display = target end return '[' .. '[' .. target .. '|' .. display .. ']]' end local function imageLink(target, display) if not display then display = target end return '[[File:OOjs_UI_icon_article-rtl.svg|15px|link='..target..'|alt=' .. display .. '|'..display..']]' end local function wikidataLink(qid) if not qid then return end return "[[File:Wikidata-logo.svg|20px|link=d:" .. qid .. "|"..qid.."]]" end --[=[ Construct a textual list of authors from a table of Creator objects Returns mw.html tag ]=] function p.renderAuthorLinks( authorList, class ) local links = {} for _, creator in pairs( authorList ) do local linkTarget local display = creator.label -- no WS sitelink? guess the link target and make a red link -- todo: category? if not creator.wsPage then if creator.id then linkTarget = 'd:Special:EntityPage/'..creator.id display = '<span style="color:#5f9cbb;">' .. display .. '</span>' else linkTarget = 'Autor:' .. creator.label end else linkTarget = creator.wsPage end local innerTag = mw.html.create( 'span' ) :addClass( 'wst-worklink-creator' ) :wikitext( formatLink( linkTarget, display ) ) -- omite enlaces al autor en la página propia del autor if mw.title.getCurrentTitle().fullText ~= linkTarget then table.insert( links, tostring( innerTag ) ) end end if #links > 0 then local outerTag = mw.html.create( 'span' ) :addClass( class ) :wikitext( mw.text.listToText( links ) ) return outerTag end return '' end local function indexLink(file, text) local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then if text == 'transcripción' then text = 'digitalización' end return ' '.. imageLink( 'Archivo:'..file, text) end local progreso = mw.text.trim(index.fields.Progreso or '') if progreso ~= '' then local badge = require('Módulo:Wikidata').badge{ws=progreso} return ' '.. imageLink( 'Índice:'..file, text) .. ' '..badge end return ' '.. imageLink( 'Índice:'..file, text) end -- Enlaces a proyectos de trasncripción local function renderFileLinks( fileList ) if #fileList == 1 then local file = fileList[1] return indexLink(file, 'transcripción') end local links = {} for n, file in pairs( fileList ) do local nlink = indexLink(file, 'número '..n) if nlink == '' then else local innerTag = mw.html.create( 'span' ) :wikitext( nlink ) table.insert( links, tostring( innerTag ) ) end end local outerTag = mw.html.create( 'span' ) :wikitext(' ') :wikitext( mw.text.listToText( links ) ) return outerTag end function p.renderLink(args) local out = mw.html.create( 'span' ) :addClass( 'wst-worklink' ) if args.classes then out:addClass( table.concat( args.classes, ' ' ) ) end if args.chapter or args.chapterDisplay then local chapterPageTitle = args.title .. '/' .. args.chapter local chapter = formatLink( chapterPageTitle, args.chapterDisplay or args.chapter ) out:tag( 'span' ) :addClass( 'wst-worklink-chapter' ) :wikitext( '"' .. chapter .. '"' ) out:wikitext(' en ') end local title if args.no_link then title = args.title or args.display else title = formatLink( args.title, args.display ) end if title == '' then title = (args.item:getLabel() or '')..'<span style="color:red" title="Sin título en Wikidata">*</span>' title = title .. '['..'[Categoría:Enlaces a obras sin título]]' end out:tag( 'span' ) :addClass( 'wst-worklink-title' ) :wikitext( title ) if args.parentWork then out:wikitext(', en ') out:tag('span') :addClass('wst-worklink-parentWork') :wikitext(require('Module:Enlace obra').objectToLink(args.parentWork[1], {'QID'})) return out:wikitext(' '..wikidataLink(args.QID)) end local comma = false if args.authors and #args.authors then local authorList = tostring(p.renderAuthorLinks( args.authors, 'wst-worklink-authors' )) if #authorList > 0 then out:wikitext( ' de ' .. authorList) comma = true end end if args.editors and #args.editors then if comma then out:wikitext( ',' ) end out:wikitext( ' ed. ' .. tostring( p.renderAuthorLinks( args.editors, 'wst-worklink-editors' ) ) ) comma = true end if args.translators and #args.translators then if comma then out:wikitext( ',' ) end out:wikitext( ' tr. ' .. tostring( p.renderAuthorLinks( args.translators, 'wst-worklink-translators' ) ) ) comma = true end if args.illustrators and #args.illustrators then if comma then out:wikitext( ',' ) end out:wikitext( ' ilus. ' .. tostring( p.renderAuthorLinks( args.illustrators, 'wst-worklink-illustrators' ) ) ) comma = true end if args.introducers and #args.introducers then if comma then out:wikitext( ',' ) end out:wikitext( ' pról. ' .. tostring( p.renderAuthorLinks( args.introducers, 'wst-worklink-introducers' ) ) ) end if args.year then out:wikitext( ' (' ) out:tag( 'span' ) :addClass( 'wst-worklink-date' ) :wikitext( args.year ) out:wikitext( ')' ) end if args.commonsFile and #args.commonsFile then out:wikitext( '<small>' .. tostring( renderFileLinks(args.commonsFile)) .. '</small>') end if args.QID and args.QID ~= '' then out:wikitext(' '..wikidataLink(args.QID)) end return out end --[=[ Combine all arguments with a given prefix into a table of author links ]=] local function combineAuthors(args, prefix) local l = {} local i = 1 while true do local argname = prefix local dispargname = prefix .. "_display" if i > 1 then argname = argname .. i dispargname = dispargname .. i end -- ran out of arguments if not args[argname] then break end local target = args[argname] if string.find( target, 'Portal:', 1, true ) ~= 1 then target = 'Autor:' .. target end local display = args[dispargname] or args[argname] -- strip namespaces display = display:gsub( '^%w-:', '' ) table.insert( l, { link = target, label = display } ) i = i + 1 end return l end --[=[ Function docs ]=] function p.book_link(frame) local args = getArgs(frame) if args.author then args.authors = combineAuthors(args, 'author') end return tostring(p.renderLink(args)) end return p 8viq6ju7dzte8ik9l0x4kfk30hprn1j 1664237 1664236 2026-06-06T04:15:53Z Ignacio Rodríguez 3603 concat 1664237 Scribunto text/plain --[=[ Module description ]=] local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local function formatLink(target, display) if not target and not display then return '' end if not target then return display end if not display then display = target end return '[' .. '[' .. target .. '|' .. display .. ']]' end local function imageLink(target, display) if not display then display = target end return '[[File:OOjs_UI_icon_article-rtl.svg|15px|link='..target..'|alt=' .. display .. '|'..display..']]' end local function wikidataLink(qid) if not qid then return '' end return "[[File:Wikidata-logo.svg|20px|link=d:" .. qid .. "|"..qid.."]]" end --[=[ Construct a textual list of authors from a table of Creator objects Returns mw.html tag ]=] function p.renderAuthorLinks( authorList, class ) local links = {} for _, creator in pairs( authorList ) do local linkTarget local display = creator.label -- no WS sitelink? guess the link target and make a red link -- todo: category? if not creator.wsPage then if creator.id then linkTarget = 'd:Special:EntityPage/'..creator.id display = '<span style="color:#5f9cbb;">' .. display .. '</span>' else linkTarget = 'Autor:' .. creator.label end else linkTarget = creator.wsPage end local innerTag = mw.html.create( 'span' ) :addClass( 'wst-worklink-creator' ) :wikitext( formatLink( linkTarget, display ) ) -- omite enlaces al autor en la página propia del autor if mw.title.getCurrentTitle().fullText ~= linkTarget then table.insert( links, tostring( innerTag ) ) end end if #links > 0 then local outerTag = mw.html.create( 'span' ) :addClass( class ) :wikitext( mw.text.listToText( links ) ) return outerTag end return '' end local function indexLink(file, text) local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then if text == 'transcripción' then text = 'digitalización' end return ' '.. imageLink( 'Archivo:'..file, text) end local progreso = mw.text.trim(index.fields.Progreso or '') if progreso ~= '' then local badge = require('Módulo:Wikidata').badge{ws=progreso} return ' '.. imageLink( 'Índice:'..file, text) .. ' '..badge end return ' '.. imageLink( 'Índice:'..file, text) end -- Enlaces a proyectos de trasncripción local function renderFileLinks( fileList ) if #fileList == 1 then local file = fileList[1] return indexLink(file, 'transcripción') end local links = {} for n, file in pairs( fileList ) do local nlink = indexLink(file, 'número '..n) if nlink == '' then else local innerTag = mw.html.create( 'span' ) :wikitext( nlink ) table.insert( links, tostring( innerTag ) ) end end local outerTag = mw.html.create( 'span' ) :wikitext(' ') :wikitext( mw.text.listToText( links ) ) return outerTag end function p.renderLink(args) local out = mw.html.create( 'span' ) :addClass( 'wst-worklink' ) if args.classes then out:addClass( table.concat( args.classes, ' ' ) ) end if args.chapter or args.chapterDisplay then local chapterPageTitle = args.title .. '/' .. args.chapter local chapter = formatLink( chapterPageTitle, args.chapterDisplay or args.chapter ) out:tag( 'span' ) :addClass( 'wst-worklink-chapter' ) :wikitext( '"' .. chapter .. '"' ) out:wikitext(' en ') end local title if args.no_link then title = args.title or args.display else title = formatLink( args.title, args.display ) end if title == '' then title = (args.item:getLabel() or '')..'<span style="color:red" title="Sin título en Wikidata">*</span>' title = title .. '['..'[Categoría:Enlaces a obras sin título]]' end out:tag( 'span' ) :addClass( 'wst-worklink-title' ) :wikitext( title ) if args.parentWork then out:wikitext(', en ') out:tag('span') :addClass('wst-worklink-parentWork') :wikitext(require('Module:Enlace obra').objectToLink(args.parentWork[1], {'QID'})) return out:wikitext(' '..wikidataLink(args.QID)) end local comma = false if args.authors and #args.authors then local authorList = tostring(p.renderAuthorLinks( args.authors, 'wst-worklink-authors' )) if #authorList > 0 then out:wikitext( ' de ' .. authorList) comma = true end end if args.editors and #args.editors then if comma then out:wikitext( ',' ) end out:wikitext( ' ed. ' .. tostring( p.renderAuthorLinks( args.editors, 'wst-worklink-editors' ) ) ) comma = true end if args.translators and #args.translators then if comma then out:wikitext( ',' ) end out:wikitext( ' tr. ' .. tostring( p.renderAuthorLinks( args.translators, 'wst-worklink-translators' ) ) ) comma = true end if args.illustrators and #args.illustrators then if comma then out:wikitext( ',' ) end out:wikitext( ' ilus. ' .. tostring( p.renderAuthorLinks( args.illustrators, 'wst-worklink-illustrators' ) ) ) comma = true end if args.introducers and #args.introducers then if comma then out:wikitext( ',' ) end out:wikitext( ' pról. ' .. tostring( p.renderAuthorLinks( args.introducers, 'wst-worklink-introducers' ) ) ) end if args.year then out:wikitext( ' (' ) out:tag( 'span' ) :addClass( 'wst-worklink-date' ) :wikitext( args.year ) out:wikitext( ')' ) end if args.commonsFile and #args.commonsFile then out:wikitext( '<small>' .. tostring( renderFileLinks(args.commonsFile)) .. '</small>') end if args.QID and args.QID ~= '' then out:wikitext(' '..wikidataLink(args.QID)) end return out end --[=[ Combine all arguments with a given prefix into a table of author links ]=] local function combineAuthors(args, prefix) local l = {} local i = 1 while true do local argname = prefix local dispargname = prefix .. "_display" if i > 1 then argname = argname .. i dispargname = dispargname .. i end -- ran out of arguments if not args[argname] then break end local target = args[argname] if string.find( target, 'Portal:', 1, true ) ~= 1 then target = 'Autor:' .. target end local display = args[dispargname] or args[argname] -- strip namespaces display = display:gsub( '^%w-:', '' ) table.insert( l, { link = target, label = display } ) i = i + 1 end return l end --[=[ Function docs ]=] function p.book_link(frame) local args = getArgs(frame) if args.author then args.authors = combineAuthors(args, 'author') end return tostring(p.renderLink(args)) end return p lcf9im7gdcyqyyqsfp1mejbkegxg9y9 1664238 1664237 2026-06-06T04:19:04Z Ignacio Rodríguez 3603 ¬¬ 1664238 Scribunto text/plain --[=[ Module description ]=] local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local function formatLink(target, display) if not target and not display then return '' end if not target then return display end if not display then display = target end return '[' .. '[' .. target .. '|' .. display .. ']]' end local function imageLink(target, display) if not display then display = target end return '[[File:OOjs_UI_icon_article-rtl.svg|15px|link='..target..'|alt=' .. display .. '|'..display..']]' end local function wikidataLink(qid) if not qid then return '' end return "[[File:Wikidata-logo.svg|20px|link=d:" .. qid .. "|"..qid.."]]" end --[=[ Construct a textual list of authors from a table of Creator objects Returns mw.html tag ]=] function p.renderAuthorLinks( authorList, class ) local links = {} for _, creator in pairs( authorList ) do local linkTarget local display = creator.label -- no WS sitelink? guess the link target and make a red link -- todo: category? if not creator.wsPage then if creator.id then linkTarget = 'd:Special:EntityPage/'..creator.id display = '<span style="color:#5f9cbb;">' .. display .. '</span>' else linkTarget = 'Autor:' .. creator.label end else linkTarget = creator.wsPage end local innerTag = mw.html.create( 'span' ) :addClass( 'wst-worklink-creator' ) :wikitext( formatLink( linkTarget, display ) ) -- omite enlaces al autor en la página propia del autor if mw.title.getCurrentTitle().fullText ~= linkTarget then table.insert( links, tostring( innerTag ) ) end end if #links > 0 then local outerTag = mw.html.create( 'span' ) :addClass( class ) :wikitext( mw.text.listToText( links ) ) return outerTag end return '' end local function indexLink(file, text) local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then if text == 'transcripción' then text = 'digitalización' end return ' '.. imageLink( 'Archivo:'..file, text) end local progreso = mw.text.trim(index.fields.Progreso or '') if progreso ~= '' then local badge = require('Módulo:Wikidata').badge{ws=progreso} return ' '.. imageLink( 'Índice:'..file, text) .. ' '..badge end return ' '.. imageLink( 'Índice:'..file, text) end -- Enlaces a proyectos de trasncripción local function renderFileLinks( fileList ) if #fileList == 1 then local file = fileList[1] return indexLink(file, 'transcripción') end local links = {} for n, file in pairs( fileList ) do local nlink = indexLink(file, 'número '..n) if nlink == '' then else local innerTag = mw.html.create( 'span' ) :wikitext( nlink ) table.insert( links, tostring( innerTag ) ) end end local outerTag = mw.html.create( 'span' ) :wikitext(' ') :wikitext( mw.text.listToText( links ) ) return outerTag end function p.renderLink(args) local out = mw.html.create( 'span' ) :addClass( 'wst-worklink' ) if args.classes then out:addClass( table.concat( args.classes, ' ' ) ) end if args.chapter or args.chapterDisplay then local chapterPageTitle = args.title .. '/' .. args.chapter local chapter = formatLink( chapterPageTitle, args.chapterDisplay or args.chapter ) out:tag( 'span' ) :addClass( 'wst-worklink-chapter' ) :wikitext( '"' .. chapter .. '"' ) out:wikitext(' en ') end local title if args.no_link then title = args.title or args.display else title = formatLink( args.title, args.display ) end if title == '' then title = (args.item:getLabel() or '')..'<span style="color:red" title="Sin título en Wikidata">*</span>' title = title .. '['..'[Categoría:Enlaces a obras sin título]]' end out:tag( 'span' ) :addClass( 'wst-worklink-title' ) :wikitext( title ) if args.parentWork then out:wikitext(', en ') out:tag('span') :addClass('wst-worklink-parentWork') :wikitext(require('Module:Enlace obra/pruebas').objectToLink(args.parentWork[1], {'QID'})) return out:wikitext(' '..wikidataLink(args.QID)) end local comma = false if args.authors and #args.authors then local authorList = tostring(p.renderAuthorLinks( args.authors, 'wst-worklink-authors' )) if #authorList > 0 then out:wikitext( ' de ' .. authorList) comma = true end end if args.editors and #args.editors then if comma then out:wikitext( ',' ) end out:wikitext( ' ed. ' .. tostring( p.renderAuthorLinks( args.editors, 'wst-worklink-editors' ) ) ) comma = true end if args.translators and #args.translators then if comma then out:wikitext( ',' ) end out:wikitext( ' tr. ' .. tostring( p.renderAuthorLinks( args.translators, 'wst-worklink-translators' ) ) ) comma = true end if args.illustrators and #args.illustrators then if comma then out:wikitext( ',' ) end out:wikitext( ' ilus. ' .. tostring( p.renderAuthorLinks( args.illustrators, 'wst-worklink-illustrators' ) ) ) comma = true end if args.introducers and #args.introducers then if comma then out:wikitext( ',' ) end out:wikitext( ' pról. ' .. tostring( p.renderAuthorLinks( args.introducers, 'wst-worklink-introducers' ) ) ) end if args.year then out:wikitext( ' (' ) out:tag( 'span' ) :addClass( 'wst-worklink-date' ) :wikitext( args.year ) out:wikitext( ')' ) end if args.commonsFile and #args.commonsFile then out:wikitext( '<small>' .. tostring( renderFileLinks(args.commonsFile)) .. '</small>') end if args.QID and args.QID ~= '' then out:wikitext(' '..wikidataLink(args.QID)) end return out end --[=[ Combine all arguments with a given prefix into a table of author links ]=] local function combineAuthors(args, prefix) local l = {} local i = 1 while true do local argname = prefix local dispargname = prefix .. "_display" if i > 1 then argname = argname .. i dispargname = dispargname .. i end -- ran out of arguments if not args[argname] then break end local target = args[argname] if string.find( target, 'Portal:', 1, true ) ~= 1 then target = 'Autor:' .. target end local display = args[dispargname] or args[argname] -- strip namespaces display = display:gsub( '^%w-:', '' ) table.insert( l, { link = target, label = display } ) i = i + 1 end return l end --[=[ Function docs ]=] function p.book_link(frame) local args = getArgs(frame) if args.author then args.authors = combineAuthors(args, 'author') end return tostring(p.renderLink(args)) end return p njw8cubyvblgchkdw4n45x89d9etb9n Módulo:Wikidata 828 217257 1664216 1664104 2026-06-06T01:14:36Z Ignacio Rodríguez 3603 unificación de funciones del Módulo:Wikidata, completado. Ahora todos los módulos usan p.claim. 1664216 Scribunto text/plain require('strict') local p = {} -------------------------------------------------------------------- -- A continuación, función p.claim y funciones locales necesarias -- -- Adaptado de https://ca.wikisource.org/wiki/Module:Wikidata -- -------------------------------------------------------------------- local wiki = { langcode = mw.language.getContentLanguage().code } -- Table of language codes: requested or default and its fallbacks local function findLang(langcode) if mw.language.isKnownLanguageTag(langcode or '') == false then local cframe = mw.getCurrentFrame() local pframe = cframe:getParent() langcode = pframe and pframe.args.lang if mw.language.isKnownLanguageTag(langcode or '') == false then if not mw.title.getCurrentTitle().isContentPage then langcode = cframe:preprocess('{{int:lang}}') end if mw.language.isKnownLanguageTag(langcode or '') == false then langcode = wiki.langcode end end end local languages = mw.language.getFallbacksFor(langcode) table.insert(languages, 1, langcode) if langcode == wiki.langcode then for _, l in ipairs({}) do table.insert(languages, l) end end return languages end -- Argument is 'set' when it exists (not nil) or when it is not an empty string. local function isSet(var) return not (var == nil or (type(var) == 'string' and mw.text.trim(var) == '')) end -- get safely a serialized snak local function getSnak(statement, snaks) local ret = statement for i, v in ipairs(snaks) do if not ret then return end ret = ret[v] end return ret end -- mw.wikibase.getLabelWithLang or getLabelByLang with a table of languages local function getLabelByLangs(id, languages) local label local lang for _, l in ipairs(languages) do if l == wiki.langcode then -- using getLabelWithLang when possible instead of getLabelByLang label, l = mw.wikibase.getLabelWithLang(id) else label = mw.wikibase.getLabelByLang(id, l) end if label then lang = l break end end return label, lang end -- format data value wikibase-entityid: types wikibase-item, wikibase-property local function printDatatypeEntity(data, parameters) local entity_id = data['id'] if parameters.formatting == 'raw' then return entity_id, entity_id end local label, _ = getLabelByLangs(entity_id, parameters.lang) local sitelink = mw.wikibase.getSitelink(entity_id) local labelcase = label or sitelink if parameters.citado and parameters.citado ~= '' then labelcase = parameters.citado end local entity_page = 'Special:EntityPage/' .. entity_id local ret1 if parameters.formatting == 'label' then ret1 = labelcase or entity_id else if sitelink then ret1 = '[[' .. sitelink .. '|' .. labelcase .. ']]' elseif label and string.match(parameters.formatting or '', 'internallink$') and not mw.wikibase.getEntityIdForTitle(label) then ret1 = '[[' .. label .. '|' .. labelcase .. ']]' else --si no existe la pág. en WS, crea enlace a WD ret1 = '[[d:' .. entity_page .. '|<span style="color:#5f9cbb;">' .. (labelcase or entity_id) .. '</span>]]' end end return ret1 end local function getSnakValue(snak, parameters) if snak.snaktype == 'value' then -- see Special:ListDatatypes if snak.datatype == 'wikibase-item' or snak.datatype == 'wikibase-property' then return printDatatypeEntity(snak.datavalue.value, parameters) end elseif snak.snaktype == 'somevalue' then if parameters.referenced and parameters.referenced ~= '' then return parameters.referenced end if parameters.citado and parameters.citado ~= '' then return parameters.citado end end return mw.wikibase.renderSnak(snak) end local function orderedpairs(array, order) if not order then return pairs(array) end -- return iterator function local i = 0 return function() i = i + 1 if order[i] then return order[i], array[order[i]] end end end local function getCitadoValue(claim) local result = "" if claim.qualifiers then if claim.qualifiers['P1932'] then local wqualif = claim.qualifiers['P1932'][1].datavalue.value if wqualif and wqualif ~= '' then return wqualif end end end return result end local function getReferencedValue(claim, parameters, reftypes) local result = "" -- traverse through all references for ref in pairs(claim.references or {}) do local refparts -- traverse through all parts of the current reference for snakkey, snakval in orderedpairs(claim.references[ref].snaks or {}, claim.references[ref]["snaks-order"]) do for i, reftype in ipairs(reftypes) do if snakkey == reftype then if refparts then refparts = refparts .. ", " else refparts = "" end for snakidx = 1, #snakval do if snakidx > 1 then refparts = refparts .. ", " end refparts = refparts .. getSnakValue(snakval[snakidx], parameters) end end end end if refparts then result = result .. refparts end end return result end local function getQualifierSnak(claim, qualifierId, parameters) -- a "snak" is Wikidata terminology for a typed key/value pair -- a claim consists of a main snak holding the main information of this claim, -- as well as a list of attribute snaks and a list of references snaks if qualifierId then -- search the attribute snak with the given qualifier as key if claim.qualifiers then local qualifier = claim.qualifiers[qualifierId] if qualifier then if qualifier[1].datatype == "monolingualtext" then -- iterate over monolingualtext qualifiers to get local language for idx in pairs(qualifier) do if getSnak(qualifier[idx], {"datavalue", "value", "language"}) == parameters.lang[1] then return qualifier[idx] end end elseif parameters.list then return qualifier else return qualifier[1] end end end return nil, '<span class="error">No se encuentra el cualificador.</span>' else return claim.mainsnak end end local function getValueOfClaim(claim, qualifierId, parameters) local snak, error = getQualifierSnak(claim, qualifierId, parameters) local reftypes = {'P5997'} -- propiedades "tipo referencia" que pueden denotar un valor oculto parameters.referenced = getReferencedValue(claim, parameters, reftypes) parameters.citado = getCitadoValue(claim) if not snak then return nil, nil, error elseif snak[1] then -- a multi qualifier local result = {} for idx in pairs(snak) do result[#result + 1] = getSnakValue(snak[idx], parameters) end return mw.text.listToText(result), nil else -- a property or a qualifier (lo habitual) return getSnakValue(snak, parameters) end end local function getEntityId(args, pargs, unnamed) pargs = pargs or {} local id = args.item or args.from or (unnamed and mw.text.trim(args[1] or '') or nil) if not isSet(id) then id = pargs.item or pargs.from or (unnamed and mw.text.trim(pargs[1] or '') or nil) end if not isSet(id) then id = mw.wikibase.getEntityIdForCurrentPage() end return id end local function getArg(value, default, aliases) if type(value) == 'boolean' then return value elseif value == "false" or value == "no" then return false elseif value == "true" or value == "yes" then return true elseif value and aliases and aliases[value] then return aliases[value] elseif isSet(value) then return value elseif default then return default else return nil end end -- Main function claim --------------------------------------------- -- on debug console use: =p.claim{item="Q...", property="P...", ...} function p.claim(frame) local args = frame.args or frame -- via invoke or require local pargs = frame.args and frame:getParent().args or {} -- arguments local parameters = {} parameters.id = getEntityId(args, pargs) if parameters.id == nil then return end parameters.property = string.upper(args.property or "") local qualifierId = {} qualifierId[1] = getArg(string.upper(args.qualifier or "")) local i = 2 while isSet(args["qualifier" .. i]) do qualifierId[i] = string.upper(args["qualifier" .. i]) i = i + 1 end parameters.formatting = getArg(args.formatting) parameters.list = getArg(args.list, true, {firstrank='bestrank'}) parameters.tabla = getArg(args.tabla) local default = args.default parameters.lang = findLang(args.lang) -- fetch property local claims = mw.wikibase.getBestStatements(parameters.id, parameters.property) if #claims == 0 then return default end -- defaults for table local preformat, postformat = "", "" -- get initial sort indices local sortindices = {} for idx in pairs(claims) do sortindices[#sortindices + 1] = idx end local result if parameters.tabla then local value result = {} local values = {} for idx in pairs(claims) do local claim = claims[sortindices[idx]] value = getValueOfClaim(claim, qualifierId[1], parameters) values[#values + 1] = {} if value then values[#values]["col0"] = value result[#values] = value end end return result elseif parameters.list then parameters.separator = mw.message.new('Comma-separator'):inLanguage(parameters.lang[1]):plain() parameters.conjunction = (mw.message.new('And'):inLanguage(parameters.lang[1]):plain() .. mw.message.new('Word-separator'):inLanguage(parameters.lang[1]):plain()) -- iterate over all elements and return their value (if existing) local value result = {} local values = {} for idx in pairs(claims) do local claim = claims[sortindices[idx]] value = getValueOfClaim(claim, qualifierId[1], parameters) values[#values + 1] = {} if value then values[#values]["col0"] = value result[#values] = value end end result = preformat .. mw.text.listToText(result, parameters.separator, parameters.conjunction) .. postformat else -- return first element local claim = claims[sortindices[1]] result = getValueOfClaim(claim, qualifierId[1], parameters) end if not isSet(result) then result = default end return result or '' end -------------------------------------------------------------------------------- -- Get an Item based on what's passed in the 'wikidata' or 'page' parameters of -- the args, or the current page's ID otherwise. local function getItem( args ) local id = nil -- If args is a table with an appropriate element, use it. if type( args ) == 'table' then if args.wikidata ~= '' and args.wikidata ~= nil then id = args.wikidata elseif args.wikidata_id ~= '' and args.wikidata_id ~= nil then id = args.wikidata_id elseif args.page ~= '' and args.page ~= nil then local title = mw.title.new( args.page ) id = mw.wikibase.getEntityIdForTitle( title.nsText .. title.text ) -- If no entity for this page, maybe it's a subpage and we should look for the root page's entity. if id == nil then id = mw.wikibase.getEntityIdForTitle( title.nsText .. title.rootText ) end end end if type( args ) == 'string' and args ~= '' then id = args end return mw.wikibase.getEntity( id ) end -------------------------------------------------------------------------------- -- Exported method. Get wikitext for displaying an edition's badges from Wikidata. -- Test: =p.badge({args={qid='Q30097675'}}) function p.badge( frame ) local args = frame.args or frame -- via invoke or require local item = getItem( args ) --por defecto, id de la página local badges = {} if args.qid ~= nil then --pero si pasamos un qid, id pasado item = mw.wikibase.getEntity(args.qid) end local status = args.ws -- status en el índice a badge if status == 'C' or status == 'P' then status = "Q20748091" elseif status == 'V' then status = "Q20748092" elseif status == 'T' then status = "Q20748093" elseif status == 'E' or status == 'L' then status = "Q20748094" end if not ( item and item.sitelinks and item.sitelinks.eswikisource and #item.sitelinks.eswikisource.badges > 0) and not (status) then return '' end -- alguno con más prioridad que el otro? TODO: hacer algo en caso de discrepancia if status then badges = {status} end if ( item and item.sitelinks and item.sitelinks.eswikisource and #item.sitelinks.eswikisource.badges > 0) then badges = {unpack(badges), unpack(item.sitelinks.eswikisource.badges)} end local out = '' for _, badge in pairs( badges ) do local badgeOut local badgeItem = mw.wikibase.getEntity( badge ) local wikisourceBadgeClass = 'Q75042035' local badgeName = '' if badgeItem.claims.P31[1].mainsnak.datavalue.value.id == wikisourceBadgeClass and badgeItem.claims.P18 ~= nil then local imageName = badgeItem.claims.P18[1].mainsnak.datavalue.value if mw.wikibase.getLabel( badge ) ~= nil then badgeName = mw.wikibase.getLabel( badge ) end -- TODO: Crear una página de ayuda apropiada para el nivel de los *textos* badgeOut = '<span class="indicator-badge">[[File:' .. imageName .. '|16px|link=Ayuda:Nivel de las páginas|' .. badgeName .. ']]</span>' if args.indicator then badgeOut = '<indicator name="wikisource-badge-' .. badgeName .. '">' .. badgeOut .. '</indicator>' end --[[ if args.category ~= nil and badgeItem.claims.P910 ~= nil then local categoryQid = badgeItem.claims.P910[1].mainsnak.datavalue.value.id local category = mw.wikibase.getEntity( categoryQid ) badgeOut = badgeOut .. '['..'[' .. category.sitelinks.enwikisource.title .. ']'..']' end ]] out = out .. badgeOut end end return mw.getCurrentFrame():preprocess(out) end return p ijclb08misjzykcqcfltn5j6hexzd1i Módulo:Biocitas 828 217349 1664215 1653810 2026-06-06T01:09:25Z Ignacio Rodríguez 3603 unificar funciones de Wikidata (falta poco) 1664215 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Enlaces = require('Módulo:Enlaces') local Str = require('Módulo:String') local Entidad = mw.wikibase.getEntityObject() -- Tabla con los datos en Wikidata de la persona. --parámetros reconocidos. 1 = vigente, 0 = obsoleto local params ={['texto']=1,['obras']=1,['documentos']=1,['foto']=1,['wikipedia']=0,['wikiquote']=0,['commons']=0,['wikispecies']=0,['wikidata']=1,['añomuerte']=1,['siglomuerte']=1,['añonacimiento']=1,['siglonacimiento']=1,['ordenar']=1,['inicial']=1,['añosmuerte']=0,['vivo']=1,['país']=1} local categorias = '' local withoutEpoque = true -- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados local function propiedad(PID, opciones ) local QID = Entidad and Entidad:getId() if not QID then return end local queryArgs = { item = QID, property = PID, lang = 'es', } if type(opciones) == 'table' then for k, v in pairs(opciones) do queryArgs[k] = v end end return Wikidata.claim(queryArgs) end local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) categorias=categorias..'[[Categoría:Wikisource:Artículos con errores en la plantilla Biocitas]]' return tostring(html) end -- Función para eliminar contenido entre paréntesis local function remove_parentheses(text) -- Sustituye todo lo que está entre paréntesis (incluyendo los paréntesis) por una cadena vacía if text==nil then return "" end local texto = text:gsub("%b()", "") if texto ~= nil then return texto else return text end end local function computeCenturyFromYear(year) -- Dado un año entrega el siglo if year >= 0 then return math.ceil(year / 100) else return -math.ceil(-year / 100) end end local function getTextForCentury(century) -- Dado un siglo en número, entrega un texto preformateado con -- números romanos y un indicador de antes de Cristo. local romanNumbers1 = {'', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X'} local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'} local text = romanNumbers2[math.floor(math.abs(century) / 10) + 1] .. romanNumbers1[math.floor(math.abs(century) % 10) + 1] if century > 0 then return 'Siglo '..text else return 'Siglo '.. text .. ' a. C.' end end local function getTextForYear(year) -- transforma un año de formato -45 a 45 a. C. local text = math.abs(year) if year < 0 then text = text .. ' a. C.' end return text end local function getDateFromArgs(args, field) -- Obtiene datos (fecha de nacimiento, fallecimiento) de parámetros determinados en la plantilla {{Biocitas}} -- con el formato AñoNacimiento, AñoMuerte, SigloNacimiento o SigloMuerte. TextoNacimiento o InciertoNacimiento también funciona local struct = { year = nil, century = nil, text = nil, precision = 0 } --extract year or century local date = args['año' .. field] if date == nil then date = args[field] end if tonumber(date) ~= nil then struct.year = tonumber(date) if struct.year == 0 then struct.text = errorMessage("¡El calendario gregoriano no tiene año 0!") return struct end struct.century = computeCenturyFromYear(struct.year) struct.precision = 9 elseif args['siglo' .. field] ~= nil then struct.century = tonumber(args['siglo' .. field]) struct.precision = 7 end --build text if struct.year ~= nil then struct.text = getTextForYear(struct.year) elseif struct.century ~= nil then struct.text = getTextForCentury(struct.century, true) else struct.text = date end if args['texto' .. field] ~= nil then struct.precision = 0 --we don't know anything struct.text = args['texto' .. field] .. ' ' .. struct.text end if args['incierto' .. field] ~= nil and struct.text ~= nil then struct.precision = 0 --we don't know anything struct.text = args['incierto' .. field] .. ' ' .. struct.text end return struct end local function parseWbTime(value) local _,_, year = string.find(value.time, '([%+%-]%d%d%d+)%-') year = tonumber(year) return { year = year, century = computeCenturyFromYear(year), text = nil, precision = value.precision } end local function getDateFromTimeStatement(statement, field) local struct = { year = nil, century = nil, text = nil, precision = 0 } local prefix = '' local snak = statement.mainsnak if snak.snaktype == 'novalue' then return struct end if statement.qualifiers ~= nil then if statement.qualifiers.P1480 ~= nil then for _,qualifier in pairs(statement.qualifiers.P1480) do if qualifier.datavalue.value['numeric-id'] == 5727902 then struct = parseWbTime(snak.datavalue.value) prefix = 'circa ' struct.precision = 8 --TODO: hacky end end end if statement.qualifiers.P1319 ~= nil then for _,qualifier in pairs(statement.qualifiers.P1319) do struct = parseWbTime(qualifier.datavalue.value) prefix = 'después de' struct.precision = 8 --TODO: hacky end elseif statement.qualifiers.P1326 ~= nil then for _,qualifier in pairs(statement.qualifiers.P1326) do struct = parseWbTime(qualifier.datavalue.value) prefix = 'antes de ' struct.precision = 8 --TODO: hacky end elseif statement.qualifiers.P1317 ~= nil then for _,qualifier in pairs(statement.qualifiers.P1317) do struct = parseWbTime(qualifier.datavalue.value) prefix = 'floruit ' struct.precision = 8 --TODO: hacky end else struct = parseWbTime(snak.datavalue.value) end elseif snak.snaktype == 'value' then struct = parseWbTime(snak.datavalue.value) else return struct end --Create text if struct.precision >= 9 then struct.text = prefix .. getTextForYear(struct.year) elseif struct.precision == 8 then struct.text = prefix .. getTextForYear(struct.year) elseif struct.precision == 7 then struct.text = prefix .. getTextForCentury(struct.century, true) else struct.text = errorMessage('La fecha de ' .. field .. ' tiene muy poca precisión en Wikidata') end return struct end local function getDateFromTimeStatements(statements, field) -- Función que obtiene las fechas desde Wikidata (copiada literal sin adaptaciones desde la frWS) if #statements == 0 then return { precision = 0 } end local time = nil for _, statement in pairs(statements) do local newTime = getDateFromTimeStatement(statement, field) if time == nil then time = newTime elseif time.year ~= newTime.year then --si hay años contradictorios time.precision = 8 --html:wikitext(errorMessage('Hay varios años de ' .. field .. ' posibles en Wikidata. Una manera de resolver este error es fijar una de las dos fechas como "preferida".')) --return { --text = errorMessage('Hay varios años de ' .. field .. ' posibles en Wikidata. Una manera de resolver este error es fijar una de las dos fechas como "preferida".'), -- precision = 0 --} end end if time == nil then return { precision = 0 } end return time end local function resolverFecha(arg, wd) local fecha = arg if arg.text == nil and wd ~= nil then fecha = wd elseif arg.text ~= nil then categorias = categorias..'[[Categoría:Wikisource:Artículos con datos locales]]' if wd and wd.text == nil then categorias = categorias..'[[Categoría:Wikisource:Artículos con datos por trasladar a Wikidata]]' end end return fecha end local function categoriaEpoca(fecha, tol) local categoria = '' if fecha.century ~= nil and (fecha.year == nil or fecha.year <= fecha.century * 100 + tol or fecha.precision <=8 ) then if 14 <= fecha.century then categoria='[[Categoría:Autores del ' .. getTextForCentury(fecha.century, false) .. ']]' end if 6 <= fecha.century and fecha.century <= 14 then categoria=categoria..'[[Categoría:Autores de la Edad Media]]' end if fecha.century < 6 then categoria='[[Categoría:Autores de la Antigüedad]]' end withoutEpoque = false end return categoria end function p.biocitas( frame ) -- función principal para llamar desde {{biocitas}} if mw.title.getCurrentTitle().namespace ~= 106 then return errorMessage('La plantilla Biocitas se utiliza solo en espacios de nombres Autor, por ejemplo Autor:Miguel de Cervantes') end local argus = {} for k,v in pairs(frame:getParent().args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end local html = mw.html.create() -- cuerpo principal de la plantilla local tabla = html:tag('table'):addClass('divgrande') local divgrande = tabla:tag('tr')--:addClass('divgrande') -- div principal que contiene al resto -- WIKIDATA! -- if not Entidad and argus['wikidata'] then Entidad = mw.wikibase.getEntityObject(argus['wikidata']) end if not Entidad then categorias=categorias..'[[Categoría:Wikisource:Artículos de autores no conectados a Wikidata]]' html:wikitext(errorMessage('<small>Error: Los artículos de autores deben estar enlazados en Wikidata. '.. 'Agrega un enlace a otro proyecto usando el link en la columna izquierda, '.. 'o '..frame:preprocess('[https://www.wikidata.org/wiki/Special:NewItem?site=eswikisource&page={{FULLPAGENAMEE}} crea un nuevo elemento en Wikidata]')..'</small>')) end ---- variables para manejar fechas de muerte y nacimiento local nacimientoArg = getDateFromArgs(argus, 'nacimiento') local muerteArg = getDateFromArgs(argus, 'muerte') local floruitArg = getDateFromArgs(argus, 'floruit') local nacimientoWikidata = nil local muerteWikidata = nil local floruitWikidata = nil if Entidad then --si existe la entidad en Wikidata, obtiene las fechas desde ahí. nacimientoWikidata = getDateFromTimeStatements(Entidad:getBestStatements('P569'), 'nacimiento') muerteWikidata = getDateFromTimeStatements(Entidad:getBestStatements('P570'), 'muerte') floruitWikidata = getDateFromTimeStatements(Entidad:getBestStatements('P1317'), 'floruit') floruitWikidata.precision = 8 end local nacimiento = resolverFecha(nacimientoArg, nacimientoWikidata) local muerte = resolverFecha(muerteArg, muerteWikidata) local floruit = resolverFecha(floruitArg, floruitWikidata) if nacimiento.precision >= 9 and nacimiento.year > 1300 then categorias=categorias..'[[Categoría:N' .. nacimiento.year .. ']]' end if muerte.precision >= 9 and muerte.year > 1300 then categorias=categorias..'[[Categoría:F' .. muerte.year .. ']]' end categorias=categorias..categoriaEpoca(nacimiento, -20) categorias=categorias..categoriaEpoca(muerte, 5) categorias=categorias..categoriaEpoca(floruit, 0) if withoutEpoque then categorias=categorias..'[[Categoría:Época desconocida]]' end --año de la muerte, para las plantillas local anomuerte local anosmuerte = argus['añosmuerte'] if muerte.year then anomuerte = getTextForYear(muerte.year) elseif muerte.century then anomuerte = muerte.century*100 elseif argus['añomuerte'] ~= '' and argus['añomuerte'] ~= nil then anomuerte = argus['añomuerte'] elseif argus['siglomuerte'] ~= '' and argus['siglomuerte'] ~= nil then anomuerte = (tonumber(argus['siglomuerte']))*100 elseif floruit.year then --muerte presunta 70 años después de florecer anomuerte = getTextForYear(floruit.year + 70) elseif floruit.century then --si sólo se conoce el siglo, murió a mediados de siglo anomuerte = floruit.century*100 - 50 end --artículos sin información de año de muerte if (argus['vivo']==nil or argus['vivo']=='') and (anomuerte == '' or anomuerte ==nil) and (muerte.century == '' or muerte.century ==nil) then categorias = categorias..'[[Categoría:Wikisource:Artículos de autores sin información de año de muerte]]' end -- texto fechas local textofechas = '' if nacimiento.text or muerte.text then textofechas = (nacimiento.text or '')..' - '..(muerte.text or '') elseif floruit.text then textofechas = 'fl. '..floruit.text end -- esqueleto y CSS de los divs internos local foto = divgrande:tag('td'):addClass('bc-foto') local medio = divgrande:tag('td'):addClass('bc-medio') --local divtitulo = medio:tag('div'):addClass('bc-titulo') local enlaces = divgrande:tag('td'):addClass('bc-enlaces') local derechos = html:tag('div'):addClass('bc-derechos') --variables locales local sep = "<span style='display:inline-block; width:.5em;'>&nbsp;</span>" local nombre = frame:preprocess("{{PAGENAME}}") --Contenido de los divs secundarios --divtitulo:wikitext("Ficha de ".. nombre:gsub(' %(.*%)','')) --en el título nombres sin paréntesis -- Lista de enlaces if (not argus['wikidata'] or argus['wikidata'] == '') and Entidad~=nil then argus['wikidata']=Entidad.id --enlazar a elemento wikidata end ---- Enlaces uno por uno --- local listaenlaces = Enlaces.all(argus) if argus['obras'] ~= 'none' then --Obras (aparece siempre por defecto a menos que se defina como none) listaenlaces["obras"] = { ['name'] = 'Categoría de obras', ['image'] = 'Wikisource-logo.svg', ['text'] = 'Obras', ['prefix'] = ':Categoría:Obras de ', ['title'] = '', } if argus['obras'] ~= '' and argus['obras'] ~= nil then listaenlaces["obras"]["title"] = argus['obras'] else listaenlaces["obras"]["title"] = nombre end end -- crea elementos para el resto de los enlaces listaenlaces["documentos"] = { ['name'] = 'Categoría de documentos', ['image'] = 'Wikisource-logo.svg', ['text'] = 'Documentos ', ['prefix'] = ':Categoría:Documentos de ', ['title'] = argus['documentos'] or '', } -- texto propio de biocitas listaenlaces["eswiki"]["text"] = "Biografía" listaenlaces["eswikiquote"]["text"] = "Citas" listaenlaces["commonswiki"]["text"] = "Multimedia" listaenlaces["specieswiki"]["text"] = "Especies descritas" listaenlaces["wikidata"]["text"] = "Metadatos" local orden = {'obras', 'documentos', 'eswiki', 'eswikiquote', 'commonswiki', 'specieswiki', 'wikidata'} local textoenlaces = Enlaces.formattedbiocitas(listaenlaces, orden) enlaces:wikitext(textoenlaces) --llave automágica local apellidos = mw.text.trim((propiedad('p734',{list=false, formatting='label'}) or '')..' '..(propiedad('p1950',{list=false, formatting='label'}) or '')) local nombres = (propiedad('P735',{conjunction=' ', formatting='label'}) or '') if apellidos == '' or apellidos == nil then --p.ej. Alonso de Villegas, Autor:Jerónimo Bécker, etc. apellidos = nombres --Mejor que "Autores-," cuando no existe apellido end if string.sub(apellidos,1,3) == 'de ' then apellidos = string.sub(apellidos,4) end local llave=(apellidos..', '..nombres) ~= ', ' and (apellidos..', '..nombres) mw.log(llave) -- Ordenar e Iniciales-- if argus['ordenar']==nil and llave then argus['ordenar'] = llave end if argus['ordenar'] ~= nil then if argus['inicial'] == nil then argus['inicial'] = Str.CaracterParaOrdenar(argus['ordenar']) --Si no está especificada la inicial, la saca de la primera letra de la llave de ordenado. end html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. argus['ordenar'] .. '}}')) categorias=categorias..'[[Categoría:Autores-'..argus['inicial']..']]' --categoría Autores-X else html:wikitext(errorMessage("El parámetro «|Ordenar=» es obligatorio")) categorias=categorias..'[[Categoría:Wikisource:Artículos de autores sin llave de ordenamiento]]' --categoría Autores-X end if argus['ordenar'] ~= nil then -- Véase también enlaces:tag('div') :addClass('bc-enlace') :wikitext("◄"..sep.."[[:Categoría:Autores-"..argus['inicial'].."|Autores-"..argus['inicial'].."]]") --enlace a Autores-X end --- Índice de autores --- --indice = enlaces:tag('div') --indice -- :addClass('bc-enlace') -- :wikitext("[[:Categoría:Autores|Índice de autores]]") -- Texto de al medio if argus['texto'] ~= '' and argus['texto'] ~= nil then medio:wikitext(argus['texto']) else local description = remove_parentheses(mw.wikibase.getDescription()) medio:wikitext("'''"..nombre.."'''<br/>("..textofechas..')<br/>'..(description or '')) categorias = categorias..'[[Categoría:Wikisource:Autores con texto automático]]' end -- Firma ( aun no se puede conectar con otras Q de wikidata :( ) --if argus['wikidata']== '' then if propiedad('p109') then medio:wikitext("<br><br> [[File:"..propiedad('p109',{list=false}).."|frameless|99999x50px|center|Firma]]") end --else -- if propiedad ('p109',{['entidad']=argus['wikidata']}) ~= '' then -- medio:wikitext("<br><br> [[File:"..propiedad('p109',{list=false,['entidad']=argus['wikidata']}).."|frameless|center|Firma]]") -- end -- end -- Retrato autor -- local sexo = propiedad('p21', {formatting='label'}) if argus['foto'] ~= '' and argus['foto'] ~= nil then foto:wikitext("[[File:"..argus['foto'].."|frameless|99999x150px|center]]") elseif propiedad('p18') then foto:wikitext("[[File:"..propiedad('p18',{list=false}).."|frameless|99999x150px|"..propiedad('p18',{qualifier='P2096'}).."|center]]") else local faltaFoto local fotos = {'Silver - replace this image male.svg', 'Silver - replace this image female.svg','Falta foto.jpg'} if sexo == "masculino" then faltaFoto = fotos[1] elseif sexo == "femenino" then faltaFoto = fotos[2] else faltaFoto = fotos[3] end foto:wikitext("[[File:"..faltaFoto.."|frameless|99999x150px|center]]") end --Plantilla de derechos if anomuerte ~='' and anomuerte ~= nil then derechos :wikitext(frame:preprocess("{{DP-Autor|"..anomuerte.."}}")) elseif anosmuerte ~='' and anosmuerte ~= nil then derechos :wikitext(frame:preprocess("{{DP-AUTOR-"..anosmuerte.."}}")) else derechos :wikitext(frame:preprocess("{{DP-AUTOR-none}}")) end -- categorías-- categorias=categorias.."[[Categoría:Autores]]" if argus['vivo'] and mw.ustring.lower(argus['vivo']) ~= 'no' then categorias=categorias.."[[Categoría:Personas vivas]]" end -- categorizar por país: primera prioridad la tienen if argus['país'] ~= nil and argus['país'] ~='' then categorias=categorias.."[[Categoría:Autores "..frame:preprocess("{{gentilicio|"..argus['país'].."|mp}}").."]]" else argus['país'] = propiedad('P27',{conjunction=',', formatting='label'}) if argus['país'] ~= nil and argus['país'] ~='' then --el módulo Wikidata entrega la información en palabras separadas por coma. Esto convierte esa información en una tabla y itera en sus ítems (para autores con más de una nacionalidad) for _,v in ipairs(mw.text.split(argus['país'], '[,]')) do --categoría Autores por país: usa plantilla {{gentilicio}} categorias=categorias.."[[Categoría:Autores "..frame:preprocess("{{gentilicio|"..v.."|mp}}").."]]" end else categorias=categorias.."[[Categoría:Wikisource:Artículos de autores sin país]]" end end for k,v in pairs(argus) do if params[k] then if params[k] == 0 then categorias = categorias..'[[Categoría:Wikisource:Artículos que usan parámetros obsoletos en la plantilla Biocitas]]' --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) categorias=categorias..'[[Categoría:Wikisource:Artículos que usan parámetros no reconocidos en la plantilla Biocitas]]' end end if mw.title.getCurrentTitle().namespace ~= 106 then --solo categorías en el espacio principal categorias = '' end html:wikitext(categorias) return tostring(html) .. '\n__NOTOC__' end return p p4968opserzrmfd6ak3deplg4awjrw2 Categoría:Mantenimiento de autores 14 217676 1664214 818740 2026-06-06T01:06:24Z Ignacio Rodríguez 3603 1664214 wikitext text/x-wiki Véase {{tl|Biocitas}}. [[Categoría:Wikisource:Mantenimiento]] [[Categoría:Autores]] em75mxahshx4he8y5im2io0mg6kvq73 Módulo:Encabezado/pruebas 828 225014 1664244 1663477 2026-06-06T05:20:22Z Ignacio Rodríguez 3603 casi listo, pero es muy de madrugada 1664244 Scribunto text/plain require('strict') local p = {} local QID = mw.wikibase.getEntityIdForCurrentPage() local Str = require('Módulo:String') local delink = Str.delink local Args = require('Módulo:Arguments') local Enlaces = require('Módulo:Enlaces') local Obra = require('Módulo:Obra/pruebas') local categorias = {} local errorcats = {} local lang = mw.language.new('es') --parámetros reconocidos. 1 = vigente, 0 = obsoleto. En orden alfabético: local params = {['ano']=1,['anterior']=1,['audio']=1,['autor']=1,["bilingüe"]=1,['catálogo']=0,['commons']=1,['commonscat']=1,['derechos']=1,['desambiguación']=1, ['editor']=1, ['editorial']=1, ['enlaces']=1,['históricos']=1,['ilustrador']=1,['imprenta']=1, ['lugar']=1, ['más info']=1,['meta']=1,['noano']=1,['notas']=1, ['progreso']=1, ['próximo']=1, ['sección']=1,['sección autor']=1,['sub-titulo']=1,['subsección']=1,['subpágina']=1,['titulo']=1,['traductor']=1,['última muerte']=1, ['volumen']=1, ['wikcionario']=1,['wikidata']=1,['wikilibros']=1,['wikinoticias']=1,['wikipedia']=1,['wikiquote']=1,['wikispecies']=1,['wikiversidad']=1, ['header']=1, ['index']=1, ['index_wikidata']=1 } local enlacePagina = mw.title.getCurrentTitle().text local textoenlace=mw.uri.encode(enlacePagina, "QUERY") local altparams= {['título']='titulo', ['title']='titulo', ['subtítulo']='sub-titulo', ['subtitulo']='sub-titulo', ['sub-título']='sub-titulo', ['sub-title']='sub-titulo', ['subtitle']='sub-titulo', ['left']='anterior', ['right']='próximo', ['siguiente']='próximo', ['author']='autor', ['traducción']='traductor', ['año']='ano', ['bilingue']='bilingüe', ['noaño']='noano', ['nota']='notas', ['subpagina']='subpágina', ['seccion']='sección', ['seccion autor']='sección autor', ['seccion-autor']='sección autor', ['sección-autor']='sección autor' } local function aCadena(t) if type(t) == 'string' then return t end local z = {} for i, creator in ipairs(t) do z[i] = creator.text end return mw.text.listToText(z) end local function nav_link(argus, class, arrow, content) local span = mw.html.create('span'):addClass(class..'-span') span:tag('span'):addClass(class..'-span-arrow') if class=='prev' then span:wikitext(arrow .. ' ' .. content) end if class=='next' then span:wikitext(content .. ' ' .. arrow) end if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then span:cssText('display:none') end return tostring(span) end local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) table.insert(errorcats, '[[Categoría:Wikisource:Páginas con errores en la plantilla Encabe]]') return tostring(html) end local function linktarget(s) if not s:match("%[%[") then return s end local result = s -- Find the display area of the wikilink if result:match("|") then -- Find if we're dealing with a pipecd link. result = result:match("%[%[(.+)%|.+%]%]") else result = result:match("%[%[(.-)%]%]") end return result end local function link(s) if s:find("[%[%{%<]") then return s else return '[[Autor:'..s..'|'..s..']]' end end local deAutor = function(s) --Para [[Autor:AAA|BBB]], devuelve AAA -- remover entidades html s = s:gsub("<[%a%d%s%\"'/#;:=]+>", "") local m = mw.ustring.match(s, '%[%[Autor:(.+)%|.+%]%]') if m and m ~= '' then return m end m = mw.ustring.match(s, '%[%[Autor:(.+)%]%]') if m and m ~= '' then return m end --enlaces a wikidata u otros m = mw.ustring.match(s, '%[%[.+%|(.+)%]%]') if m and m ~= '' then return m end return delink(s) end local function enlaceMicroformato(param, valor) if valor and valor ~= '' then if type(valor) == 'string' then return mw.html.create('span') :addClass('ws-' .. param) --ws-author, ws-title, etc. :wikitext(delink(valor)) elseif type(valor) == 'table' then local spans = {} for i, v in ipairs(valor) do -- creadores if type(v)=='table' then v = v.wsPage or v.label end table.insert(spans, tostring(mw.html.create('span') :addClass('ws-' .. param) :wikitext(delink(v))) ) end return table.concat(spans) end end return '' end local function microformato(d, argus) local microformat = mw.html.create('div') :cssText('display:none') :attr('id', 'ws-data') :addClass('ws-noexport') -- todo: no captura datos del Índice si tiene otro Wikidata (p.ej. Q88887973) -- todo: los que no están en [[Plantilla:Proofreadpage header template]] (lugar, volumen, nivel) no llegan del -- índice y sólo los captura de Wikidata. if d.title and d.title ~= '' then microformat:node( enlaceMicroformato( 'title', d.title ) ) microformat:node( enlaceMicroformato( 'key', d.title ) ) --todo: mejorable end if d.pubYear and d.pubYear ~= '' then microformat:node( enlaceMicroformato( 'year', d.pubYear ) ) end if d.author and d.author ~= '' then microformat:node( enlaceMicroformato( 'author', d.author ) ) end if d.translator and d.translator ~= '' then microformat:node( enlaceMicroformato( 'translator', d.translator ) ) end if d.illustrator and d.illustrator ~= '' then microformat:node( enlaceMicroformato( 'illustrator', d.illustrator ) ) end if argus["sección"] and argus["sección"] ~= '' then microformat:node( enlaceMicroformato( 'chapter', argus["sección"] ) ) end if d.printer and d.printer ~= '' then --ojo: Editorial ~= Editor ~= Imprenta microformat:node( enlaceMicroformato( 'publisher', d.printer ) ) end if d.place and d.place ~= '' then microformat:node( enlaceMicroformato( 'place', d.place ) ) end if d.nivel and d.nivel ~= '' then microformat:node( enlaceMicroformato( 'progress', d.nivel ) ) --puede que esté roto end if d.volume and d.volume ~= '' then microformat:node( enlaceMicroformato( 'volume', d.volume ) ) end --todo: pdte. (¿adaptar de [[:ca:Module:Header]]?) --if argus.index then -- microformat:node( enlaceMicroformato( 'scan', argus.index ) ) -- if argus.image and mw.ustring.match(argus.image, '^%d+$') ~= nil then -- microformat:node( enlaceMicroformato( 'cover', argus.index .. '/' .. argus.image ) ) -- end -- end --todo: ¿extraer de listaenlaces? argus.x ~= listaenlaces if argus.wikipedia and argus.wikipedia ~= '' then microformat:node( enlaceMicroformato( 'wikipedia', argus.wikipedia ) ) end if argus.wikiquote and argus.wikiquote ~= '' then microformat:node( enlaceMicroformato( 'wikiquote', argus.wikiquote ) ) end if argus.commonscat and argus.commonscat ~= '' then microformat:node( enlaceMicroformato( 'commons', argus.commons ) ) end if argus.notas and argus.notas ~= '' then microformat:tag('div') --no puede ser span :addClass('ws-summary') :wikitext(argus.notas) end return tostring(microformat) end local function buscaDesam(title) local match = string.match( title.text, '(.-) %(.-%)') if not match then return end local desam = mw.title.new(match) for i, cat in ipairs(desam.categories) do if cat == 'Wikisource:Páginas de desambiguación' then return match end end end local function personaCats(t, catprefix, cats) if t then for i, creator in ipairs(t) do local name = creator.wsPage or creator.label local delinked = delink(name) if (delinked == 'Anónimo') or (delinked == 'valor desconocido') then table.insert(cats, '[[Categoría:'..catprefix..' de autor anónimo]]') else table.insert(cats, '[[Categoría:'..catprefix..' de '..deAutor(name):match("^%s*(.-)%s*$") ..']]') end end end if catprefix ~= '' then return cats end return '' end function p.encabe( frame ) local titulo = mw.title.getCurrentTitle() local html = mw.html.create() local argus = Args.getArgs(frame) argus = Args.alias(argus, altparams) argus.index_wikidata = argus.wikidata local essub = titulo.isSubpage if argus['subpágina'] == 'no' then essub = false end -- QID real prevalece sobre el importado desde el índice (importante en subdivisiones) if QID and QID ~= '' then argus['wikidata'] = QID or argus['wikidata'] or '' end -- obtener todos los datos local d = Obra.newWork((QID or titulo.text), argus) --variables matemática derechos de autor local anosmuerte local anospub if d.pubYear and tonumber(d.pubYear) ~= nil then anospub = tonumber(lang:formatDate('Y')) - tonumber(d.pubYear) end if argus['última muerte'] and tonumber(argus['última muerte']) ~= nil then anosmuerte = tonumber(lang:formatDate('Y')) - tonumber(argus['última muerte']) end -- estructura HTML local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport notheme') -- div principal que contiene al resto local main = divgrande:tag('div'):addClass('main-div') local anterior = main:tag('div'):attr('id','headerprevious') local medio = main:tag('div'):addClass('middle-div') local proximo = main:tag('div'):attr('id','headernext') ----- enlaces de navegación if argus['anterior'] and argus['anterior'] ~= '' then anterior:wikitext(nav_link(argus, 'prev', '← ', argus['anterior'])) end if argus['próximo'] and argus['próximo'] ~= '' then proximo:wikitext(nav_link(argus, 'next', ' →', argus['próximo'])) end if d.partede then -- TODO: hacer algo con las obras que son parte de otras end -- datos bibliográficos if d.mainTitle then medio:wikitext("'''''".. d.mainTitle .."'''''") if d.subtitle then medio:wikitext(': '..'<span style="font-size:83%;">'.. d.subtitle ..'</span>') end if d.pubYear and not argus['noano'] then medio:wikitext(' ('.. d.pubYear ..')') if tonumber(d.pubYear) ~= nil then table.insert(categorias, '[[Categoría:P'.. d.pubYear ..']]') end end medio:wikitext('<br>') else table.insert(errorcats, '[[Categoría:Wikisource:Textos sin título]]') end if d.mainAuthor then personaCats(d.author, '', {}) medio:wikitext('de '.. aCadena(d.mainAuthor) ..'<br>') end if d.translator then personaCats(d.translator, 'Traducciones', categorias) medio:wikitext('traducción de '..aCadena(d.translator)..'<br>') end if d.illustrator then personaCats(d.illustrator, 'Ilustraciones', categorias) medio:wikitext('ilustración de '..aCadena(d.illustrator)..'<br>') end if argus['más info'] then medio:wikitext(argus['más info']..'<br>') end if d.title and d.title ~= d.mainTitle then medio:wikitext("''"..argus['sección'].."''") if d.author and aCadena(d.mainAuthor) ~= aCadena(d.author) then medio:wikitext(' de '..aCadena(d.author)) end if argus['subsección'] then medio:tag('span'):cssText('font-size: 83%;'):wikitext('<br>'..argus['subsección']) end end if not argus['desambiguación'] and not essub then argus['desambiguación'] = buscaDesam(titulo) end -- ENLACES A PROYECTOS HERMANOS local inferior = main:tag('div'):addClass('noprint plainlinks lower-div') local listaenlaces = Enlaces.all(argus) -- TODO: pasarlo al módulo enlaces, o es muy específico de encabezado? if d.edicionde then listaenlaces[3] = { ['name'] = 'Otras versiones', ['image'] = 'OOjs_UI_icon_book-ltr.svg', ['text'] = 'otras versiones', ['prefix'] = '', ['title'] = linktarget(d.edicionde),} end --matematica y manejo derechos de autor if argus['derechos'] then listaenlaces[1] = {['text'] = argus.derechos, ['image'] = 'PD-icon.svg', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = argus.derechos} if (argus['última muerte'] == 'seudónimo' or argus['última muerte'] == 'anónimo') and (anospub ~= nil) then local numero = math.floor((anospub - 1)/10) if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.a.p. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.a.p.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.a.p.]]') elseif argus['última muerte'] and (anosmuerte ~= nil) then local numero = math.floor((anosmuerte - 1)/10) if numero > 4 then --a partir de 50 p.m.a. if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.m.a. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.m.a.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.m.a.]]') end end local cadena = argus.derechos:gsub(" y ", ", ") -- Usar string.gmatch para separar por comas y procesar directamente for nombre in cadena:gmatch("([^,]+)") do table.insert(categorias, '[[Categoría:Publicado en '.. nombre:match("^%s*(.-)%s*$") ..']]') end --categorias = categorias..'[[Categoría:Publicado en '.. argus.derechos ..']]' end -- inserta enlaces inferior:wikitext(Enlaces.formattedlinks(listaenlaces)) if argus['bilingüe'] and argus['bilingüe'] ~= '' then inferior:wikitext('['..titulo:fullUrl({['match']=argus['bilingüe']})..' ver texto bilingüe]') end --Enlaces de descarga if not essub then local LinkExport='https://ws-export.wmcloud.org/?lang=es&page='..textoenlace..'&format=' local w = "<div style=\"font-size:80%\">Descargar como &nbsp;" w = w .. "[[Archivo:EPUB silk icon.svg|12px|link="..LinkExport.."epub|Descargar en formato ePub]]&nbsp;" w = w .. "[[Archivo:Document-pdf.svg|15px|link="..LinkExport.."pdf|Descargar en formato PDF]]&nbsp;" w = w .. "[[Archivo:Mobi_icon.svg|22px|link="..LinkExport.."mobi|Descargar en formato mobi]]</div>" inferior:wikitext(w) end if argus['notas'] and argus['notas'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end if argus['audio'] and argus['audio'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext(frame:expandTemplate{ title = 'Multimedia', args = { argus['audio'] } }) end --categorías automáticas if not essub then table.insert(categorias, '[[Categoría:ES-'..Str.CaracterParaOrdenar(titulo.rootText)..']]') else categorias = {'[[Categoría:'..titulo.rootText..']]'} html:wikitext('__EXPECTED_UNCONNECTED_PAGE__') end for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Encabe]]') --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Encabe]]') end end if titulo.namespace ~= 0 then --solo categorías en el espacio principal categorias = {} end table.sort(categorias) html:wikitext(table.concat(categorias)) html:wikitext(table.concat(errorcats)) html:wikitext(microformato(d, argus)) return tostring(html) end return p 6jsj56283htstx63ks8xcscofnnuwrc 1664246 1664244 2026-06-06T05:24:38Z Ignacio Rodríguez 3603 1664246 Scribunto text/plain require('strict') local p = {} local QID = mw.wikibase.getEntityIdForCurrentPage() local Str = require('Módulo:String') local delink = Str.delink local Args = require('Módulo:Arguments') local Enlaces = require('Módulo:Enlaces') local Obra = require('Módulo:Obra/pruebas') local categorias = {} local errorcats = {} local lang = mw.language.new('es') --parámetros reconocidos. 1 = vigente, 0 = obsoleto. En orden alfabético: local params = {['ano']=1,['anterior']=1,['audio']=1,['autor']=1,["bilingüe"]=1,['catálogo']=0,['commons']=1,['commonscat']=1,['derechos']=1,['desambiguación']=1, ['editor']=1, ['editorial']=1, ['enlaces']=1,['históricos']=1,['ilustrador']=1,['imprenta']=1, ['lugar']=1, ['más info']=1,['meta']=1,['noano']=1,['notas']=1, ['progreso']=1, ['próximo']=1, ['sección']=1,['sección autor']=1,['sub-titulo']=1,['subsección']=1,['subpágina']=1,['titulo']=1,['traductor']=1,['última muerte']=1, ['volumen']=1, ['wikcionario']=1,['wikidata']=1,['wikilibros']=1,['wikinoticias']=1,['wikipedia']=1,['wikiquote']=1,['wikispecies']=1,['wikiversidad']=1, ['header']=1, ['index']=1, ['index_wikidata']=1 } local enlacePagina = mw.title.getCurrentTitle().text local textoenlace=mw.uri.encode(enlacePagina, "QUERY") local altparams= {['título']='titulo', ['title']='titulo', ['subtítulo']='sub-titulo', ['subtitulo']='sub-titulo', ['sub-título']='sub-titulo', ['sub-title']='sub-titulo', ['subtitle']='sub-titulo', ['left']='anterior', ['right']='próximo', ['siguiente']='próximo', ['author']='autor', ['traducción']='traductor', ['año']='ano', ['bilingue']='bilingüe', ['noaño']='noano', ['nota']='notas', ['subpagina']='subpágina', ['seccion']='sección', ['seccion autor']='sección autor', ['seccion-autor']='sección autor', ['sección-autor']='sección autor' } local function aCadena(t) if type(t) == 'string' then return t end local z = {} for i, creator in ipairs(t) do z[i] = creator.text end return mw.text.listToText(z) end local function nav_link(argus, class, arrow, content) local span = mw.html.create('span'):addClass(class..'-span') span:tag('span'):addClass(class..'-span-arrow') if class=='prev' then span:wikitext(arrow .. ' ' .. content) end if class=='next' then span:wikitext(content .. ' ' .. arrow) end if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then span:cssText('display:none') end return tostring(span) end local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) table.insert(errorcats, '[[Categoría:Wikisource:Páginas con errores en la plantilla Encabe]]') return tostring(html) end local function linktarget(s) if not s:match("%[%[") then return s end local result = s -- Find the display area of the wikilink if result:match("|") then -- Find if we're dealing with a pipecd link. result = result:match("%[%[(.+)%|.+%]%]") else result = result:match("%[%[(.-)%]%]") end return result end local function link(s) if s:find("[%[%{%<]") then return s else return '[[Autor:'..s..'|'..s..']]' end end local deAutor = function(s) --Para [[Autor:AAA|BBB]], devuelve AAA -- remover entidades html s = s:gsub("<[%a%d%s%\"'/#;:=]+>", "") local m = mw.ustring.match(s, '%[%[Autor:(.+)%|.+%]%]') if m and m ~= '' then return m end m = mw.ustring.match(s, '%[%[Autor:(.+)%]%]') if m and m ~= '' then return m end --enlaces a wikidata u otros m = mw.ustring.match(s, '%[%[.+%|(.+)%]%]') if m and m ~= '' then return m end return delink(s) end local function enlaceMicroformato(param, valor) if valor and valor ~= '' then if type(valor) == 'string' then return mw.html.create('span') :addClass('ws-' .. param) --ws-author, ws-title, etc. :wikitext(delink(valor)) elseif type(valor) == 'table' then local spans = {} for i, v in ipairs(valor) do -- creadores if type(v)=='table' then v = v.wsPage or v.label end table.insert(spans, tostring(mw.html.create('span') :addClass('ws-' .. param) :wikitext(delink(v))) ) end return table.concat(spans) end end return '' end local function microformato(d, argus) local microformat = mw.html.create('div') :cssText('display:none') :attr('id', 'ws-data') :addClass('ws-noexport') -- todo: no captura datos del Índice si tiene otro Wikidata (p.ej. Q88887973) -- todo: los que no están en [[Plantilla:Proofreadpage header template]] (lugar, volumen, nivel) no llegan del -- índice y sólo los captura de Wikidata. if d.title and d.title ~= '' then microformat:node( enlaceMicroformato( 'title', d.title ) ) microformat:node( enlaceMicroformato( 'key', d.title ) ) --todo: mejorable end if d.pubYear and d.pubYear ~= '' then microformat:node( enlaceMicroformato( 'year', d.pubYear ) ) end if d.author and d.author ~= '' then microformat:node( enlaceMicroformato( 'author', d.author ) ) end if d.translator and d.translator ~= '' then microformat:node( enlaceMicroformato( 'translator', d.translator ) ) end if d.illustrator and d.illustrator ~= '' then microformat:node( enlaceMicroformato( 'illustrator', d.illustrator ) ) end if argus["sección"] and argus["sección"] ~= '' then microformat:node( enlaceMicroformato( 'chapter', argus["sección"] ) ) end if d.printer and d.printer ~= '' then --ojo: Editorial ~= Editor ~= Imprenta microformat:node( enlaceMicroformato( 'publisher', d.printer ) ) end if d.place and d.place ~= '' then microformat:node( enlaceMicroformato( 'place', d.place ) ) end if d.nivel and d.nivel ~= '' then microformat:node( enlaceMicroformato( 'progress', d.nivel ) ) --puede que esté roto end if d.volume and d.volume ~= '' then microformat:node( enlaceMicroformato( 'volume', d.volume ) ) end --todo: pdte. (¿adaptar de [[:ca:Module:Header]]?) --if argus.index then -- microformat:node( enlaceMicroformato( 'scan', argus.index ) ) -- if argus.image and mw.ustring.match(argus.image, '^%d+$') ~= nil then -- microformat:node( enlaceMicroformato( 'cover', argus.index .. '/' .. argus.image ) ) -- end -- end --todo: ¿extraer de listaenlaces? argus.x ~= listaenlaces if argus.wikipedia and argus.wikipedia ~= '' then microformat:node( enlaceMicroformato( 'wikipedia', argus.wikipedia ) ) end if argus.wikiquote and argus.wikiquote ~= '' then microformat:node( enlaceMicroformato( 'wikiquote', argus.wikiquote ) ) end if argus.commonscat and argus.commonscat ~= '' then microformat:node( enlaceMicroformato( 'commons', argus.commons ) ) end if argus.notas and argus.notas ~= '' then microformat:tag('div') --no puede ser span :addClass('ws-summary') :wikitext(argus.notas) end return tostring(microformat) end local function buscaDesam(title) local match = string.match( title.text, '(.-) %(.-%)') if not match then return end local desam = mw.title.new(match) for i, cat in ipairs(desam.categories) do if cat == 'Wikisource:Páginas de desambiguación' then return match end end end local function personaCats(t, catprefix, cats) if t then for i, creator in ipairs(t) do local name = creator.text local delinked = delink(name) if (delinked == 'Anónimo') or (delinked == 'valor desconocido') then table.insert(cats, '[[Categoría:'..catprefix..' de autor anónimo]]') else table.insert(cats, '[[Categoría:'..catprefix..' de '..deAutor(name):match("^%s*(.-)%s*$") ..']]') end end end if catprefix ~= '' then return cats end return '' end function p.encabe( frame ) local titulo = mw.title.getCurrentTitle() local html = mw.html.create() local argus = Args.getArgs(frame) argus = Args.alias(argus, altparams) argus.index_wikidata = argus.wikidata local essub = titulo.isSubpage if argus['subpágina'] == 'no' then essub = false end -- QID real prevalece sobre el importado desde el índice (importante en subdivisiones) if QID and QID ~= '' then argus['wikidata'] = QID or argus['wikidata'] or '' end -- obtener todos los datos local d = Obra.newWork((QID or titulo.text), argus) --variables matemática derechos de autor local anosmuerte local anospub if d.pubYear and tonumber(d.pubYear) ~= nil then anospub = tonumber(lang:formatDate('Y')) - tonumber(d.pubYear) end if argus['última muerte'] and tonumber(argus['última muerte']) ~= nil then anosmuerte = tonumber(lang:formatDate('Y')) - tonumber(argus['última muerte']) end -- estructura HTML local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport notheme') -- div principal que contiene al resto local main = divgrande:tag('div'):addClass('main-div') local anterior = main:tag('div'):attr('id','headerprevious') local medio = main:tag('div'):addClass('middle-div') local proximo = main:tag('div'):attr('id','headernext') ----- enlaces de navegación if argus['anterior'] and argus['anterior'] ~= '' then anterior:wikitext(nav_link(argus, 'prev', '← ', argus['anterior'])) end if argus['próximo'] and argus['próximo'] ~= '' then proximo:wikitext(nav_link(argus, 'next', ' →', argus['próximo'])) end if d.partede then -- TODO: hacer algo con las obras que son parte de otras end -- datos bibliográficos if d.mainTitle then medio:wikitext("'''''".. d.mainTitle .."'''''") if d.subtitle then medio:wikitext(': '..'<span style="font-size:83%;">'.. d.subtitle ..'</span>') end if d.pubYear and not argus['noano'] then medio:wikitext(' ('.. d.pubYear ..')') if tonumber(d.pubYear) ~= nil then table.insert(categorias, '[[Categoría:P'.. d.pubYear ..']]') end end medio:wikitext('<br>') else table.insert(errorcats, '[[Categoría:Wikisource:Textos sin título]]') end if d.mainAuthor then personaCats(d.author, '', {}) medio:wikitext('de '.. aCadena(d.mainAuthor) ..'<br>') end if d.translator then personaCats(d.translator, 'Traducciones', categorias) medio:wikitext('traducción de '..aCadena(d.translator)..'<br>') end if d.illustrator then personaCats(d.illustrator, 'Ilustraciones', categorias) medio:wikitext('ilustración de '..aCadena(d.illustrator)..'<br>') end if argus['más info'] then medio:wikitext(argus['más info']..'<br>') end if d.title and d.title ~= d.mainTitle then medio:wikitext("''"..argus['sección'].."''") if d.author and aCadena(d.mainAuthor) ~= aCadena(d.author) then medio:wikitext(' de '..aCadena(d.author)) end if argus['subsección'] then medio:tag('span'):cssText('font-size: 83%;'):wikitext('<br>'..argus['subsección']) end end if not argus['desambiguación'] and not essub then argus['desambiguación'] = buscaDesam(titulo) end -- ENLACES A PROYECTOS HERMANOS local inferior = main:tag('div'):addClass('noprint plainlinks lower-div') local listaenlaces = Enlaces.all(argus) -- TODO: pasarlo al módulo enlaces, o es muy específico de encabezado? if d.edicionde then listaenlaces[3] = { ['name'] = 'Otras versiones', ['image'] = 'OOjs_UI_icon_book-ltr.svg', ['text'] = 'otras versiones', ['prefix'] = '', ['title'] = linktarget(d.edicionde),} end --matematica y manejo derechos de autor if argus['derechos'] then listaenlaces[1] = {['text'] = argus.derechos, ['image'] = 'PD-icon.svg', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = argus.derechos} if (argus['última muerte'] == 'seudónimo' or argus['última muerte'] == 'anónimo') and (anospub ~= nil) then local numero = math.floor((anospub - 1)/10) if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.a.p. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.a.p.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.a.p.]]') elseif argus['última muerte'] and (anosmuerte ~= nil) then local numero = math.floor((anosmuerte - 1)/10) if numero > 4 then --a partir de 50 p.m.a. if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.m.a. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.m.a.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.m.a.]]') end end local cadena = argus.derechos:gsub(" y ", ", ") -- Usar string.gmatch para separar por comas y procesar directamente for nombre in cadena:gmatch("([^,]+)") do table.insert(categorias, '[[Categoría:Publicado en '.. nombre:match("^%s*(.-)%s*$") ..']]') end --categorias = categorias..'[[Categoría:Publicado en '.. argus.derechos ..']]' end -- inserta enlaces inferior:wikitext(Enlaces.formattedlinks(listaenlaces)) if argus['bilingüe'] and argus['bilingüe'] ~= '' then inferior:wikitext('['..titulo:fullUrl({['match']=argus['bilingüe']})..' ver texto bilingüe]') end --Enlaces de descarga if not essub then local LinkExport='https://ws-export.wmcloud.org/?lang=es&page='..textoenlace..'&format=' local w = "<div style=\"font-size:80%\">Descargar como &nbsp;" w = w .. "[[Archivo:EPUB silk icon.svg|12px|link="..LinkExport.."epub|Descargar en formato ePub]]&nbsp;" w = w .. "[[Archivo:Document-pdf.svg|15px|link="..LinkExport.."pdf|Descargar en formato PDF]]&nbsp;" w = w .. "[[Archivo:Mobi_icon.svg|22px|link="..LinkExport.."mobi|Descargar en formato mobi]]</div>" inferior:wikitext(w) end if argus['notas'] and argus['notas'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end if argus['audio'] and argus['audio'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext(frame:expandTemplate{ title = 'Multimedia', args = { argus['audio'] } }) end --categorías automáticas if not essub then table.insert(categorias, '[[Categoría:ES-'..Str.CaracterParaOrdenar(titulo.rootText)..']]') else categorias = {'[[Categoría:'..titulo.rootText..']]'} html:wikitext('__EXPECTED_UNCONNECTED_PAGE__') end for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Encabe]]') --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Encabe]]') end end if titulo.namespace ~= 0 then --solo categorías en el espacio principal categorias = {} end table.sort(categorias) html:wikitext(table.concat(categorias)) html:wikitext(table.concat(errorcats)) html:wikitext(microformato(d, argus)) return tostring(html) end return p rnftejn8vpoltbb4mx2nvuqiz6ukjeg 1664247 1664246 2026-06-06T05:27:25Z Ignacio Rodríguez 3603 1664247 Scribunto text/plain require('strict') local p = {} local QID = mw.wikibase.getEntityIdForCurrentPage() local Str = require('Módulo:String') local delink = Str.delink local Args = require('Módulo:Arguments') local Enlaces = require('Módulo:Enlaces') local Obra = require('Módulo:Obra/pruebas') local categorias = {} local errorcats = {} local lang = mw.language.new('es') --parámetros reconocidos. 1 = vigente, 0 = obsoleto. En orden alfabético: local params = {['ano']=1,['anterior']=1,['audio']=1,['autor']=1,["bilingüe"]=1,['catálogo']=0,['commons']=1,['commonscat']=1,['derechos']=1,['desambiguación']=1, ['editor']=1, ['editorial']=1, ['enlaces']=1,['históricos']=1,['ilustrador']=1,['imprenta']=1, ['lugar']=1, ['más info']=1,['meta']=1,['noano']=1,['notas']=1, ['progreso']=1, ['próximo']=1, ['sección']=1,['sección autor']=1,['sub-titulo']=1,['subsección']=1,['subpágina']=1,['titulo']=1,['traductor']=1,['última muerte']=1, ['volumen']=1, ['wikcionario']=1,['wikidata']=1,['wikilibros']=1,['wikinoticias']=1,['wikipedia']=1,['wikiquote']=1,['wikispecies']=1,['wikiversidad']=1, ['header']=1, ['index']=1, ['index_wikidata']=1 } local enlacePagina = mw.title.getCurrentTitle().text local textoenlace=mw.uri.encode(enlacePagina, "QUERY") local altparams= {['título']='titulo', ['title']='titulo', ['subtítulo']='sub-titulo', ['subtitulo']='sub-titulo', ['sub-título']='sub-titulo', ['sub-title']='sub-titulo', ['subtitle']='sub-titulo', ['left']='anterior', ['right']='próximo', ['siguiente']='próximo', ['author']='autor', ['traducción']='traductor', ['año']='ano', ['bilingue']='bilingüe', ['noaño']='noano', ['nota']='notas', ['subpagina']='subpágina', ['seccion']='sección', ['seccion autor']='sección autor', ['seccion-autor']='sección autor', ['sección-autor']='sección autor' } local function aCadena(t) if type(t) == 'string' then return t end local z = {} for i, creator in ipairs(t) do z[i] = creator.text if (z[i] == 'Anónimo') or (z[i] == 'valor desconocido') then z[i] = '[[Portal:Anónimo|Anónimo]]' end end return mw.text.listToText(z) end local function nav_link(argus, class, arrow, content) local span = mw.html.create('span'):addClass(class..'-span') span:tag('span'):addClass(class..'-span-arrow') if class=='prev' then span:wikitext(arrow .. ' ' .. content) end if class=='next' then span:wikitext(content .. ' ' .. arrow) end if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then span:cssText('display:none') end return tostring(span) end local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) table.insert(errorcats, '[[Categoría:Wikisource:Páginas con errores en la plantilla Encabe]]') return tostring(html) end local function linktarget(s) if not s:match("%[%[") then return s end local result = s -- Find the display area of the wikilink if result:match("|") then -- Find if we're dealing with a pipecd link. result = result:match("%[%[(.+)%|.+%]%]") else result = result:match("%[%[(.-)%]%]") end return result end local function link(s) if s:find("[%[%{%<]") then return s else return '[[Autor:'..s..'|'..s..']]' end end local deAutor = function(s) --Para [[Autor:AAA|BBB]], devuelve AAA -- remover entidades html s = s:gsub("<[%a%d%s%\"'/#;:=]+>", "") local m = mw.ustring.match(s, '%[%[Autor:(.+)%|.+%]%]') if m and m ~= '' then return m end m = mw.ustring.match(s, '%[%[Autor:(.+)%]%]') if m and m ~= '' then return m end --enlaces a wikidata u otros m = mw.ustring.match(s, '%[%[.+%|(.+)%]%]') if m and m ~= '' then return m end return delink(s) end local function enlaceMicroformato(param, valor) if valor and valor ~= '' then if type(valor) == 'string' then return mw.html.create('span') :addClass('ws-' .. param) --ws-author, ws-title, etc. :wikitext(delink(valor)) elseif type(valor) == 'table' then local spans = {} for i, v in ipairs(valor) do -- creadores if type(v)=='table' then v = v.wsPage or v.label end table.insert(spans, tostring(mw.html.create('span') :addClass('ws-' .. param) :wikitext(delink(v))) ) end return table.concat(spans) end end return '' end local function microformato(d, argus) local microformat = mw.html.create('div') :cssText('display:none') :attr('id', 'ws-data') :addClass('ws-noexport') -- todo: no captura datos del Índice si tiene otro Wikidata (p.ej. Q88887973) -- todo: los que no están en [[Plantilla:Proofreadpage header template]] (lugar, volumen, nivel) no llegan del -- índice y sólo los captura de Wikidata. if d.title and d.title ~= '' then microformat:node( enlaceMicroformato( 'title', d.title ) ) microformat:node( enlaceMicroformato( 'key', d.title ) ) --todo: mejorable end if d.pubYear and d.pubYear ~= '' then microformat:node( enlaceMicroformato( 'year', d.pubYear ) ) end if d.author and d.author ~= '' then microformat:node( enlaceMicroformato( 'author', d.author ) ) end if d.translator and d.translator ~= '' then microformat:node( enlaceMicroformato( 'translator', d.translator ) ) end if d.illustrator and d.illustrator ~= '' then microformat:node( enlaceMicroformato( 'illustrator', d.illustrator ) ) end if argus["sección"] and argus["sección"] ~= '' then microformat:node( enlaceMicroformato( 'chapter', argus["sección"] ) ) end if d.printer and d.printer ~= '' then --ojo: Editorial ~= Editor ~= Imprenta microformat:node( enlaceMicroformato( 'publisher', d.printer ) ) end if d.place and d.place ~= '' then microformat:node( enlaceMicroformato( 'place', d.place ) ) end if d.nivel and d.nivel ~= '' then microformat:node( enlaceMicroformato( 'progress', d.nivel ) ) --puede que esté roto end if d.volume and d.volume ~= '' then microformat:node( enlaceMicroformato( 'volume', d.volume ) ) end --todo: pdte. (¿adaptar de [[:ca:Module:Header]]?) --if argus.index then -- microformat:node( enlaceMicroformato( 'scan', argus.index ) ) -- if argus.image and mw.ustring.match(argus.image, '^%d+$') ~= nil then -- microformat:node( enlaceMicroformato( 'cover', argus.index .. '/' .. argus.image ) ) -- end -- end --todo: ¿extraer de listaenlaces? argus.x ~= listaenlaces if argus.wikipedia and argus.wikipedia ~= '' then microformat:node( enlaceMicroformato( 'wikipedia', argus.wikipedia ) ) end if argus.wikiquote and argus.wikiquote ~= '' then microformat:node( enlaceMicroformato( 'wikiquote', argus.wikiquote ) ) end if argus.commonscat and argus.commonscat ~= '' then microformat:node( enlaceMicroformato( 'commons', argus.commons ) ) end if argus.notas and argus.notas ~= '' then microformat:tag('div') --no puede ser span :addClass('ws-summary') :wikitext(argus.notas) end return tostring(microformat) end local function buscaDesam(title) local match = string.match( title.text, '(.-) %(.-%)') if not match then return end local desam = mw.title.new(match) for i, cat in ipairs(desam.categories) do if cat == 'Wikisource:Páginas de desambiguación' then return match end end end local function personaCats(t, catprefix, cats) if t then for i, creator in ipairs(t) do local name = creator.text local delinked = delink(name) if (delinked == 'Anónimo') or (delinked == 'valor desconocido') then table.insert(cats, '[[Categoría:'..catprefix..' de autor anónimo]]') else table.insert(cats, '[[Categoría:'..catprefix..' de '..deAutor(name):match("^%s*(.-)%s*$") ..']]') end end end if catprefix ~= '' then return cats end return '' end function p.encabe( frame ) local titulo = mw.title.getCurrentTitle() local html = mw.html.create() local argus = Args.getArgs(frame) argus = Args.alias(argus, altparams) argus.index_wikidata = argus.wikidata local essub = titulo.isSubpage if argus['subpágina'] == 'no' then essub = false end -- QID real prevalece sobre el importado desde el índice (importante en subdivisiones) if QID and QID ~= '' then argus['wikidata'] = QID or argus['wikidata'] or '' end -- obtener todos los datos local d = Obra.newWork((QID or titulo.text), argus) --variables matemática derechos de autor local anosmuerte local anospub if d.pubYear and tonumber(d.pubYear) ~= nil then anospub = tonumber(lang:formatDate('Y')) - tonumber(d.pubYear) end if argus['última muerte'] and tonumber(argus['última muerte']) ~= nil then anosmuerte = tonumber(lang:formatDate('Y')) - tonumber(argus['última muerte']) end -- estructura HTML local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport notheme') -- div principal que contiene al resto local main = divgrande:tag('div'):addClass('main-div') local anterior = main:tag('div'):attr('id','headerprevious') local medio = main:tag('div'):addClass('middle-div') local proximo = main:tag('div'):attr('id','headernext') ----- enlaces de navegación if argus['anterior'] and argus['anterior'] ~= '' then anterior:wikitext(nav_link(argus, 'prev', '← ', argus['anterior'])) end if argus['próximo'] and argus['próximo'] ~= '' then proximo:wikitext(nav_link(argus, 'next', ' →', argus['próximo'])) end if d.partede then -- TODO: hacer algo con las obras que son parte de otras end -- datos bibliográficos if d.mainTitle then medio:wikitext("'''''".. d.mainTitle .."'''''") if d.subtitle then medio:wikitext(': '..'<span style="font-size:83%;">'.. d.subtitle ..'</span>') end if d.pubYear and not argus['noano'] then medio:wikitext(' ('.. d.pubYear ..')') if tonumber(d.pubYear) ~= nil then table.insert(categorias, '[[Categoría:P'.. d.pubYear ..']]') end end medio:wikitext('<br>') else table.insert(errorcats, '[[Categoría:Wikisource:Textos sin título]]') end if d.mainAuthor then personaCats(d.author, '', {}) medio:wikitext('de '.. aCadena(d.mainAuthor) ..'<br>') end if d.translator then personaCats(d.translator, 'Traducciones', categorias) medio:wikitext('traducción de '..aCadena(d.translator)..'<br>') end if d.illustrator then personaCats(d.illustrator, 'Ilustraciones', categorias) medio:wikitext('ilustración de '..aCadena(d.illustrator)..'<br>') end if argus['más info'] then medio:wikitext(argus['más info']..'<br>') end if d.title and d.title ~= d.mainTitle then medio:wikitext("''"..argus['sección'].."''") if d.author and aCadena(d.mainAuthor) ~= aCadena(d.author) then medio:wikitext(' de '..aCadena(d.author)) end if argus['subsección'] then medio:tag('span'):cssText('font-size: 83%;'):wikitext('<br>'..argus['subsección']) end end if not argus['desambiguación'] and not essub then argus['desambiguación'] = buscaDesam(titulo) end -- ENLACES A PROYECTOS HERMANOS local inferior = main:tag('div'):addClass('noprint plainlinks lower-div') local listaenlaces = Enlaces.all(argus) -- TODO: pasarlo al módulo enlaces, o es muy específico de encabezado? if d.edicionde then listaenlaces[3] = { ['name'] = 'Otras versiones', ['image'] = 'OOjs_UI_icon_book-ltr.svg', ['text'] = 'otras versiones', ['prefix'] = '', ['title'] = linktarget(d.edicionde),} end --matematica y manejo derechos de autor if argus['derechos'] then listaenlaces[1] = {['text'] = argus.derechos, ['image'] = 'PD-icon.svg', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = argus.derechos} if (argus['última muerte'] == 'seudónimo' or argus['última muerte'] == 'anónimo') and (anospub ~= nil) then local numero = math.floor((anospub - 1)/10) if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.a.p. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.a.p.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.a.p.]]') elseif argus['última muerte'] and (anosmuerte ~= nil) then local numero = math.floor((anosmuerte - 1)/10) if numero > 4 then --a partir de 50 p.m.a. if numero > 10 then numero = 10 end listaenlaces[2] = {['image'] = nil, ['text'] = tostring(numero*10)..' p.m.a. o menos', ['prefix'] = ':Wikisource:Duración de derechos de autor por país#', ['title'] = tostring(numero*10)..' p.m.a.'} table.insert(categorias, '[[Categoría:'..tostring(numero*10)..' p.m.a.]]') end end local cadena = argus.derechos:gsub(" y ", ", ") -- Usar string.gmatch para separar por comas y procesar directamente for nombre in cadena:gmatch("([^,]+)") do table.insert(categorias, '[[Categoría:Publicado en '.. nombre:match("^%s*(.-)%s*$") ..']]') end --categorias = categorias..'[[Categoría:Publicado en '.. argus.derechos ..']]' end -- inserta enlaces inferior:wikitext(Enlaces.formattedlinks(listaenlaces)) if argus['bilingüe'] and argus['bilingüe'] ~= '' then inferior:wikitext('['..titulo:fullUrl({['match']=argus['bilingüe']})..' ver texto bilingüe]') end --Enlaces de descarga if not essub then local LinkExport='https://ws-export.wmcloud.org/?lang=es&page='..textoenlace..'&format=' local w = "<div style=\"font-size:80%\">Descargar como &nbsp;" w = w .. "[[Archivo:EPUB silk icon.svg|12px|link="..LinkExport.."epub|Descargar en formato ePub]]&nbsp;" w = w .. "[[Archivo:Document-pdf.svg|15px|link="..LinkExport.."pdf|Descargar en formato PDF]]&nbsp;" w = w .. "[[Archivo:Mobi_icon.svg|22px|link="..LinkExport.."mobi|Descargar en formato mobi]]</div>" inferior:wikitext(w) end if argus['notas'] and argus['notas'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end if argus['audio'] and argus['audio'] ~= '' then divgrande:tag('div'):addClass('notes'):wikitext(frame:expandTemplate{ title = 'Multimedia', args = { argus['audio'] } }) end --categorías automáticas if not essub then table.insert(categorias, '[[Categoría:ES-'..Str.CaracterParaOrdenar(titulo.rootText)..']]') else categorias = {'[[Categoría:'..titulo.rootText..']]'} html:wikitext('__EXPECTED_UNCONNECTED_PAGE__') end for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Encabe]]') --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) table.insert(errorcats, '[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Encabe]]') end end if titulo.namespace ~= 0 then --solo categorías en el espacio principal categorias = {} end table.sort(categorias) html:wikitext(table.concat(categorias)) html:wikitext(table.concat(errorcats)) html:wikitext(microformato(d, argus)) return tostring(html) end return p ivhztn9071fcyq86g3v9g7z1ur7hx0q Módulo:Wikidata/doc 828 225029 1664195 1457002 2026-06-05T22:12:07Z Ignacio Rodríguez 3603 1664195 wikitext text/x-wiki {{Subpágina documentación}} === Uso === Este módulo devuelve el valor o valores con o sin formato específico a una propiedad de Wikidata. == Funciones == * <code>[[#Función claim|claim]]</code>: Devuelve el valor (o los valores) de una declaración o de un calificador con un formato por defecto según el tipo de dato. * <code>[[#Función badge|badge]]</code>: Devuelve el valor de la insígnia (''badge'') de una obra enlazada en Wikidata. === Función claim === Devuelve el valor (o los valores) de una declaración o de un calificador con un formato por defecto según el tipo de dato. Por defecto está referido al ítem de Wikidata (Qid) asociado a la página actual. Sintaxis completa: :<code><nowiki>{{#invoke:</nowiki>{{ROOTPAGENAME}}<nowiki>|claim|item= |lang= |property= |qualifier= |list= |formatting= }}</nowiki></code> ==== Parámetros generales ==== *<code>item=</code> (opcional) Permite indicar un ítem (Qid) diferente al ítem asociado a la página actual. Ha de usarse <u>con moderación</u> por su <u>alto consumo</u> de recursos. *<code>lang=</code> (opcional) Permite indicar el código de un idioma determinado. *<code>property=</code> (obligatorio) Identificador de la propiedad de la declaración (Pid). Por ejemplo "P50". *<code>qualifier=</code> (opcional) Calificador (Pid) del valor de la propiedad. *<code>list=</code> (opcional): ** <code>list=true</code> (por defecto): Muestra una lista de todos los valores, separados con un "separador" por defecto y una "conjunción" predefinida. ** <code>list=false</code>: sólo recuperará un valor, generalmente el de mayor rango o el más antiguo. *<code>formatting=</code> (opcional): tipo de formato. Depende del valor de la entidad (ver código fuente). Ejemplos habituales: "raw", "label", "sitelink"... *<code>tabla=true</code> (opcional): Devuelve los valores como elementos en una tabla (array) de Lua, para uso interno de otros módulos. ==== Ejemplos ==== *<code><nowiki>Wikidata.claim{item=Q107297266, property="P50", lang="es", list=true}</nowiki></code> devuelve los autores (propiedad P50) del ítem Q107297266 (edición de 1864 de ''El Robinson suizo''). === Función badge === Devuelve la insignia (''badge'') de una obra enlazada en Wikidata a partir de su identificador o del valor correspondiente en el índice. Valores devueltos posibles: {{#invoke:Wikidata|badge|ws=C}} (no corregido), {{#invoke:Wikidata|badge|ws=V}} (corregida), {{#invoke:Wikidata|badge|ws=T}} (validada), o {{#invoke:Wikidata|badge|ws=E}} (problemática). Ha de existir la página y la insignia debe corresponder a uno de estas cuatro (si no, el valor devuelto es nulo). <code><nowiki>{{#invoke:Wikidata|badge|qid=|indicator=|ws=}}</nowiki></code> *<code>qid=</code> es el identificador de la obra en Wikidata. *<code>indicator=</code> si tiene cualquier valor, envuelve la insignia en la etiqueta <code>[[mw:Help:Page_status_indicators|<indicator>]]</code> y la muestra en la parte superior de la página ([[phab:T75299|no funciona en móviles, solo escritorio]]). *<code>ws=</code> devuelve la insignia correspondiente según el valor del parámetro "progreso" en los índices. <code>C</code> = no corregido, <code>V</code> = corregido, <code>T</code> = validado, <code>E</code> = problemática. Por ejemplo, <code><nowiki>{{#invoke:Wikidata|badge|qid=Q30097675}}</nowiki></code> = {{#invoke:Wikidata|badge|qid=Q30097675}} («Q30097675» corresponde al identificador de ''[[Lecciones Matemáticas]]''). <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> [[Categoría:Wikisource:Módulos]] </includeonly> t8o9qtex2rn7vrky3ov8cdwape16tkf La Esfera 0 236727 1664172 1642785 2026-06-05T20:17:49Z Strakhov 39011 1664172 wikitext text/x-wiki {{Encabezado |titulo = La Esfera |año = |autor = |más info = revista de Madrid (1914-1931) |anterior = |sección = |sección autor = |próximo = |derechos = |última muerte = |desambiguación = |históricos = |portal = |wikipedia = |commons = |commonscat = |wikiquote = |wikinoticias = |wikcionario = |wikilibros = |wikiversidad = |wikispecies = |meta =}} == Artículos == * {{cita publicación|autor=[[Autor:Emiliano Ramírez Ángel|Emiliano Ramírez Ángel]]|título=[[Costumbres madrileñas. Un baile en Cuatro Caminos]]»|fecha=29 de junio de 1918|publicación=La Esfera|ubicación=Madrid|número=235}} {{Wikidata|Q137706363}} * {{cita publicación|autor=[[Autor:Eugenio Noel|Eugenio Noel]]|título=[[Vencer después de morir. Ante una obra de Julio Antonio]]|publicación=La Esfera|fecha=18 de marzo de 1922|ubicación=Madrid|número=428}} {{Wikidata|Q43721888}} * {{cita publicación|autor=[[Autor:Agustín R. Bonnat|A. R. Bonnat]]|título=[[Las alegres excursiones]]|fecha=15 de agosto de 1925|publicación=La Esfera|ubicación=Madrid|número=606}} {{Wikidata|Q140073536}} [[Categoría:Revistas de España]] kyyuafy7y1mpz4qbsgy24dqk7o2ch50 Módulo:Imprenta 828 250643 1664207 1653833 2026-06-06T00:16:09Z Ignacio Rodríguez 3603 unificar funciones de Wikidata (falta poco) 1664207 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() or '' -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') -- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados local function propiedad(PID, ... ) if not QID then return end return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... } end --parámetros reconocidos. 1 = vigente, 0 = obsoleto local categorias = '' local params = {['nombre']=1,['dirección']=1,['más info']=1, ['wikipedia'] =1 , ['commons'] =1 , ['commonscat'] =1 , ['wikiquote'] =1 , ['wikcionario'] =1 , ['wikilibros'] =1 , ['wikiversidad'] =1, ['wikispecies'] =1 , ['meta'] =1 , ['wikidata'] =1} local altparams= {['direccion']='dirección', ['mas info']='más info' } local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) categorias=categorias..'[[Categoría:Wikisource:Páginas con errores en la plantilla Imprenta]]' return tostring(html) end function p.encabe( frame ) local argus = {} local titulo = mw.title.getCurrentTitle() for k,v in pairs(frame:getParent().args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- HTML local html = mw.html.create() -- corregir parámetros con nombres alternativos for k,v in pairs(altparams) do if argus[k] and not argus[v] then argus[v] = argus[k] elseif argus[k] and argus[v] then html:wikitext(errorMessage('Error: los parámetros '..k..' y '..v..' son redundantes.')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros redundantes en la plantilla Imprenta]]' end end local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport'):cssText('text-align: center; padding: 1em; background-color:#F1F1DE; color: black; overflow:auto; border-radius:0.7em; box-shadow:0.2em 0.3em 0.2em #B7B7B7; display:table;width:95%') -- div principal que contiene al resto local anterior = divgrande:tag('div'):attr('id','headerprevious'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') --if argus['anterior'] and argus['anterior'] ~= '' then local anteriorspan = anterior:tag('span'):cssText('float: left; display: block;font-size:smaller') anteriorspan:tag('span'):cssText(';margin-right: 0.5em; position: relative; top: 1.5px'):wikitext('← ') anteriorspan:wikitext(' '..'[[:Categoría:Imprentas y editoriales|Imprentas y editoriales]]') --if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then -- anteriorspan:cssText('display:none') --end --end local medio = divgrande:tag('div'):cssText('width:68%;display:table-cell;vertical-align:middle;') local nombre = frame:preprocess("{{PAGENAME}}") if argus['nombre'] then medio:wikitext("'''''"..argus['nombre'].."'''''") else medio:wikitext("'''''"..nombre.."'''''") end medio:tag('br') if argus['dirección'] ~= nil and argus['dirección']~= '' then medio:wikitext("''"..argus['dirección'].."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end elseif propiedad('p159') ~= '' then medio:wikitext("''"..propiedad('p159',{['uno']='sí'}).."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end end local proximo = divgrande:tag('div'):attr('id','headernext'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') local proximospan = proximo:tag('span'):cssText('float: right; display: block;font-size:smaller') if propiedad('p154') ~= '' then --P154 = logotipo local logotipo = '[[File:'..propiedad('p154',{['uno']='sí'})..'|100px]]' proximospan:wikitext(logotipo) end if argus['próximo'] and argus['próximo']~= '' then proximospan:wikitext(' '..argus['próximo']) proximospan:tag('span'):cssText('margin-left: 0.5em; position: relative; top: 1.5px'):wikitext(' →') if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then proximospan:cssText('display:none') end end --enlaces pequeños en la parte inferior local inferior = medio:tag('div'):addClass('noprint plainlinks'):cssText('clear: both; padding: 0.5em; text-align: center; margin:0 auto; font-size: 80%') --enlaces parte inferior local listaenlaces = Enlaces.all(argus) local textoenlaces = Enlaces.formattedlinks(listaenlaces) inferior:wikitext(textoenlaces) if argus['notas'] and argus['notas'] ~= '' then html:tag('div'):cssText('font-size:90%;width:95%;margin:auto'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end --categorías automáticas categorias = categorias..'[[Categoría:Imprentas y editoriales]]' for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then categorias = categorias..'[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Imprenta]]' --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Imprenta]]' end end if titulo.namespace ~= 100 then --solo categorías en el espacio portal categorias = '' end divgrande:wikitext(categorias) return tostring(html) end return p h5hl764qh529w8olth6g9lzy1fnwkzt 1664208 1664207 2026-06-06T00:19:57Z Ignacio Rodríguez 3603 por apurón, ahora sí 1664208 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() or '' -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') -- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados local function propiedad(PID, ... ) if not QID then return end return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... } end --parámetros reconocidos. 1 = vigente, 0 = obsoleto local categorias = '' local params = {['nombre']=1,['dirección']=1,['más info']=1, ['wikipedia'] =1 , ['commons'] =1 , ['commonscat'] =1 , ['wikiquote'] =1 , ['wikcionario'] =1 , ['wikilibros'] =1 , ['wikiversidad'] =1, ['wikispecies'] =1 , ['meta'] =1 , ['wikidata'] =1} local altparams= {['direccion']='dirección', ['mas info']='más info' } local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) categorias=categorias..'[[Categoría:Wikisource:Páginas con errores en la plantilla Imprenta]]' return tostring(html) end function p.encabe( frame ) local argus = {} local titulo = mw.title.getCurrentTitle() for k,v in pairs(frame:getParent().args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- HTML local html = mw.html.create() -- corregir parámetros con nombres alternativos for k,v in pairs(altparams) do if argus[k] and not argus[v] then argus[v] = argus[k] elseif argus[k] and argus[v] then html:wikitext(errorMessage('Error: los parámetros '..k..' y '..v..' son redundantes.')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros redundantes en la plantilla Imprenta]]' end end local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport'):cssText('text-align: center; padding: 1em; background-color:#F1F1DE; color: black; overflow:auto; border-radius:0.7em; box-shadow:0.2em 0.3em 0.2em #B7B7B7; display:table;width:95%') -- div principal que contiene al resto local anterior = divgrande:tag('div'):attr('id','headerprevious'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') --if argus['anterior'] and argus['anterior'] ~= '' then local anteriorspan = anterior:tag('span'):cssText('float: left; display: block;font-size:smaller') anteriorspan:tag('span'):cssText(';margin-right: 0.5em; position: relative; top: 1.5px'):wikitext('← ') anteriorspan:wikitext(' '..'[[:Categoría:Imprentas y editoriales|Imprentas y editoriales]]') --if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then -- anteriorspan:cssText('display:none') --end --end local medio = divgrande:tag('div'):cssText('width:68%;display:table-cell;vertical-align:middle;') local nombre = frame:preprocess("{{PAGENAME}}") if argus['nombre'] then medio:wikitext("'''''"..argus['nombre'].."'''''") else medio:wikitext("'''''"..nombre.."'''''") end medio:tag('br') if argus['dirección'] ~= nil and argus['dirección']~= '' then medio:wikitext("''"..argus['dirección'].."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end elseif propiedad('p159') then medio:wikitext("''"..propiedad('p159').."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end end local proximo = divgrande:tag('div'):attr('id','headernext'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') local proximospan = proximo:tag('span'):cssText('float: right; display: block;font-size:smaller') if propiedad('p154') then --P154 = logotipo local logotipo = '[[File:'..propiedad('p154')..'|100px]]' proximospan:wikitext(logotipo) end if argus['próximo'] and argus['próximo']~= '' then proximospan:wikitext(' '..argus['próximo']) proximospan:tag('span'):cssText('margin-left: 0.5em; position: relative; top: 1.5px'):wikitext(' →') if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then proximospan:cssText('display:none') end end --enlaces pequeños en la parte inferior local inferior = medio:tag('div'):addClass('noprint plainlinks'):cssText('clear: both; padding: 0.5em; text-align: center; margin:0 auto; font-size: 80%') --enlaces parte inferior local listaenlaces = Enlaces.all(argus) local textoenlaces = Enlaces.formattedlinks(listaenlaces) inferior:wikitext(textoenlaces) if argus['notas'] and argus['notas'] ~= '' then html:tag('div'):cssText('font-size:90%;width:95%;margin:auto'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end --categorías automáticas categorias = categorias..'[[Categoría:Imprentas y editoriales]]' for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then categorias = categorias..'[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Imprenta]]' --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Imprenta]]' end end if titulo.namespace ~= 100 then --solo categorías en el espacio portal categorias = '' end divgrande:wikitext(categorias) return tostring(html) end return p nmcgtjojx0awi44wagan8f9n0bp7nar 1664233 1664208 2026-06-06T03:55:07Z Ignacio Rodríguez 3603 or '' 1664233 Scribunto text/plain require('strict') local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') -- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados local function propiedad(PID, ... ) if not QID then return end return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... } end --parámetros reconocidos. 1 = vigente, 0 = obsoleto local categorias = '' local params = {['nombre']=1,['dirección']=1,['más info']=1, ['wikipedia'] =1 , ['commons'] =1 , ['commonscat'] =1 , ['wikiquote'] =1 , ['wikcionario'] =1 , ['wikilibros'] =1 , ['wikiversidad'] =1, ['wikispecies'] =1 , ['meta'] =1 , ['wikidata'] =1} local altparams= {['direccion']='dirección', ['mas info']='más info' } local function errorMessage(text) -- Función que entrega un mensaje de error formateado como tal local html = mw.html.create('div') html:addClass('error') :wikitext(text) categorias=categorias..'[[Categoría:Wikisource:Páginas con errores en la plantilla Imprenta]]' return tostring(html) end function p.encabe( frame ) local argus = {} local titulo = mw.title.getCurrentTitle() for k,v in pairs(frame:getParent().args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- HTML local html = mw.html.create() -- corregir parámetros con nombres alternativos for k,v in pairs(altparams) do if argus[k] and not argus[v] then argus[v] = argus[k] elseif argus[k] and argus[v] then html:wikitext(errorMessage('Error: los parámetros '..k..' y '..v..' son redundantes.')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros redundantes en la plantilla Imprenta]]' end end local divgrande = html:tag('div'):attr('id','headertemplate'):addClass('noprint ws-noexport'):cssText('text-align: center; padding: 1em; background-color:#F1F1DE; color: black; overflow:auto; border-radius:0.7em; box-shadow:0.2em 0.3em 0.2em #B7B7B7; display:table;width:95%') -- div principal que contiene al resto local anterior = divgrande:tag('div'):attr('id','headerprevious'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') --if argus['anterior'] and argus['anterior'] ~= '' then local anteriorspan = anterior:tag('span'):cssText('float: left; display: block;font-size:smaller') anteriorspan:tag('span'):cssText(';margin-right: 0.5em; position: relative; top: 1.5px'):wikitext('← ') anteriorspan:wikitext(' '..'[[:Categoría:Imprentas y editoriales|Imprentas y editoriales]]') --if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then -- anteriorspan:cssText('display:none') --end --end local medio = divgrande:tag('div'):cssText('width:68%;display:table-cell;vertical-align:middle;') local nombre = frame:preprocess("{{PAGENAME}}") if argus['nombre'] then medio:wikitext("'''''"..argus['nombre'].."'''''") else medio:wikitext("'''''"..nombre.."'''''") end medio:tag('br') if argus['dirección'] ~= nil and argus['dirección']~= '' then medio:wikitext("''"..argus['dirección'].."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end elseif propiedad('p159') then medio:wikitext("''"..propiedad('p159').."''") if argus['más info'] then medio:tag('br') medio:tag('span'):cssText('font-size: 83%;'):wikitext(argus['más info']) end end local proximo = divgrande:tag('div'):attr('id','headernext'):cssText('padding:0;display:table-cell;vertical-align:middle;width:16%') local proximospan = proximo:tag('span'):cssText('float: right; display: block;font-size:smaller') if propiedad('p154') then --P154 = logotipo local logotipo = '[[File:'..propiedad('p154')..'|100px]]' proximospan:wikitext(logotipo) end if argus['próximo'] and argus['próximo']~= '' then proximospan:wikitext(' '..argus['próximo']) proximospan:tag('span'):cssText('margin-left: 0.5em; position: relative; top: 1.5px'):wikitext(' →') if argus['enlaces'] and mw.ustring.lower(argus['enlaces']) == 'no' then proximospan:cssText('display:none') end end --enlaces pequeños en la parte inferior local inferior = medio:tag('div'):addClass('noprint plainlinks'):cssText('clear: both; padding: 0.5em; text-align: center; margin:0 auto; font-size: 80%') --enlaces parte inferior local listaenlaces = Enlaces.all(argus) local textoenlaces = Enlaces.formattedlinks(listaenlaces) inferior:wikitext(textoenlaces) if argus['notas'] and argus['notas'] ~= '' then html:tag('div'):cssText('font-size:90%;width:95%;margin:auto'):wikitext("'''Nota:''' "..argus['notas']):tag('hr') end --categorías automáticas categorias = categorias..'[[Categoría:Imprentas y editoriales]]' for k,v in pairs(argus) do if params[k] or altparams[k] then if params[k] == 0 then categorias = categorias..'[[Categoría:Wikisource:Páginas que usan parámetros obsoletos en la plantilla Imprenta]]' --añade categoría de seguimiento a parámetros obsoletos (declarados arriba) end else html:wikitext(errorMessage('Error: parámetro '..k..' no reconocido')) categorias=categorias..'[[Categoría:Wikisource:Páginas que usan parámetros no reconocidos en la plantilla Imprenta]]' end end if titulo.namespace ~= 100 then --solo categorías en el espacio portal categorias = '' end divgrande:wikitext(categorias) return tostring(html) end return p ol96n8za2ka3awdtbaeu1xl5hyy6jap El Cid fué para su tierra 0 277291 1664245 1663471 2026-06-06T05:22:16Z Ignacio Rodríguez 3603 nuevamente pruebas para desconectados 1664245 wikitext text/x-wiki <pages index="Romancero selecto del Cid (1884).pdf" include=121-122 header=test nota="Esta transcripción respeta la ortografía original de la época." /> [[Categoría:Romancero selecto del Cid]] [[Categoría:Romances]] [[Categoría:Romances anónimos]] l4kk1gbm8dgw1rjp8akyyw82rfdqx7x Índice:Vistas sudamericanas - IA vistassudamerica00blas.djvu 104 357343 1664146 1663403 2026-06-05T18:05:43Z Ignacio Rodríguez 3603 1664146 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Vistas sudamericanas]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|vistassudamerica00blas}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to26="-" 27=3 257to262="-" /> |Notas= |Wikidata=Q130403965 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1941 }} 0ltied0ll6d73n2v7vr2sxedus147vp Índice:Serenidad, 1909-1912 - IA 1332011.djvu 104 357352 1664152 1663202 2026-06-05T18:10:47Z Ignacio Rodríguez 3603 1664152 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Serenidad, 1909-1912]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|1332011}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas= |Wikidata=Q130405414 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1919 }} oxbfqtghj9z8yma213kha12p2brx278 Índice:Juan José - IA juanjosdramaen00dice.djvu 104 357475 1664168 1662019 2026-06-05T18:19:47Z Ignacio Rodríguez 3603 1664168 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Juan José]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|juanjosdramaen00dice}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to11="-" 12=8 87to92="-" /> |Notas= |Wikidata=Q130411820 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 2wpliw2mxujyb2pobw4mqj2hfwe5cqo Índice:Armonías microform - IA 3383811.djvu 104 357550 1664127 1660689 2026-06-05T17:55:03Z Ignacio Rodríguez 3603 1664127 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Armonías]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|3383811}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to5="-" 6="Portada" 7to8="-" 9=8 251to253="-" /> |Notas= |Wikidata=Q130420779 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1954 }} 57pq6cesa3vom9t3mzpt012r5z2lahk Índice:Bibliografía de Fr. Luis de León.djvu 104 357619 1664128 1660741 2026-06-05T17:55:18Z Ignacio Rodríguez 3603 1664128 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Bibliografia de Fr. Luis de León]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|bibliografiadefr00zarc}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to12="-" 13=287 140to148="-" /> |Notas= |Wikidata=Q130421413 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1936 }} 9p3m1hy66epdms7l3s1j0ppp9aidh1d Índice:Lima por dentro y fuera - IA limapordentroyf00landgoog.djvu 104 357647 1664160 1662454 2026-06-05T18:15:14Z Ignacio Rodríguez 3603 páginas Google 1664160 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Lima por dentro y fuera en consejos económicos, saludables, políticos y morales que dá un amigo á otro con motivo de querer dexar la ciudad de México por pasar á la de Lima]] |Subtitulo=Obra jocosa y divertida en que con salados conceptos se describen, ademas de otras cosas, las costumbres, usos y mañas de las madamitas de allí, de acá y de otras partes. La dá á luz Simon Ayanque [pseud.] |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|limapordentroyf00landgoog}} |Imagen=9 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10to210="-" /> |Notas={{páginas Google}} |Wikidata=Q64822852 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1805 }} avcq49m4rvfrupiv1ndfrjpx3pdssao 1664162 1664160 2026-06-05T18:15:38Z Ignacio Rodríguez 3603 1664162 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Lima por dentro y fuera en consejos económicos, saludables, políticos y morales que dá un amigo á otro con motivo de querer dexar la ciudad de México por pasar á la de Lima]] |Subtitulo=Obra jocosa y divertida en que con salados conceptos se describen, ademas de otras cosas, las costumbres, usos y mañas de las madamitas de allí, de acá y de otras partes. La dá á luz Simon Ayanque [pseud.] |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|limapordentroyf00landgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas={{páginas Google}} |Wikidata=Q64822852 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1805 }} 07tih0a5xt87w0aq435t5xkcx2qzlzk 1664217 1664162 2026-06-06T03:48:14Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664217 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Lima por dentro y fuera en consejos económicos, saludables, políticos y morales que dá un amigo á otro con motivo de querer dexar la ciudad de México por pasar á la de Lima]] |Subtitulo=Obra jocosa y divertida en que con salados conceptos se describen, ademas de otras cosas, las costumbres, usos y mañas de las madamitas de allí, de acá y de otras partes. La dá á luz Simon Ayanque [pseud.] |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|limapordentroyf00landgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas= |Wikidata=Q64822852 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1805 }} cmmc1tyw6c6i67pqre3qjblopt5uksm Índice:Tijeretazos y plumadas - IA tijeretazosyplu01meragoog.djvu 104 357685 1664154 1663263 2026-06-05T18:11:10Z Ignacio Rodríguez 3603 páginas Google 1664154 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Tijeretazos y plumadas]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|tijeretazosyplu01meragoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas={{páginas Google}} |Wikidata=Q130436479 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1894 }} i9kl6zapvfj78q6jrszr3ba7mgfwjvd 1664218 1664154 2026-06-06T03:48:18Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664218 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Tijeretazos y plumadas]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|tijeretazosyplu01meragoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas= |Wikidata=Q130436479 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1894 }} hflnauwd2wc5cxgbkm6kv27hmoldqgk Índice:Cuestión filológica - IA cuestinfilolgic00solagoog.djvu 104 357732 1664142 1661062 2026-06-05T18:02:33Z Ignacio Rodríguez 3603 páginas Google 1664142 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Cuestión filológica]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|cuestinfilolgic00solagoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas={{páginas Google}} |Wikidata=Q130444147 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1921 }} ra7olw9td5h6bt2gpw7hir46hfnq24y 1664219 1664142 2026-06-06T03:48:21Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664219 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Cuestión filológica]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|cuestinfilolgic00solagoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas= |Wikidata=Q130444147 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1921 }} fhvlv9tl5fxwmnklntbgy6zrcfjl5qp Índice:Chacabuco - IA chacabucodramah00solagoog.djvu 104 357733 1664132 1660880 2026-06-05T17:57:34Z Ignacio Rodríguez 3603 páginas Google 1664132 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Chacabuco]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|chacabucodramah00solagoog}} |Imagen=15 |Progreso=C |Paginas=<pagelist 1to14="-" 15="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130444155 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1921 }} pz74w0rhhyk25t53afutf4kv8c63hgk 1664220 1664132 2026-06-06T03:48:24Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664220 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Chacabuco]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|chacabucodramah00solagoog}} |Imagen=15 |Progreso=C |Paginas=<pagelist 1to14="-" 15="Portada" /> |Notas= |Wikidata=Q130444155 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1921 }} sepplir6rr4czoy93s2g9a88uvgomak Índice:Impresiones - IA impresioneslite01balagoog.djvu 104 357736 1664166 1661985 2026-06-05T18:18:29Z Ignacio Rodríguez 3603 páginas Google 1664166 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Impresiones]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|impresioneslite01balagoog}} |Imagen=11 |Progreso=P |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130444464 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1905 }} oijhrl9vm5f4cu64v5b4ddcs2v35aki 1664221 1664166 2026-06-06T03:48:28Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664221 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Impresiones]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|impresioneslite01balagoog}} |Imagen=11 |Progreso=P |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130444464 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1905 }} 3p28q04yyx73qqm5a2lo6ozs8pobmil Índice:La política chilena en el plata - IA lapolticachilen00quesgoog.djvu 104 357765 1664164 1662283 2026-06-05T18:16:41Z Ignacio Rodríguez 3603 páginas Google 1664164 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política chilena en el plata]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticachilen00quesgoog}} |Imagen=11 |Progreso=P |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130453204 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} qj01wywnsio51rzwn8mjkir8aek5lhh 1664222 1664164 2026-06-06T03:48:32Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664222 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política chilena en el plata]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticachilen00quesgoog}} |Imagen=11 |Progreso=P |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130453204 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} rth2s9v1y7533bjmhpss9y66w4bnqkj Índice:La política argentina respecto de Chile (1895-1898) - IA lapolticaargent00quesgoog.djvu 104 357779 1664165 1662282 2026-06-05T18:16:55Z Ignacio Rodríguez 3603 páginas Google 1664165 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política argentina respecto de Chile (1895-1898)]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticaargent00quesgoog}} |Imagen=11 |Progreso=L |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130454123 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} qdfay9gh8c1x50eknj91q3yrjlan2fx 1664223 1664165 2026-06-06T03:48:36Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664223 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política argentina respecto de Chile (1895-1898)]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticaargent00quesgoog}} |Imagen=11 |Progreso=L |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130454123 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} i1p6dl890mov3usj4c2w541r8dzikky Índice:Comprobación de la reincidencia - IA comprobacindela01quesgoog.djvu 104 357780 1664140 1660973 2026-06-05T18:00:13Z Ignacio Rodríguez 3603 páginas Google 1664140 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Comprobación de la reincidencia]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|comprobacindela01quesgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130454158 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} rc7lm0jmm2n1k33hquv3ldfkfkcbqqm 1664224 1664140 2026-06-06T03:48:39Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664224 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Comprobación de la reincidencia]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|comprobacindela01quesgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130454158 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1934 }} 4lxxrjc40xheam3kmksk74uafncoe88 Índice:Campana del General Alvear en la guerra del Brasil en 1826-27 - IA campanadelgener00lpgoog.djvu 104 357787 1664130 1660805 2026-06-05T17:56:48Z Ignacio Rodríguez 3603 páginas Google} 1664130 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Campana del General Alvear en la guerra del Brasil en 1826-27]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|campanadelgener00lpgoog}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130454782 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1903 }} 3zjyn6eevfh18jeuxeh7x8gqqbul9hk 1664225 1664130 2026-06-06T03:48:43Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664225 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Campana del General Alvear en la guerra del Brasil en 1826-27]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|campanadelgener00lpgoog}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" /> |Notas= |Wikidata=Q130454782 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1903 }} tqc4j9dk712zurjhurcawpfet6i0u60 Índice:Apuntes históricos sobre las agresiones del dictador argentino D - IA apunteshistrico00lamagoog.djvu 104 357789 1664126 1660681 2026-06-05T17:54:48Z Ignacio Rodríguez 3603 páginas Google 1664126 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Apuntes históricos sobre las agresiones del dictador argentino D. Juan Manuel Rosas]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|apunteshistrico00lamagoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to5="-" 6="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130455166 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1891 }} rbmcooamw6aqi5n8pt8uz2m5bo4zjrv 1664226 1664126 2026-06-06T03:48:46Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664226 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Apuntes históricos sobre las agresiones del dictador argentino D. Juan Manuel Rosas]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|apunteshistrico00lamagoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to5="-" 6="Portada" /> |Notas= |Wikidata=Q130455166 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1891 }} rkhf6mf9zzqdk03kgf93wkaq3zy7ga3 Índice:Obras de d - IA obrasdedjgarcai04sancgoog.djvu 104 357792 1664170 1659375 2026-06-05T18:20:44Z Ignacio Rodríguez 3603 páginas Google 1664170 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Obras de D. J. García Icazbalceta]] |Subtitulo= |Volumen= |Autor=[[Autor:Joaquín García Icazbalceta|Joaquín García Icazbalceta]], [[Autor:Pedro Sancho|Pedro Sancho]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Imp. de V. Agueros |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|obrasdedjgarcai04sancgoog}} |Imagen=11 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130455203 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} q19kr8dtnaadoa6pg7fjmlzz8qvmy2p 1664227 1664170 2026-06-06T03:48:51Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664227 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Obras de D. J. García Icazbalceta]] |Subtitulo= |Volumen= |Autor=[[Autor:Joaquín García Icazbalceta|Joaquín García Icazbalceta]], [[Autor:Pedro Sancho|Pedro Sancho]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Imp. de V. Agueros |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|obrasdedjgarcai04sancgoog}} |Imagen=11 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130455203 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 3r2non0ubky5bwzrq6hiioouf5nuuc4 Índice:Colección de documentos ineditos relativos al descubrimiento, conquista y organización de las antiguas posesiones españolas de ultramar - IA colecciondocument06seririch.djvu 104 357798 1664131 1655439 2026-06-05T17:57:06Z Ignacio Rodríguez 3603 1664131 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=1885-1932 |Lugar= |derechos= |Fuente={{IA|colecciondocument06seririch}} |Imagen=9 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10to15="-" 16=2 489to494="-" /> |Notas= |Wikidata=Q130455455 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} o09zqtgl5vzxszng12ktbf24gsihew4 Índice:Catálogo de la Sección de México - IA catbalogosecc02mexirich.djvu 104 357799 1664137 1660864 2026-06-05T17:58:43Z Ignacio Rodríguez 3603 1664137 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Catálogo de la Sección de México]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|catbalogosecc02mexirich}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to4="-" 5="Portada" 6to11="-" 12=6 443to446="-" /> |Notas= |Wikidata=Q130455470 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} o6hl3guxl9sj9ysnahmygmxoj5ijtag Índice:Colección de documentos ineditos relativos al descubrimiento, conquista y organización de las antiguas posesiones españolas de ultramar - IA colecciondocument07seririch.djvu 104 357801 1664138 1655440 2026-06-05T17:59:41Z Ignacio Rodríguez 3603 1664138 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=1885-1932 |Lugar= |derechos= |Fuente={{IA|colecciondocument07seririch}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10to11="-" 12=6 30to31="-" 32=2 480to486="-" /> |Notas= |Wikidata=Q130455485 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} epn2l0d1dyagb2erdltnrcns79mzdr5 Índice:Catálogo de la Sección de México - IA catbalogosecc01mexirich.djvu 104 357802 1664133 1660863 2026-06-05T17:57:57Z Ignacio Rodríguez 3603 1664133 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Catálogo de la Sección de México]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|catbalogosecc01mexirich}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to4="-" 5="Portada" 6to9="-" 10=6 424to428="-" /> |Notas= |Wikidata=Q130455497 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 1zkrijmqrjlyu6fjxa8hz6fh93hmda9 Índice:Manifiesto del general D - IA manifiestodelge00iturgoog.djvu 104 357803 1664156 1658900 2026-06-05T18:13:26Z Ignacio Rodríguez 3603 páginas Google 1664156 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Manifiesto del general D. Agustin de Iturbide, Libertador de Mexico]] |Subtitulo= |Volumen= |Autor=[[Autor:Agustín de Iturbide|Agustín de Iturbide]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Impr. a cargo de M . Rosello |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|manifiestodelge00iturgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas={{páginas Google}} |Wikidata=Q130455518 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1824 }} 6ig4vh6vyaho2x74y1zr83kza1cs4xw 1664228 1664156 2026-06-06T03:48:55Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664228 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Manifiesto del general D. Agustin de Iturbide, Libertador de Mexico]] |Subtitulo= |Volumen= |Autor=[[Autor:Agustín de Iturbide|Agustín de Iturbide]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Impr. a cargo de M . Rosello |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|manifiestodelge00iturgoog}} |Imagen=1 |Progreso=C |Paginas=<pagelist /> |Notas= |Wikidata=Q130455518 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1824 }} novo3vfuqaak043qxyxhaqi8gl2lgk2 Índice:Capirotazos - IA capirotazossti00bobauoft.djvu 104 357806 1664136 1660826 2026-06-05T17:58:27Z Ignacio Rodríguez 3603 1664136 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Capirotazos]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|capirotazossti00bobauoft}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10to11="-" 12=8 12to19=roman 20to21="-" 22=2 441to446="-" /> |Notas= |Wikidata=Q130455563 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1921 }} af497oqow2putn3d9bghhpa9gzusxef Índice:Memoria presentada a la excma - IA memoriapresenta00rossgoog.djvu 104 357938 1664157 1662598 2026-06-05T18:13:52Z Ignacio Rodríguez 3603 páginas Google 1664157 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Memoria presentada a la excma. Junta de gobierno]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|memoriapresenta00rossgoog}} |Imagen=11 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130469247 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 2yz6n793hx6ls4npcv049a03hiv93rz 1664229 1664157 2026-06-06T03:48:58Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664229 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Memoria presentada a la excma. Junta de gobierno]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|memoriapresenta00rossgoog}} |Imagen=11 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130469247 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} p2awtbh95o1pf4v7mf5mpczjrc3p9di Índice:Album poético español - IA albumpoticoespa00unkngoog.djvu 104 357944 1664124 1654658 2026-06-05T17:54:09Z Ignacio Rodríguez 3603 1664124 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|albumpoticoespa00unkngoog}} |Imagen=11 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" /> |Notas= |Wikidata=Q130469320 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 69y7ieils7b1yrdp0t6xm0ah08la5m6 Índice:Bretón de los Herreros - IA bretndelosherre00degoog.djvu 104 357946 1664129 1655175 2026-06-05T17:55:20Z Ignacio Rodríguez 3603 1664129 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|bretndelosherre00degoog}} |Imagen=13 |Progreso=C |Paginas=<pagelist 1to13="-" 14="Portada" 15to29="-" 30=3 186=59 211=184 212="-" 213=86 218="-" 219=192 487="-" 488=463 569=546 573to575="-" 576=553 584to589="-" /> |Notas= |Wikidata=Q130470071 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} hi4y00ezohfixnxa13hta63ps3lqzme Índice:Tres enemigos del alma, dinero, gloria y amor - IA tresenemigosdela2288cogn.djvu 104 357947 1664153 1660287 2026-06-05T18:10:59Z Ignacio Rodríguez 3603 1664153 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|tresenemigosdela2288cogn}} |Imagen=3 |Progreso=C |Paginas=<pagelist 1to2="-" 3="Portada" 4to5="-" 6=4 77to78="-" /> |Notas= |Wikidata=Q130470077 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1882 }} bs11a9jzun1pfbpwbgim7by3sbebhrx Índice:Cuestiones históricas - IA cuestioneshistbor00capprich.djvu 104 359080 1664143 1596424 2026-06-05T18:02:46Z Ignacio Rodríguez 3603 1664143 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=1885 [cover 1886 |Lugar= |derechos= |Fuente={{IA|cuestioneshistbor00capprich}} |Imagen=9 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10="-" 11=1 69to74="-" /> |Notas= |Wikidata=Q130608317 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1897 }} eygkuds43qk2tyif30v55njucoi6hy7 1664144 1664143 2026-06-05T18:03:07Z Ignacio Rodríguez 3603 1664144 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|cuestioneshistbor00capprich}} |Imagen=9 |Progreso=C |Paginas=<pagelist 1to8="-" 9="Portada" 10="-" 11=1 69to74="-" /> |Notas= |Wikidata=Q130608317 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1897 }} ho5t8xwi5hoohw5svivz8b9zasfwsko Índice:Cartas sobre la América - IA cartassobrelaam01marmrich.djvu 104 359082 1664135 1655306 2026-06-05T17:58:19Z Ignacio Rodríguez 3603 1664135 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=185- |Lugar= |derechos= |Fuente={{IA|cartassobrelaam01marmrich}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to9="-" 10=4 457to462="-" /> |Notas= |Wikidata=Q130608347 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1892 }} etxd8ni415y7p7do8zz7nypdv4giefy Índice:Cartas sobre la América - IA cartassobrelaam02marmrich.djvu 104 359083 1664134 1655307 2026-06-05T17:58:06Z Ignacio Rodríguez 3603 1664134 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=185- |Lugar= |derechos= |Fuente={{IA|cartassobrelaam02marmrich}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to9="-" 10=4 441to446="-" /> |Notas= |Wikidata=Q130608361 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1892 }} pgmvjis2yqpa8r4ld3rgp95ldywhyv1 Índice:Limites argentino-chilenos - IA limitesargentin00ocagoog.djvu 104 360976 1664158 1662455 2026-06-05T18:14:39Z Ignacio Rodríguez 3603 páginas Google 1664158 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Limites argentino-chilenos]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|limitesargentin00ocagoog}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" /> |Notas={{páginas Google}} |Wikidata=Q131105583 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1882 }} k51pro0l3r7c59mc0b1oxwcwnw89o4m 1664230 1664158 2026-06-06T03:49:01Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664230 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Limites argentino-chilenos]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|limitesargentin00ocagoog}} |Imagen=7 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" /> |Notas= |Wikidata=Q131105583 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=1882 }} o8x2e3cdot8u6iqalrml7en9o2cepa6 Índice:Visita a los monumentos arqueológicos de La Quemada, Zacatecas - IA visitaalosmonum01batrgoog.djvu 104 361404 1664147 1660439 2026-06-05T18:05:57Z Ignacio Rodríguez 3603 páginas Google 1664147 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Visita a los monumentos arqueológicos de "La Quemada," Zacatecas]] |Subtitulo= |Volumen= |Autor=[[Autor:Leopoldo Batres|Leopoldo Batres]], [[Autor:Mexico. Inspección y Conservación de Monumentos Arqueológicos de la República Mexicana|Mexico. Inspección y Conservación de Monumentos Arqueológicos de la República Mexicana]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Impr. de la vda. de F. Diaz de Leon |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|visitaalosmonum01batrgoog}} |Imagen=8 |Progreso=C |Paginas=<pagelist 1to7="-" 8="Portada" /> |Notas={{páginas Google}} |Wikidata=Q130467666 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 3l7wj7aaas6fh810exdv0a5jd8h5ptt 1664231 1664147 2026-06-06T03:49:04Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664231 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Visita a los monumentos arqueológicos de "La Quemada," Zacatecas]] |Subtitulo= |Volumen= |Autor=[[Autor:Leopoldo Batres|Leopoldo Batres]], [[Autor:Mexico. Inspección y Conservación de Monumentos Arqueológicos de la República Mexicana|Mexico. Inspección y Conservación de Monumentos Arqueológicos de la República Mexicana]] |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial=Impr. de la vda. de F. Diaz de Leon |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|visitaalosmonum01batrgoog}} |Imagen=8 |Progreso=C |Paginas=<pagelist 1to7="-" 8="Portada" /> |Notas= |Wikidata=Q130467666 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} f7x8347j29l7w94kj48mvudok7sjd7p Autor:Francisco Sancha Lengo 106 361601 1664176 1617189 2026-06-05T20:22:57Z Strakhov 39011 1664176 wikitext text/x-wiki {{Biocitas}} == Ilustraciones == * {{cita libro|título=[[Las mujeres de Zola]]|autor=[[Autor:Enrique Gómez Carrillo|Enrique Gómez Carrillo]]|serie=[[Portal:Biblioteca Mignon|Biblioteca Mignon]]|número=XXXVII|año=1900|otros=Ilustraciones de Francisco Sancha Lengo y [[Autor:José Sánchez Gerona|José Sánchez Gerona]]}} {{at|Las mujeres de Zola - Gómez Carrillo (1900).pdf}} * {{cita publicación|autor=[[Autor:Agustín R. Bonnat|A. R. Bonnat]]|título=[[Las alegres excursiones]]|fecha=1925-08-15|publicación=[[La Esfera]]|ubicación=Madrid|número=606}} {{Wikidata|Q140073536}} * {{cita publicación|autor=[[Autor:Javier Bueno|Javier Bueno]]|título=[[Caminos de la sierra. El Escorial-Robledondo-Santa María de la Alameda]]|fecha=1930-07-21|publicación=[[La Voz (Madrid)|La Voz]]|número=2.983|página=5}} {{Wikidata|Q137653257}} * {{cita publicación|autor=[[Autor:Javier Bueno|Javier Bueno]]|título=[[Caminos de la sierra. Un paseo hasta Zarzalejo (a)]]|fecha=1930-07-29|publicación=[[La Voz (Madrid)|La Voz]]|número=2.990|página=3}} {{Wikidata|Q137699124}} * {{cita publicación|autor=[[Autor:Javier Bueno|Javier Bueno]]|título=[[Caminos de la sierra. Pinares Llanos, Peguerinos y un recuerdo a Tureganoff]]|fecha=1930-08-12|publicación=[[La Voz (Madrid)|La Voz]]|número=3.002|página=3}} {{Wikidata|Q137704193}} [[Categoría:Ilustradores]] cgtfj3h1w1iwrqvrscg87j6ur6p9z8z Índice:Tratado del cultivo de la vid en España y modo de mejorarlo - IA tratadodelcultiv00unse.djvu 104 361739 1664149 1488240 2026-06-05T18:07:34Z Ignacio Rodríguez 3603 1664149 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|tratadodelcultiv00unse}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to17="-" 18=14 23to24="-" 25=19 365to366="-" 367=359 375to380="-" /> |Notas= |Wikidata=Q131283085 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 4gz790318f54598qsecpsfi36syybd0 1664150 1664149 2026-06-05T18:07:56Z Ignacio Rodríguez 3603 Ignacio Rodríguez trasladó la página [[Índice:Tratado del cultivo de la vid en Espaõna y modo de majorarlo - IA tratadodelcultiv00unse.djvu]] a [[Índice:Tratado del cultivo de la vid en España y modo de mejorarlo - IA tratadodelcultiv00unse.djvu]]: título con error 1664149 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|tratadodelcultiv00unse}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to17="-" 18=14 23to24="-" 25=19 365to366="-" 367=359 375to380="-" /> |Notas= |Wikidata=Q131283085 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 4gz790318f54598qsecpsfi36syybd0 Índice:Anticaramuel, o, Defena del manifiesto del reyno de Portugal - IA anticaramuelodef00vill.djvu 104 361743 1664125 1654795 2026-06-05T17:54:14Z Ignacio Rodríguez 3603 1664125 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|anticaramuelodef00vill}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to19="-" 20=4 177to178="-" 179=161 271to276="-" /> |Notas= |Wikidata=Q131283605 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 33awcxqaxpggvjhnsmmesaajcvhbyde Índice:José Vasconcelos y el despertar del México moderno - IA josevasconcelosy00pugh.djvu 104 361745 1664169 1657794 2026-06-05T18:19:50Z Ignacio Rodríguez 3603 1664169 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|josevasconcelosy00pugh}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8="-" 9=3 83to89="-" /> |Notas= |Wikidata=Q131283641 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} gjwsn04j7mw8e2scnrcbi8wz11s81fy Índice:Crisis de la democracia liberal en Costa Rica - IA crisisdelademocr00cerd.djvu 104 361746 1664141 1655724 2026-06-05T18:00:28Z Ignacio Rodríguez 3603 1664141 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|crisisdelademocr00cerd}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to6="-" 7="Portada" 8to11="-" 12=10 194to196="-" /> |Notas= |Wikidata=Q131283650 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte=2011 }} 6ass1cxcai7xu2jq1mel461cuhmyyru Índice:Colon, español, hijo de Pontevedra - IA hijodepontevedra00rodrrich.djvu 104 361755 1664139 1596284 2026-06-05T17:59:57Z Ignacio Rodríguez 3603 1664139 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano=pref. 1920 |Lugar= |derechos= |Fuente={{IA|hijodepontevedra00rodrrich}} |Imagen=1 |Progreso=C |Paginas=<pagelist 1to10="-" 11="Portada" 12to15="-" 16=8 35to38="-" 39=29 57to58="-" 59=47 61to62="-" 63=49 90to92="-" 93=77 95to96="-" 97=79 117to126="-" /> |Notas= |Wikidata=Q131283928 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} gkg73kha8temzgu4dlkvdb4hsps4785 Módulo:Interproyecto 828 365012 1664210 1653830 2026-06-06T00:32:32Z Ignacio Rodríguez 3603 funcionando, lo del cualificador aun no funciona pero lo reviso en seguida 1664210 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() or '' -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') local function propiedad(PID, ... ) if not QID then return end return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... } end function p.interproyecto( frame ) frame = frame:getParent() -- local titulo = mw.title.getCurrentTitle() local argus = {} for k,v in pairs(frame.args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- WIKIDATA! -- if Entidad == '' and argus['wikidata'] then Entidad = mw.wikibase.getEntityObject(argus['wikidata']) end local nombre = frame:preprocess("{{PAGENAME}}") -- Lista de enlaces if (not argus['wikidata'] or argus['wikidata'] == '') and Entidad~=nil then argus['wikidata']=Entidad.id --enlazar a elemento wikidata end ---- Enlaces uno por uno --- local listaenlaces = Enlaces.all(argus) listaenlaces["eswiki"]["text"] = "Enciclopedia" listaenlaces["eswikiquote"]["text"] = "Citas" listaenlaces["commonswiki"]["text"] = "Multimedia" listaenlaces["specieswiki"]["text"] = "Especies descritas" listaenlaces["wikidata"]["text"] = "Metadatos" listaenlaces["eswikibooks"]["text"] = "Libros" listaenlaces["eswikiversity"]["text"] = "Clases" listaenlaces["eswiktionary"]["text"] = "Diccionario" listaenlaces["eswikivoyage"]["text"] = "Viajes" local orden = { 'eswiki', 'eswikiquote','eswiktionary', 'eswikibooks' , 'eswikiversity' , 'eswikinews', 'commonswiki', 'specieswiki', 'eswikivoyage' ,'wikidata'} local textoenlaces = Enlaces.formattedbiocitas(listaenlaces, orden) local contenido = mw.html.create( 'div' ) :addClass( 'ws-noexport' ) :css( 'margin', '5px') :css( 'float', 'right' ) :css( 'box-sizing', 'border-box') :css( 'border', '1px solid #808080') :css( 'width', '30%'); local nodoimagen = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); --P41 if argus['imagen'] ~= '' and argus['imagen'] ~= nil then nodoimagen:wikitext("[[File:"..argus['imagen'].."|frameless|99999x150px|center]]") elseif propiedad('p41') then nodoimagen:wikitext("[[File:"..propiedad('p41').."|frameless|99999x150px|Bandera|center]]") elseif propiedad('p18') then nodoimagen:wikitext("[[File:"..propiedad('p18').."|frameless|99999x150px|"..propiedad('p18', {qualifier ='P2096'}).."|center]]") end nodoimagen:done() local nodonombre = contenido:tag( 'div' ) :css(' margin', '5px') :css( 'text-align' , 'center') :css( 'background' , '#6688AA') :css('color', 'white') :css('font-weight','bold') :css('font-size', '120%'); if argus['nombre'] ~= '' and argus['nombre'] ~= nil then nodonombre:wikitext( argus['nombre'] ) else nodonombre:wikitext( nombre ) end nodonombre:done() local nodoenlaces = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); nodoenlaces:wikitext(textoenlaces) nodoenlaces:done() return contenido:done() end return p 23jo56fqxttoewwqs0x5ibakbxnrs25 1664211 1664210 2026-06-06T00:33:58Z Ignacio Rodríguez 3603 problemita con no conectados a WD 1664211 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') local function propiedad(PID, ... ) if not QID then return end return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... } end function p.interproyecto( frame ) frame = frame:getParent() -- local titulo = mw.title.getCurrentTitle() local argus = {} for k,v in pairs(frame.args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- WIKIDATA! -- if not Entidad and argus['wikidata'] then Entidad = mw.wikibase.getEntityObject(argus['wikidata']) end local nombre = frame:preprocess("{{PAGENAME}}") -- Lista de enlaces if (not argus['wikidata'] or argus['wikidata'] == '') and Entidad~=nil then argus['wikidata']=Entidad.id --enlazar a elemento wikidata end ---- Enlaces uno por uno --- local listaenlaces = Enlaces.all(argus) listaenlaces["eswiki"]["text"] = "Enciclopedia" listaenlaces["eswikiquote"]["text"] = "Citas" listaenlaces["commonswiki"]["text"] = "Multimedia" listaenlaces["specieswiki"]["text"] = "Especies descritas" listaenlaces["wikidata"]["text"] = "Metadatos" listaenlaces["eswikibooks"]["text"] = "Libros" listaenlaces["eswikiversity"]["text"] = "Clases" listaenlaces["eswiktionary"]["text"] = "Diccionario" listaenlaces["eswikivoyage"]["text"] = "Viajes" local orden = { 'eswiki', 'eswikiquote','eswiktionary', 'eswikibooks' , 'eswikiversity' , 'eswikinews', 'commonswiki', 'specieswiki', 'eswikivoyage' ,'wikidata'} local textoenlaces = Enlaces.formattedbiocitas(listaenlaces, orden) local contenido = mw.html.create( 'div' ) :addClass( 'ws-noexport' ) :css( 'margin', '5px') :css( 'float', 'right' ) :css( 'box-sizing', 'border-box') :css( 'border', '1px solid #808080') :css( 'width', '30%'); local nodoimagen = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); --P41 if argus['imagen'] ~= '' and argus['imagen'] ~= nil then nodoimagen:wikitext("[[File:"..argus['imagen'].."|frameless|99999x150px|center]]") elseif propiedad('p41') then nodoimagen:wikitext("[[File:"..propiedad('p41').."|frameless|99999x150px|Bandera|center]]") elseif propiedad('p18') then nodoimagen:wikitext("[[File:"..propiedad('p18').."|frameless|99999x150px|"..propiedad('p18', {qualifier ='P2096'}).."|center]]") end nodoimagen:done() local nodonombre = contenido:tag( 'div' ) :css(' margin', '5px') :css( 'text-align' , 'center') :css( 'background' , '#6688AA') :css('color', 'white') :css('font-weight','bold') :css('font-size', '120%'); if argus['nombre'] ~= '' and argus['nombre'] ~= nil then nodonombre:wikitext( argus['nombre'] ) else nodonombre:wikitext( nombre ) end nodonombre:done() local nodoenlaces = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); nodoenlaces:wikitext(textoenlaces) nodoenlaces:done() return contenido:done() end return p h5pjnmzcn2boqw67etpcmvpf4kz4p9i 1664212 1664211 2026-06-06T00:50:48Z Ignacio Rodríguez 3603 Ahora sí pasa los cualificadores 1664212 Scribunto text/plain local p = {} local Wikidata = require('Módulo:Wikidata') local Entidad = mw.wikibase.getEntityObject() -- Tabla con los datos en Wikidata local QID = Entidad and Entidad:getId() local Enlaces = require('Módulo:Enlaces') local function propiedad(PID, opciones ) if not QID then return end local queryArgs = { item = QID, property = PID, lang = 'es', list = false, } if type(opciones) == 'table' then for k, v in pairs(opciones) do queryArgs[k] = v end end return Wikidata.claim(queryArgs) end function p.interproyecto( frame ) frame = frame:getParent() -- local titulo = mw.title.getCurrentTitle() local argus = {} for k,v in pairs(frame.args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos if v ~= '' and type(k) ~= 'number' then argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto: end end -- WIKIDATA! -- if not Entidad and argus['wikidata'] then Entidad = mw.wikibase.getEntityObject(argus['wikidata']) end local nombre = frame:preprocess("{{PAGENAME}}") -- Lista de enlaces if (not argus['wikidata'] or argus['wikidata'] == '') and Entidad~=nil then argus['wikidata']=Entidad.id --enlazar a elemento wikidata end ---- Enlaces uno por uno --- local listaenlaces = Enlaces.all(argus) listaenlaces["eswiki"]["text"] = "Enciclopedia" listaenlaces["eswikiquote"]["text"] = "Citas" listaenlaces["commonswiki"]["text"] = "Multimedia" listaenlaces["specieswiki"]["text"] = "Especies descritas" listaenlaces["wikidata"]["text"] = "Metadatos" listaenlaces["eswikibooks"]["text"] = "Libros" listaenlaces["eswikiversity"]["text"] = "Clases" listaenlaces["eswiktionary"]["text"] = "Diccionario" listaenlaces["eswikivoyage"]["text"] = "Viajes" local orden = { 'eswiki', 'eswikiquote','eswiktionary', 'eswikibooks' , 'eswikiversity' , 'eswikinews', 'commonswiki', 'specieswiki', 'eswikivoyage' ,'wikidata'} local textoenlaces = Enlaces.formattedbiocitas(listaenlaces, orden) local contenido = mw.html.create( 'div' ) :addClass( 'ws-noexport' ) :css( 'margin', '5px') :css( 'float', 'right' ) :css( 'box-sizing', 'border-box') :css( 'border', '1px solid #808080') :css( 'width', '30%'); local nodoimagen = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); --P41 if argus['imagen'] ~= '' and argus['imagen'] ~= nil then nodoimagen:wikitext("[[File:"..argus['imagen'].."|frameless|99999x150px|center]]") elseif propiedad('p41') then nodoimagen:wikitext("[[File:"..propiedad('p41').."|frameless|99999x150px|Bandera|center]]") elseif propiedad('p18') then nodoimagen:wikitext("[[File:"..propiedad('p18').."|frameless|99999x150px|"..propiedad('p18', {qualifier ='P2096'}).."|center]]") end nodoimagen:done() local nodonombre = contenido:tag( 'div' ) :css(' margin', '5px') :css( 'text-align' , 'center') :css( 'background' , '#6688AA') :css('color', 'white') :css('font-weight','bold') :css('font-size', '120%'); if argus['nombre'] ~= '' and argus['nombre'] ~= nil then nodonombre:wikitext( argus['nombre'] ) else nodonombre:wikitext( nombre ) end nodonombre:done() local nodoenlaces = contenido:tag( 'div' ) :css(' margin', '5px') :css('text-align','center'); nodoenlaces:wikitext(textoenlaces) nodoenlaces:done() return contenido:done() end return p 5zlg12uybbvkeb4x371gnyfou9e8oz2 Índice:La política natural, ó, discurso sobre los verdaderos principios del gobier - IA lapolticanatura00malogoog.djvu 104 365099 1664161 1662285 2026-06-05T18:15:23Z Ignacio Rodríguez 3603 páginas Google 1664161 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política natural, ó, discurso sobre los verdaderos principios del gobierno]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticanatura00malogoog}} |Imagen=8 |Progreso=C |Paginas=<pagelist 1to7="-" 8="Portada" 9to251="-" /> |Notas={{páginas Google}} |Wikidata=Q131643414 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 8c5eag16m2axnqj3yghg37pqh7dwyj1 1664163 1664161 2026-06-05T18:15:45Z Ignacio Rodríguez 3603 1664163 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política natural, ó, discurso sobre los verdaderos principios del gobierno]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticanatura00malogoog}} |Imagen=8 |Progreso=C |Paginas=<pagelist 1to7="-" 8="Portada" /> |Notas={{páginas Google}} |Wikidata=Q131643414 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 1zlqs1f2p1d06hogt4utqk73t79t9sp 1664232 1664163 2026-06-06T03:49:08Z NinoBot 46867 Bot - Retirando plantilla {{páginas Google}} 1664232 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[La política natural, ó, discurso sobre los verdaderos principios del gobierno]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{IA|lapolticanatura00malogoog}} |Imagen=8 |Progreso=C |Paginas=<pagelist 1to7="-" 8="Portada" /> |Notas= |Wikidata=Q131643414 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} e4w2if1gq311vua2djrrcjauckfflsw Módulo:Galería/pruebas 828 386463 1664206 1664099 2026-06-06T00:04:42Z Ignacio Rodríguez 3603 adaptado 1664206 Scribunto text/plain --[[ Genera galerías a partir de una lista de Índices ]] require('strict') local p = {} local getArgs = require('Módulo:Arguments').getArgs local Obra = require('Módulo:Obra/pruebas') local roleString = function(Role) if type(Role) == 'string' then return Role end local list = {} for i, creator in ipairs(Role) do if creator.text == 'valor desconocido' then creator.text = '[[Portal:Anónimo|Anónimo]]' end list[i] = creator.text end return mw.text.listToText(list, ', ', ' y ') end local titleString = function(title, wsPage) -- ya formateado con enlace if type(title) == 'string' and string.find( title, '%[%[' ) and string.find( title, '%]%]' ) then return title end if wsPage and wsPage ~= "" then return "[[" .. wsPage .. "|" .. title .. "]]" end return "[["..title.."]]" end function p.galeria(frame) local args = getArgs(frame) local content = {} if args[1] == nil then return '' end for file in mw.text.gsplit(args[1], '\n') do if file =='' then -- pass else if mw.ustring.match(file, 'Índice:') then file = mw.ustring.sub(file, 8) end local index = mw.ext.proofreadPage.newIndex( file ) if not index.title.exists then -- pass else local fields = index.fields local work = Obra.newWork(file, nil, fields) -- fields = loadWikidata(fields, work) local archivo = 'Archivo:' .. file local page = fields.Imagen local titulo = work.title local wsPage = work.wsPage local title = titleString(titulo, wsPage) local anyo = work.pubYear local roles = '' local coma = false for i, role in ipairs{'author', 'translator', 'illustrator', 'introducer'} do local Role = work[role] if Role and Role ~= '' then Role = roleString(Role) if coma then roles = roles..', <br>' end coma = true if role == 'author' then roles = roles..'por ' .. Role elseif role == 'translator' then roles = roles..'traducido por ' .. Role elseif role == 'illustrator' then roles = roles..'ilustrado por ' .. Role elseif role == 'introducer' then roles = roles..'prólogo por ' .. Role end end end local str = archivo .. '|page='..page..'|link=Índice:'..file..'|' str = str .. "'''"..title.."''' (".. anyo..")" if roles ~= '' then str = str.."<br/> <span style=\"font-size: 83%;\">" str = str..roles str = str..'</span>' end -- TODO: parámetro para no mostrar links de descarga local dlink = frame:expandTemplate{ title = 'descarga2', args={titulo} } str= str..'<br/>'..dlink table.insert(content, str) end end end local all = table.concat(content, '\n') local tag = frame:extensionTag( 'gallery', all, { heights = 200, widths = 200, mode="packed" } ) return tag end return p 31jeg0k6xjh4cp84jczbr1zc1mumt7i Fábulas de Esopo, filósofo moral, y de otros famosos autores/Los cuadrúpedos y las aves 0 389838 1664241 1564183 2026-06-06T04:39:23Z Ignacio Rodríguez 3603 1664241 wikitext text/x-wiki <pages index="Fábulas de Esopo, filósofo moral, y de otros famosos autores - bdh0000084751.pdf" from=142 to=143 header=test tosection="s1" /> oeft1rgd2k89mta4bng3n1xxi3r4ucw Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/19 102 398434 1664194 1581246 2026-06-05T22:05:08Z Ignacio Rodríguez 3603 1664194 proofread-page text/x-wiki <noinclude><pagequality level="1" user="Mishell Andia" />{{cp||Índice alfabético|XIII}}</noinclude>admintiraione. De bonis, quae liberia . acquiruntur, et eorum €. 6, 61. — administratione et periculo tutorum et cura- torum, qui gesserint, vel non, et de agentibus vel conveniendis, uno vel pluribus. -D, 26,7. — administratione rerum ad civitates pertinen- tiem. .D, 50, 8. — administratione rerum publicarum. €. 11, 31, — administratione tutorum yel euratorum, et pera pupillari foeneranda, vel deponenda, , $7. alministrationem depositam, L, dies in civitalibus vel certia docig permaneant. Ut omnes iudi- ces, . . post €. 1,49, adiinisiralionia tempore proprias aedes aedifi- ent ete. De contractibus iudicum . .. eb ne €. 1, 63. cimil: ad bonorum pogsessionem possunt etc, Qu C€.8,9 A salvam fore. Rem papilli yel D. - adoptionibns, 71,11, €.8,47. — adoptionibus, et emancipationibus, et aliis modis, quibus potestas solvitur. D, 1, 7. eta in testamento. De his, qui sibi €. adsit tutor. Ut cansas post pubertatem C. 5, 48, adepirantibuz etc. . de servis ad militiam, vel dignitatem €, 12, 33. adspiraverit. Si servus, aut libertus ad decurio- matum €, 10, 383 adrersarium corrumpere curavit. De poena .... elus, qu... €,7,49, sea is praescriptio opponatur. Si adeersus creditorem. Si C.2,37, adteraus delictum, Si C.2,84. adversus donationem, Si 1 2, 29. adtersus dote. Si C.2,83. adrersus fiscum latig retractandis, Desententiis adversus Ñiscuen, Si C.2,36. advergua libertatem opponitur. De... seriptione, quae . . . non €.7, 22 adversus liberfatem. Si C.2, 80. a netos, caupones, stabularios, aceraus ques in inlegrum restitui non possunt. Quiet (,2,41. dl . adversus rem iudicatam vestitutio postuletur. Si . - prag- Furti Mer ¿oiutionen a tutore vel a se factam, Si adversus transactionem vel divisionem in inte- Jrum minor restitui velit Si €C.2, 81. Wrersus venditionem pignorum. Si C.2, 28. versus vendifionem. Si C.9, 27. odvergus usucapionem, Si €, pA ESM adulterijg etc. Ad legem Iuliam de €. 9,9, Wleriis cotreendis. Ad legem luliam de D. sd. adrocationem - - . tommorantur ete. Quibus Inuneribag excusentur hi, qui post imple- tam... C, 10,58. - adrocatis diversorum iudiciorum. €, 2,7. = advocatis diversoram iudicum. €. 2, 8.] — Advocatis fisci, C,2, 8, cocafis partium, iudex suppleat. Ut, quae desd €. 2, 10. orum ete, Delucris €. 12, 61. Meocatorum, vel tibellos seu Ppreces concipientimn. De erroro C,2, 9, Xi aedes aedificent etc. De contractibusindicam... >. En administrationis tempore proprias €, , 53, aedificando. D. 11, 8, aedificent ete, De contractibus iudicam ... et Es e tempore proprias aedes , 1, 33, — asdificiis privatis. €. 8, 10, — aedilitiis actionibus. €. 4, 58, — aedilitio edicto, et redhibitione, et quanti mi- poris D. 21, 1. degyptum non excidendis, vel vendendis, De cupressis , . . Perseis per €. 11, 78, Aeliam Sentiam. . . ebad legem D. 40, 9. aeris. De collatione C. 10, 86, aestale fluxit. Ne quid in fumive publico fiat, quo aliter aqua fluat, atque uti priore D, 43, 13. — aestimatoria. D. 19, 8, aestiva. De aqua quotidiana, et D.48, 20. actate se excusant. Qui C.b, 87, actatis impelraverunt. De his, qui veniam C. 2, dá, affigunt ete. De his, qui potentiorum nomine ti- tulos praediis €. 2, 14, Africae, et de omni ciusdem dioeceseos siatu. De officio praefecti e imanes C. 1, 27. agatur, quemadmodum cavetur. Si ex noxali causa D, 2, 9. agiter. Quod cuinscunque universitatias nomi- ne, vel contra sam D,3, 4, agatur. Si vendito pignore C.8, 29, agatur ete. Ubide hereditate C, 8, 20, — agentibus in rebus. C. 12, 20, agentibus vel conveniendis, uno vel pluribus. De administratione . . . etde .D, 28, 7. (agentium in rebus. De praspositis €, 12, 21.) agentírm in rebus, De principibus C. 12, 91. nn id est emphyteuticarius, petatur. 1 yd agere compellendum, Apud sum, a que appella- tur, aliam causam 0D, 49, 12, agere vel conveniri possunt. Quando ex facto tn- toris vel curatoris minores D, 26, 9. €, 5, 39. agere possumus. Dejis, per quos 1,4, 10. agere pro minore , . , possint. Si ex pluribus tutoribus vel curatoribus omnes vel unus €. 5, 40, agere vel accusare cogatur. De mortuo inferendo, et sepulcro Ut nemoinvitua C, agere, vel conveniri debeat. De indiciis, et ubi quisque D.5, 1. aggeribus non rumpendis, De Nili C. 9, 88, agi debeat, Tbi causa status €, 3, 22, agi oporteat. Ubi de criminibus €. 3, 15, ayi oporteat, Ubide possessione C. 3,16, agi oportet. Ubi de ratiociniis . . . €. 8,21, agi posse. Etiarm per procuratorem causam in integrum restitutionis C, 2, 48, agitanda sit. Ubi et apud quem cognitio in in- tegrum restitutionis €. 2, 46. agitur, quem quod simulate concipitur. Plus ya- lere, quod C. 4,22. agnatorum suecessione. Delegitima 13,2, agnatorum tutela, De legitima 1.1, 15, agroscant. De mulieribus, in que loco munera sexui congruentia, vel honores €. 10, 64 — agnoscendis et alendis liberis, vel arentibus, vel patronis, vel libertia, D. 2 % $ — agricolis, et censitis, et colonis. C. 11, 48,<noinclude>{{PieBilingüe|d}}</noinclude> 6piokfmj6o4sudjfbrxd2us3bc9mn0c Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/47 102 398435 1664197 1581247 2026-06-05T22:31:21Z Ignacio Rodríguez 3603 1664197 proofread-page text/x-wiki <noinclude><pagequality level="1" user="Mishell Andia" />{{cp||Índice alfabético|XLI}}</noinclude>XLI ÍNDICE ALFABÉTICO Per quas personas nobis obligatio acquiritur. 1. 3, 28. et C. 11, 58. patris constitutis acquiruntur etc. De bo- peraequatoribus. De censibus perfectissimatus dignitate. С. 12, 32. nis, quae liberis inpotestate C. 6, 61. patrimonii. De officio comitis sacri C. 1, 34. patrimoniorum. De muneribus C. 10, 42. .. ... patrocinii causa in lite praestet. Ne fiscus vel periculo eorum, qui pro magistratibus intervenerunt. C. 11, 35. respublica procurationem alicui, C. 2, 17. patrocinium litigantibus praestare etc. Ne liceat periculo, et commodo rei venditae D. 18, 6. C. 4, 48. potentioribus C. 2, 13. patrocinium suscipiat rusticanos, vel vicos eorum . Utnemo ad suum C. 11, 54. patronatus. De iure D. 37, 14. C. 6, 4. patroni a libertis alienatio facta sit. Si in fraudem C. 6, 5. patroni factum sit. Si quid in fraudem D. 38, 5. periculo nominatorum. C. 11, 34. periculo recitandis. De sententiis ex C. 7, 44. periculo succesorum parentis. C. 10, 63. - periculo tutorum et curatorum. C. 5, 38. periculo tutorum et curatorum etc. De administratione et D. 26, 7. permaneant . Ut omnes iudices . patronis datur. De bonorum possessione contra tabulas liberti, quae C. 6, 13. patronis praestandis. De obsequiis parentibus et D.37, 15. .postadministrationen strationem depositam, L. dies C. 1, 49. permissis . De episcopis et clericis et de patronis, vel libertis. De agnoscendis et alen- permissu Principis permittatur. Ut nulli patriae dis D. 25, 3. patrono conveniatur. Ne libertus pro C.4,13. patrono praestandis. De obsequis C. 6, 6. suae administratio sine spciali C. 1, 41. ... ... ... . nuptiis clericorum vetitis seu C. 1, 3. permutatione. De rerum D. 19, 4. C. 4, 64 perpetuis et temporalibus actionibus, et quae ad heredes et in heredes transeunt. I. 4, 12. patronorumtutela. De legitima I. 1, 17. persecutoribus . De auri publici C. 10, 74. pauperiem fecisse dicatur. Si quadrupes I. 4,9. Perseis per Aegyptum non excidendis vel vendenD. 9, 1. dis. De cupressis ... C. 11, 78. paupertate excusationem meruerunt. De his, personam standi in iudiciis habeant, vel non. Qui qui C.10, 52. legitimam C. 3, 6. personarum. De iure I. 1, 3. peculatus. De crimine C. 9, 28. peculatus, et de sacrilegis, et de residuis. Adle- personarum, quae restitui possunt etc. De temporibusin integrum restitutionis C.2, 52. gem Iuliam D. 48, 13. .. ... ... peculio. D. 15, 1. peculio actio annalis est. Quando de D. 15, 2. personas cognoscat etc. ... peculio. De castrensi D. 49, 17. peculio etc. De episcopis et clericis et ca- ter .. • clarissimarum Quando Imperator in- miserabiles C. 3, 14. personas nobis acquiratur. Per quas I. 2, 9. С. strensi C. 1,3. peculio. De castrensi omnium palatinorum C. 12,30. 4, 27. personas nobis obligatio acquiritur. Per quas I. peculio eius, qui libertatem meruit. C. 7, 23. -peculio legato. D. 33, 8. peculio militum et praefectianorum. De castrensi C. 12, 36. de C. 4, 26. peculio, sive quod iussu etc pecuniaconstituta D. 13, 5. pecunia. De constituta C. 4, 18. pecunia. De nonnumerata C. 4, 30. pecunia emerit. Si quis aliena C. 4, 50. ... pecunia pupillari foeneranda, vel deponenda. De ... personarum. De tutoribus С. 5, 33. C. 5, 37. pecuniae. De prohibita sequestratione C. 4, 4. pecuniae secuta non fuerit. Si pignoris conventionem numeratio C. 8, 32. pecuniam acceperunt. De his, qui ex publicis rationibus mutuam C. 10, 6. 3, 28. personis. De incertis C. 6, 48. pertinent pontificalem. De episcopali audientia, et .quae ad ius curamque et reverentiam C. 1, 4. pertinentes, at suppositarum iurisdictioni suae adspirare tentaverint nuptias. Si quacunque praeditus potestate vel ad eum C. 5, 7. pertinentes sponsalitia dederint. Si rector pro- vinciae, vel ad eum С. 5, 2. et ad rem pertinentibus . De servis fugitivis privatam vel dominicam C. 6, 1. pertinentium . De administratione rerum ad civi... tates D. 50, 8. pertinere negetur. Si servitus vindicetur, vel ad alium D. 8, 5. pecuniam pignus teneri posse. Etiam ob chiro- pertinere negetur. Si ususfructus petatur, vel ad graphariam C. 8, 26. alium D. 7, 6. pecuniis etc. De Consulibus, et non spargendis pertinere. Sumtus iniuncti muneris ad omnes ab his C. 12, 3. collegas pedaneis iudicibus. C. 3, 3. C. 11, 38. perturbata sit possessio. Si per vim • . absen- peius navigetur. De fluminibus, ne quid in flutis C. 8, 5. quo D. eius ripave fiat, publico , mine pervenire. Qui non possunt ad libertatem C. 43, 12. 7, 12. pendente appellatione mors intervenerit. Si D. 49, 13. C. 7, 66. pendente nulli liceat Imperatori supplicare. Utlite D. 1, 21. penitus tollendis. De gladiatoribus C. 11, 44. pensitationes venditio fuerit celebrata. Si propter publicas C. 4, 46. penu legata, D. 33, 9. acquiratur. I. 2, 9. С. Perquaspersonasnobis 4, 27. TOMO I.- VI petant tutores vel curatores etc. Qui D. 26, 6. C. 5, 31. petantur. Si nuptiae ex rescripto С. 5, 8. petantur tutores vel curatores. Ubi C. 5, 32. petantur. Qui petant tutores vel curatores et ubi D. 26, 6. petatur. petatur. rius, petatur. Si certum C. 4, 2. Si ager vectigalis, id est emphyteuticaD. 6, 3. Si pars hereditatis D. 5, 4.<noinclude></noinclude> ckwazdzl153eqg98ku03hbb5ua0n2o1 Índice:Aires de montaña - Francisco Soto y Calvo.pdf 104 399248 1664123 1654637 2026-06-05T17:53:43Z Ignacio Rodríguez 3603 1664123 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo=[[Aires de montaña]] |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{AcademiaArgentinadeLetras-WMAR}} |Imagen=1 |Progreso=P |Paginas=<pagelist /> |Notas= |Wikidata=Q136039472 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} kwbtd60zo9dmqhut0zci7yladyvd5oi Página:Historia de la esclavitud de la raza africana en el nuevo mundo y en especi - Volumen 1 - IA historiadelaescl01saco.djvu/385 102 399607 1664192 1624162 2026-06-05T22:04:03Z Ignacio Rodríguez 3603 1664192 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" /></noinclude>{{may|Prólogo}} por Fernando Ortiz.... - {{may|Libro Primero}}.—Conocimiento que de Africa tuvieron la Antigüedad y la Edad Media.—Herodoto, Polibio y otros autores. - Hebreos y fenicios. - Cartago y Roma. Circunnavegación del Africa por los fenicios.—Viaje de Hannon.—Modo raro de comerciar. -Viaje de Scylax.—Viajes de Polibio y de Eudoxo. Arabes.—Venecianos.—Genoveses.—El catalán Ferrer. Pretensiones de algunos franceses.—Robbe, Villot de Belfonde, Labat, Anquetil.—Discordancias entre estos autores franceses.—Reflexiones. -Descubrimiento de los portugueses en la costa occidental de Africa durante el siglo xv-El infante D. Enrique de Portugal.—Toma de Centa por los portugueses. Descubrimiento de la isla de Madera. -Dóblase el cabo Bojador a pesar de sus terrores. -Mala conducta del infante con España.—Moros salteados por los portugueses, 5 moros rescatados por negros. Error de algunos historiadores sobre el renacimiento del tráfico de esclavos.—Compañías de Lágos y de Argüim.—Muerte de Gonzalo de Cintra. Número de carabelas y costas descubiertas hasta 1446.—Muerte de Nuño Tristán.—Piráticas expediciones. Factorías en Africa. Interrupción de los descubrimientos.—Los papas sancionan los descubrimientos portugueses. Muerte del infante D. Enrique. Arrendamiento del comercio de Africa. Descubrimiento de la Mina del Oro, y controversia sobre ella.—Fortaleza de la Mina del Oro.— - Págs. V<noinclude></noinclude> 9cykpoa6iw15t8zsagint5pomrn9niy Página:Historia de la esclavitud de la raza africana en el nuevo mundo y en especi - Volumen 1 - IA historiadelaescl01saco.djvu/386 102 399608 1664193 1624163 2026-06-05T22:04:26Z Ignacio Rodríguez 3603 1664193 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|312|Índice|Índice}}</noinclude>{{may|Índice}} Págs. Pío II condena el tráfico de esclavos que hacían los portugueses.—Diego Can.—Fernando Po.—Benéfica disposición de Juan III.—El Preste Juan.—Mapamundi de Fra Mauro.—Viaje de Vasco de Gama... {{may|Libro Ii}}.—Colón en la Corte de Castilla y su descubrimiento del Nuevo Mundo.—Bulas de concesión de las Indias a los Reyes Católicos.—Tratado de Tordecillas. Repartimiento del Nuevo Mundo eutre varias naciones.—Isla española y sus diversos nombres.—Primera población de los europeos en el Nuevo Mundo. Prohibición de pasar al Nuevo Mundo y modificación posterior de ella.—Blancos fueron los primeros colonos.—Exención de todo derecho al comercio.—Pobladores delincuentes para la Española. Colón no pidió negros sino labradores y artesanos blancos.—Asientos para llevarlos a la Española. Primeros negros esclavos en el Nuevo Muudo.—Oposición de Ovando a nuevas entradas de negros esclavos. - Suspéndese su importación, pero después se renueva.—El gobierno envía negros a la Española, y expulsión de ella de ciertos esclavos. Casa de Contratación de Sevilla.—Consejo de Indias. Diego Colón, Gobernador de la Española.— Envía el gobierno nuevos negros a la Española, sin olvidar por eso el fomento de la población blanca. -Tráfico directo de esclavos entre Africa y el Nuevo Mundo.—Error de autores franceses.—Imparcialidad con el gobierno español.—Extensión de la colonización. La Española madre de otras colonias. -Puerto Rico y primera introducción de negros allí.—Jamaica e introducción de los primeros negros en ella.—Cuba y primeros esclavos negres en ella.— Error de escritores cubanos sobre este punto.—Primera colonia asentada en el continente, y primeros negros introducidos en él.—Pueblo de negros en el -<noinclude></noinclude> 4o9t6g6929momqrvkwsnen0h2xffvjt Página:Historia de la esclavitud de la raza africana en el nuevo mundo y en especi - Volumen 1 - IA historiadelaescl01saco.djvu/387 102 399609 1664187 1624164 2026-06-05T22:02:53Z Ignacio Rodríguez 3603 1664187 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|313|José Antonio Saco|Historia de la esclavitud}}</noinclude>— Darién. Islas de Barlovento y Sotavento sin colonizar. Necesidad de esclavos en las cuatro grandes antillas. Temores que infundían los negros en la Española. Almojarifazgo. - Portugueses contrabandistas.—8ólo los castellanos pueden comerciar con América.—Clamor contra el monopolio de Sevilla. Peticiones de los Procuradores de la Española y de los PP. Gerónimos.—Intolerancia colonial.— Muerte del rey Don Fernando.—Suspensión del tráfico de esclavos por Jiménez de Cisneros y falsos motivos que se le atribuyen.—Restablecimiento del tráfico de negros.—Negros piden las colonias, varias órdenes religiosas de la Española, la Audiencia de ella y diversos empleados.—Los andaluces importan negros africanos en la Española y concédense a otros varias licencias.—Opiniones acerea de si Casas pidió, o no, negros esclavos para América.—Origen de Casas, su educación y su primer viaje al Nuovo Mundo. Casas tuvo indios repartidos; su seguedad; su conversión, y renuncia de su repartimiento. -Conságrase Casas a la defensa de la libertad de los indios. Sus luchas, sus gestiones en España y calumnias contra él.—Primeros memoriales de Casas pidiendo negros y labradores libres para las Antillas. Injusta censura de Robertson. - Infundada apología de Casas por el obispo Grégoire y su impugnación por el canónigo Funes.—Casas pidió varias veces esclavos negros para Indias, y excusas de este error.—Condenación del tráfico por Casas y juicio severo que él forma contra sí mismo arropintiéndose de su pecado. - Apasionada injusticia de Amador de los Ríos contra Casas.... {{may|Libro Iii}}.—Privilegio concedido a Garrebod para introducir negros en Indias, y asiento con genoveseɛ.<noinclude></noinclude> duz25db2j9ui83o5b1qaua6qxnk002f 1664188 1664187 2026-06-05T22:03:09Z Ignacio Rodríguez 3603 1664188 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|313|Índice|Índice}}</noinclude>— Darién. Islas de Barlovento y Sotavento sin colonizar. Necesidad de esclavos en las cuatro grandes antillas. Temores que infundían los negros en la Española. Almojarifazgo. - Portugueses contrabandistas.—8ólo los castellanos pueden comerciar con América.—Clamor contra el monopolio de Sevilla. Peticiones de los Procuradores de la Española y de los PP. Gerónimos.—Intolerancia colonial.— Muerte del rey Don Fernando.—Suspensión del tráfico de esclavos por Jiménez de Cisneros y falsos motivos que se le atribuyen.—Restablecimiento del tráfico de negros.—Negros piden las colonias, varias órdenes religiosas de la Española, la Audiencia de ella y diversos empleados.—Los andaluces importan negros africanos en la Española y concédense a otros varias licencias.—Opiniones acerea de si Casas pidió, o no, negros esclavos para América.—Origen de Casas, su educación y su primer viaje al Nuovo Mundo. Casas tuvo indios repartidos; su seguedad; su conversión, y renuncia de su repartimiento. -Conságrase Casas a la defensa de la libertad de los indios. Sus luchas, sus gestiones en España y calumnias contra él.—Primeros memoriales de Casas pidiendo negros y labradores libres para las Antillas. Injusta censura de Robertson. - Infundada apología de Casas por el obispo Grégoire y su impugnación por el canónigo Funes.—Casas pidió varias veces esclavos negros para Indias, y excusas de este error.—Condenación del tráfico por Casas y juicio severo que él forma contra sí mismo arropintiéndose de su pecado. - Apasionada injusticia de Amador de los Ríos contra Casas.... {{may|Libro Iii}}.—Privilegio concedido a Garrebod para introducir negros en Indias, y asiento con genoveseɛ.<noinclude></noinclude> gdw7o8dfukliwv8vd0ya5e0bcbi6j0z Página:Historia de la esclavitud de la raza africana en el nuevo mundo y en especi - Volumen 1 - IA historiadelaescl01saco.djvu/388 102 399610 1664189 1624165 2026-06-05T22:03:17Z Ignacio Rodríguez 3603 1664189 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|313|Índice|Índice}}</noinclude>{{may|Índice}} -Reclamaciones contra este asiento.—Primera entrada de negros esclavos en Nueva-España.—Primera introducción de viruelas en Nueva-España.—Estado de las cuatro grandes Antillas y sus poblaciones. Error del historiador Prescott.—Plantas que influyeron en el aumento de negros. Caña de azúcar, y elaboración de su jugo.—Error de Capmany y otros autores sobre la caña y el azúcar.—Variedades de caña, primer azúcar que se hizo en el Nuevo Mundo, y su exportación para España. -Diezmo.—Primeros ingenios en Jamaica y Cuba.—Mortandad de negros en los ingenios.—Primera insurrección de esclavos negros en el Nuevo Mundo.—Desastre de Santo Domingo.—Continuación del tráfico de negros, y revocación del privilegio de Garrebod. Primeros ingenios en Nueva España.—Proyecto de emancipación de los negros de México. -Nueva política mercantil de Carlos I en Indias.—Primeros negros en Guatemala y en otros países del continente américo-hispano.—Asiento de Pizarro con el gobierno. Despoblación de las Antillas, y proyecto de repoblar la Española.—Desgracias de la isla de Cuba. Nuevos permisos para introducir negros en Indias. Medidas contra negros esclavos en Cuba. -Modo de escribir la historia de la esclavitud de la raza africana en el Nuevo Mundo.—Asiento de negros con alemanes, y reclamaciones contra él. Modificación del monopolio de Sevilla.—Alzamiento de negros en Santa Marta.—Extraña pretensión del clero de la Española.—Providencias para introducir en Indias labradores blancos.—Medidas para mejorar la Española.—Ocurrencias en las Antillas.—Calamitoso estado de Cuba.—Expulsión de portugueses de la Española.—Pedro de Alvarado.—Primer v¡Págs.<noinclude></noinclude> m85htstulaxfzoypevkfaezgu2486rd 1664190 1664189 2026-06-05T22:03:24Z Ignacio Rodríguez 3603 1664190 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|314|Índice|Índice}}</noinclude>{{may|Índice}} -Reclamaciones contra este asiento.—Primera entrada de negros esclavos en Nueva-España.—Primera introducción de viruelas en Nueva-España.—Estado de las cuatro grandes Antillas y sus poblaciones. Error del historiador Prescott.—Plantas que influyeron en el aumento de negros. Caña de azúcar, y elaboración de su jugo.—Error de Capmany y otros autores sobre la caña y el azúcar.—Variedades de caña, primer azúcar que se hizo en el Nuevo Mundo, y su exportación para España. -Diezmo.—Primeros ingenios en Jamaica y Cuba.—Mortandad de negros en los ingenios.—Primera insurrección de esclavos negros en el Nuevo Mundo.—Desastre de Santo Domingo.—Continuación del tráfico de negros, y revocación del privilegio de Garrebod. Primeros ingenios en Nueva España.—Proyecto de emancipación de los negros de México. -Nueva política mercantil de Carlos I en Indias.—Primeros negros en Guatemala y en otros países del continente américo-hispano.—Asiento de Pizarro con el gobierno. Despoblación de las Antillas, y proyecto de repoblar la Española.—Desgracias de la isla de Cuba. Nuevos permisos para introducir negros en Indias. Medidas contra negros esclavos en Cuba. -Modo de escribir la historia de la esclavitud de la raza africana en el Nuevo Mundo.—Asiento de negros con alemanes, y reclamaciones contra él. Modificación del monopolio de Sevilla.—Alzamiento de negros en Santa Marta.—Extraña pretensión del clero de la Española.—Providencias para introducir en Indias labradores blancos.—Medidas para mejorar la Española.—Ocurrencias en las Antillas.—Calamitoso estado de Cuba.—Expulsión de portugueses de la Española.—Pedro de Alvarado.—Primer v¡Págs.<noinclude></noinclude> ft0ucjwy9fnbx5skw5ujofhao4zddhv Página:Historia de la esclavitud de la raza africana en el nuevo mundo y en especi - Volumen 1 - IA historiadelaescl01saco.djvu/389 102 399611 1664191 1624166 2026-06-05T22:03:34Z Ignacio Rodríguez 3603 1664191 proofread-page text/x-wiki <noinclude><pagequality level="1" user="NinoBot" />{{crv|315|Índice|Índice}}</noinclude>{{may|Índice}} 315 Págs. rrey de Nueva España.—Primera entrada de negros en el Río de la Plata y en Chile, y propagación de la esclavitud negra en toda la América Española... 175 {{may|Libro Iv}}. Proyecto de asiento de negros con alemanes. Asiento de negros con Cristóbal Francisquini. -La Española pide negros.—Corsarios franceses.— Vadillo y sus correrías.—Conspiración de negros en Nueva España.—Quejas de la Contratación de Sevilla. Corsarios en la Española.—Alzamiento de negros en Cuba.—Negros del Brasil en Puerto Rico. Instrucción religiosa a matrimonios de algunos negros esclavos.—Incremento del negro en el Perú. Inútil restricción para la entrada de negros en Indias. Portugueses importadores de esclavos.—Protección al esclavo.—Peticiones de la Española para importar negros.—Nuevas reclamaciones contra el monopolio de Sevilla. Asiento con los Torres. Corrupción de los negros en el Perú y la Española, -Muchedumbre de vacas en la Española.—Población de Cuba cuando la visitó el obispo Sarmiento. —Nuevos alzamientos de negros en la Española, y tenores del gobierno.—Carestía de comestibles en la Española. Nuevos alzamientos de negros en el Continente.—Peste en Nueva España.— Embriaguez de indios y negros.—Primer ingenio en Cuba.—-Repítense los alzamientos de negros.—Renuévase la expulsión de ciertos esclavos.—Negociaciones sobre negros entre España y Portugal.—Reclamación de la Española contra la venta de negros sin tarifa.— Petición de Angulo, gobernador de Cuba.—Extranjeros. Consultas del Consejo de Indias.—Ordenanzas para los negros en el Perú y en otras partes.— Vestidos y armas.—Negros armados en las guerras eiviles. Introducción anual de negros en la Espa-<noinclude></noinclude> 185iyj5uta1q6sh1vhjqhl9b73e0spj Índice:Viaje de destierro - MC0010433.pdf 104 408174 1664148 1612524 2026-06-05T18:06:23Z Ignacio Rodríguez 3603 1664148 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{Memoria Chilena|1=8295}} |Imagen=1 |Progreso=P |Paginas=<pagelist /> |Notas= |Wikidata=Q137601255 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} f39ajm8yqpaa6hr8x7kbw0n1w1ahpuu Índice:Cuando mi tierra fué moza - MC0075255.pdf 104 408177 1664145 1613142 2026-06-05T18:03:39Z Ignacio Rodríguez 3603 1664145 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{Memoria Chilena|1=600735}} |Imagen=1 |Progreso=P |Paginas=<pagelist /> |Notas= |Wikidata=Q137601539 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} lnbat3b87337fqey5taw59g07ttvp8w Índice:Sus mejores poemas - MC0011008.pdf 104 410106 1664155 1619186 2026-06-05T18:11:13Z Ignacio Rodríguez 3603 1664155 proofread-index text/x-wiki {{:MediaWiki:Proofreadpage_index_template |Titulo= |Subtitulo= |Volumen= |Autor= |Editor= |Traductor= |Prologuista= |Imprenta= |Editorial= |Ilustrador= |Ano= |Lugar= |derechos= |Fuente={{Memoria Chilena|1=8336}} |Imagen=1 |Progreso=P |Paginas=<pagelist /> |Notas= |Wikidata=Q137771676 |Serie= |Header= |Footer= |Modernizacion=default |Dict= |ultima-muerte= }} 5h4435nnbje9u7pohwjnbay6sshdls5 Módulo:Obra/pruebas 828 411760 1664198 1664102 2026-06-05T22:49:30Z Ignacio Rodríguez 3603 approach malo, después volveré a Creator 1664198 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección-autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, formatting = options.formatting or nil, list = options.list, tabla = options.tabla } local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( entity ) if not entity then return end local sl = entity:getSitelink() if sl then return sl end if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) -- return fetchFromWikidata( id, prop, { list = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop ) end local function getYearProp( id, prop ) -- formatting para años local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do table.insert(creators, { id = v, text = strings_table[i], item = getEntity(v), wsPage = getLocalSiteLink(getEntity(v)) }) end mw.logObject(creators) mw.logObject(creators[1]) mw.log(creators[1].wsPage) if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, name ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then error( 'Failed to look up item: ' .. titleOrQid ) end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or index_args['wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "") and m_qid or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( item ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p b3bvrqti3phevpvnt5z22y20kk0snrj 1664205 1664198 2026-06-05T23:56:29Z Ignacio Rodríguez 3603 FUNCIONA 1664205 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección-autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, formatting = options.formatting or nil, list = options.list, tabla = options.tabla } local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( id ) if not id or type(id) ~= 'string' or not id:match('Q%d+') then return end local sl = mw.wikibase.getSitelink(id) if sl then return sl end local entity = mw.wikibase.getEntity(id) if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop, {list = false} ) end local function getYearProp( id, prop ) local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do v = v:match('Q%d+') and v or nil table.insert(creators, { id = v, text = strings_table[i], wsPage = getLocalSiteLink(v), label = mw.wikibase.getLabel(v) or strings_table[i] }) end if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, {text = name, label = name} ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then error( 'Failed to look up item: ' .. titleOrQid ) end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or index_args['wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "") and m_qid or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( qid ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p gqwcsfp7azwfxw2sy6ccom2p35z2wiu 1664240 1664205 2026-06-06T04:29:39Z Ignacio Rodríguez 3603 cosméticos 1664240 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección-autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, } for k, v in pairs(options) do queryArgs[k] = v end local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( id ) if not id or type(id) ~= 'string' or not id:match('Q%d+') then return end local sl = mw.wikibase.getSitelink(id) if sl then return sl end local entity = mw.wikibase.getEntity(id) if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop, {list = false} ) end local function getYearProp( id, prop ) local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do v = v:match('Q%d+') and v or nil table.insert(creators, { id = v, text = strings_table[i], wsPage = getLocalSiteLink(v), label = mw.wikibase.getLabel(v) or strings_table[i] }) end if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, {text = name, label = name} ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then error( 'Failed to look up item: ' .. titleOrQid ) end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or index_args['wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "" and m_qid) or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( qid ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p lxowscss6r04nre5sth9w9huth4ukd6 1664242 1664240 2026-06-06T04:58:05Z Ignacio Rodríguez 3603 1664242 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección-autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, } for k, v in pairs(options) do queryArgs[k] = v end local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( id ) if not id or type(id) ~= 'string' or not id:match('Q%d+') then return end local sl = mw.wikibase.getSitelink(id) if sl then return sl end local entity = mw.wikibase.getEntity(id) if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop, {list = false} ) end local function getYearProp( id, prop ) local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do v = v:match('Q%d+') and v or nil table.insert(creators, { id = v, text = strings_table[i], wsPage = getLocalSiteLink(v), label = mw.wikibase.getLabel(v) or strings_table[i] }) end if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, {text = name, label = name} ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then error( 'Failed to look up item: ' .. titleOrQid ) end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or header_args['index_wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "" and m_qid) or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( qid ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p qwit0njo0m3y9d3cru0rbup40olo5v3 1664243 1664242 2026-06-06T05:15:25Z Ignacio Rodríguez 3603 1664243 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, } for k, v in pairs(options) do queryArgs[k] = v end local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( id ) if not id or type(id) ~= 'string' or not id:match('Q%d+') then return end local sl = mw.wikibase.getSitelink(id) if sl then return sl end local entity = mw.wikibase.getEntity(id) if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop, {list = false} ) end local function getYearProp( id, prop ) local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do v = v:match('Q%d+') and v or nil table.insert(creators, { id = v, text = strings_table[i], wsPage = getLocalSiteLink(v), label = mw.wikibase.getLabel(v) or strings_table[i] }) end if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, {text = name, label = name} ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then error( 'Failed to look up item: ' .. titleOrQid ) end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or header_args['index_wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "" and m_qid) or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( qid ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p nq5l01wmewzr6w8ntr19z8co2hqpk1s 1664248 1664243 2026-06-06T05:28:34Z Ignacio Rodríguez 3603 permite obras no conectadas a wikidata 1664248 Scribunto text/plain --[=[ Importado de la Wikisource inglesa en esta versión: https://en.wikisource.org/w/index.php?title=Module:Work&oldid=12000562 Se trata de un módulo que genera un objeto (una tabla) cuyos elementos o propiedades son las propiedades de una edición/obra ]=] require('strict') local p = {} -- Module constants p.TYPES = { EDITION = 'edición', WORK = 'obra literaria', ARTICLE = 'artículo', --scholarly articles, MOVIE = 'obra audiovisual', OTHER = 'obra' } p.local_map = { isA = { p = 'P31' }, language = { p = 'P407' }, title = { header = 'sección', index = 'Titulo', p = 'P1476' }, -- título obra hija/único mainTitle = { header = 'titulo', p = 'P1476' }, -- título obra madre subtitle = { header = 'sub-titulo', index = 'Subtitulo', p = 'P1680' }, series = { index = 'Serie', p = 'P361' }, author = { header = 'sección autor',index = 'Autor', p = 'P50' }, -- autor obra hija/único mainAuthor = { header = 'autor', p = 'P50' }, -- autor obra madre translator = { header = 'traductor', index = 'Traductor', p = 'P655' }, editor = { header = 'editor', index = 'Editor', p = 'P98' }, illustrator = { header = 'ilustrador', index = 'Ilustrador', p = 'P110' }, introducer = { header = 'prologuista', index = 'Prologuista', p = 'P2679' }, pubYear = { header = 'ano', index = 'Ano', p = 'P577' }, inception = { p = 'P571' }, publisher = { header = 'editorial', index = 'Editorial', p = 'P123' }, printer = { header = 'imprenta', index = 'Imprenta', p = 'P123' }, place = { header = 'lugar', index = 'Lugar', p = 'P291' }, country = { header = 'derechos', index = 'derechos' }, volume = { header = 'volumen', index = 'Volumen', p = 'P478' }, issue = { p = 'P433' }, pages = { p = 'P304' }, parentWork = { header = 'publicadoen', p = 'P1433' }, editionof = { header = 'obra', index = 'Obra', p = 'P629' }, commonsFile = { p = 'P996' }, editions = { p = 'P747' }, derivedWorks = { p = 'P4969' }, basedOn = { p = 'P144' }, } local Wikidata = require('Módulo:Wikidata') -- Función de salida hacia el Módulo:Wikidata local function fetchFromWikidata( entityId, propertyId, options ) if not entityId or not propertyId then return nil end options = options or {} local queryArgs = { item = entityId, property = propertyId, } for k, v in pairs(options) do queryArgs[k] = v end local result = Wikidata.claim(queryArgs) if result and result ~= "" then return result end return nil end local ENTITIES = { human = 'Q5', edition = 'Q3331189', scholarlyArticle = 'Q13442814', literaryWork = 'Q7725634', movie = {'Q11424', -- película 'Q202866', --película animada 'Q506240', --telefilme 'Q18011171', --película inacabada 'Q5398426', --serie de televisión }, } --[=[ Util function: return true if the item is in the given table ]=] local function valueIn( t, v ) if type(v) == 'string' then for _, tv in pairs( t ) do if tv == v then return true end end elseif type(v) == 'table' then for _, vv in ipairs( v ) do for _, tv in ipairs( t ) do if tv == vv then return true end end end end return false end --[=[ Get the entity for a QID, or a page title ]=] local function getEntity( titleOrQid ) local item if type(titleOrQid) == 'table' then -- this is already Wikibase item data item = titleOrQid elseif string.match( titleOrQid, 'Q%d+', 1 ) then -- it's a QID item = mw.wikibase.getEntity( titleOrQid ) elseif string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' ) then -- es un índice! local index = mw.ext.proofreadPage.newIndex( titleOrQid ) local Qid = index.fields.Wikidata item = mw.wikibase.getEntity( Qid ) else -- assume it's a page title -- TODO only return the ID and look it up (expensive) only if actually used item = mw.wikibase.getEntity( mw.wikibase.getEntityIdForTitle( titleOrQid ) ) end return item end local function getLocalSiteLink( id ) if not id or type(id) ~= 'string' or not id:match('Q%d+') then return end local sl = mw.wikibase.getSitelink(id) if sl then return sl end local entity = mw.wikibase.getEntity(id) if not entity.sitelinks then return end for k, v in pairs(entity.sitelinks) do local m = string.match( k, '(%l+)wikisource') if m then return 's:'..m..':'..entity:getSitelink(k) end end end local function getPropIds( id, prop ) -- formatting: raw trae sólo QIDS, formato tabla return fetchFromWikidata( id, prop, { formatting = 'raw', tabla = true } ) end local function getPropLabels( id, prop ) return fetchFromWikidata( id, prop, { formatting = 'label', tabla = true } ) end local function getPropTable( id, prop ) return fetchFromWikidata( id, prop, { tabla = true } ) end local function getStringProp( id, prop ) -- directo, para cadenas return fetchFromWikidata( id, prop, {list = false} ) end local function getYearProp( id, prop ) local dateStr = fetchFromWikidata( id, prop ) if dateStr then local year = string.match(dateStr, "%d%d%d%d") return year or dateStr end end local function getCreatorList( id, prop ) local creators = {} local strings_table = getPropTable( id, prop) or {} local ids_table = getPropIds(id, prop) or {} for i, v in ipairs(ids_table) do v = v:match('Q%d+') and v or nil table.insert(creators, { id = v, text = strings_table[i], wsPage = getLocalSiteLink(v), label = mw.wikibase.getLabel(v) or strings_table[i] }) end if prop == p.local_map.mainAuthor.p then -- P2093 = cadena de autor local string_authors = fetchFromWikidata( id, 'P2093', { tabla = true } ) if string_authors then for _, name in ipairs( string_authors ) do table.insert( creators, {text = name, label = name} ) end end end return #creators > 0 and creators or nil end local function getEditionList( id, prop ) local editions = getPropIds( id, prop ) if not editions then return end local list = {} for _, v in pairs( editions ) do local edition = p.newWork( v ) table.insert( list, edition ) end return list end --[=[ Get the 'type' of the work Options are: edition, articles (as in journal articles), or works ]=] local function getWorkType( id ) local isVals = getPropIds( id, p.local_map.isA.p ) if valueIn( isVals, ENTITIES.edition ) then return p.TYPES.EDITION elseif valueIn( isVals, ENTITIES.scholarlyArticle ) then return p.TYPES.ARTICLE elseif valueIn( isVals, ENTITIES.movie ) then return p.TYPES.MOVIE elseif valueIn( isVals, ENTITIES.literaryWork ) then return p.TYPES.WORK end return p.TYPES.OTHER end --[=[ The main entry point (Modificado para aceptar fuentes de Wikisource) ]=] function p.newWork( titleOrQid, header_args, index_args ) local obj = {} -- Asegurar que las fuentes locales existan como tablas vacías si no se pasan header_args = header_args or {} index_args = index_args or {} local item = getEntity( titleOrQid ) if not item then -- error( 'Failed to look up item: ' .. titleOrQid ) -- obras no conectadas a Wikidata... categoría?? item = {} end local index if type(titleOrQid) == 'string' and (string.find( titleOrQid, '%.pdf' ) or string.find( titleOrQid, '%.djvu' )) then index = titleOrQid end local m_qid = index_args['Wikidata'] or header_args['index_wikidata'] local qid = item.id local qid_fallback = (m_qid and m_qid ~= "" and m_qid) or qid -- Almacén interno de datos y estado de carga local data = { item = item, index = index, qid = qid, m_qid = m_qid } return setmetatable( obj, { __eq = item.equals, __lt = item.__lt, __tostring = function ( _ ) return item.prefixedText end, __index = function ( _, k ) -- Caché interna if data[k] ~= nil then return data[k] end -- Resolver propiedades sin P if k == 'type' then data.type = getWorkType( qid ) return data.type end if k == 'wsPage' then data.wsPage = getLocalSiteLink( qid ) return data.wsPage end -- Campos modificables (en el índice o encabezado) local mapping = p.local_map[k] if mapping then -- Prioridades en orden: local P = mapping.p local val_header = header_args[mapping.header] -- Comportamiento especial para el título y autor (sección, sección-autor) -- Si se pide título (por defecto, sección) y no hay: if not val_header or val_header == "" then if k == 'title' then val_header = header_args[p.local_map.mainTitle.header] elseif k == 'author' then val_header = header_args[p.local_map.mainAuthor.header] end end -- Prioridad 4: Campos ingresados manualmente en {{Encabezado}} if val_header and val_header ~= "" then data[k] = val_header return data[k] end -- Prioridad 3: Wikidata de la Sección/Capítulo -- Solo buscamos aquí si el qid de la sección difiere del qid de la madre (Índice) if qid ~= qid_fallback then local val_wd = nil if k == 'title' then val_wd = getStringProp( qid, P ) elseif k == 'author' then val_wd = getCreatorList( qid, P ) -- El resto de las propiedades menores se pueden interceptar aquí redundantemente si es necesario end if val_wd then data[k] = val_wd return data[k] end end -- Prioridad 2: Campos ingresados manualmente en el Índice (Espacio de nombres Índice) local val_index = index_args[mapping.index] if val_index and val_index ~= "" then data[k] = val_index return data[k] end -- Prioridad 1: Wikidata de la Edición Madre -- Fuentes más locales no tenían el dato. if k == 'title' or k == 'subtitle' or k == 'mainTitle' then data[k] = getStringProp( qid_fallback, P ) return data[k] end if k == 'language' then data[k] = getPropLabels( qid_fallback, P ) return data[k] end if k == 'series' or k == 'place' or k == 'publisher' or k == 'printer' then data[k] = getPropTable( qid_fallback, P ) return data[k] end if k == 'pubYear' then local theDate if data.type == p.TYPES.WORK then theDate = getYearProp( qid_fallback, p.local_map.inception.p ) end if not theDate then theDate = getYearProp( qid_fallback, p.local_map.pubYear.p ) end data[k] = theDate return data[k] end if k == 'author' or k == 'illustrator' or k == 'editor' or k == 'mainAuthor' or k == 'translator' or k == 'introducer' then data[k] = getCreatorList( qid_fallback, P ) return data[k] end if k == 'parentWork' or k == 'editions' or k == 'derivedWorks' or k == 'basedOn' then data[k] = getEditionList(qid_fallback, P) return data[k] end if k == 'commonsFile' then if data.index == nil then data[k] = getPropLabels( qid_fallback, P ) else data[k] = {data.index} end return data[k] end end return nil end, __newindex = function ( _, k, _ ) error( "index '" .. k .. "' is read only", 2 ) end } ) end function p.test (frame) local args = frame.args local QID = args[1] local index = {Titulo = 'Aventuras de Perico', Traductor = 'Perico', Wikidata = 'Q130407184'} local header = {traductor = 'El verdadero Perico', ['sección-autor'] = 'Autor Invitado (Perico)', ['sección'] = 'Capítulo I'} local w = p.newWork(QID, header, index) local s = '' s = s.. 'Autor: ' .. tostring(w.mainAuthor) .. '\n' s = s.. 'Sección Autor: ' .. tostring(w.author) .. '\n' s = s.. 'Titulo Obra: ' .. tostring(w.mainTitle) .. '\n' s = s.. 'Titulo: ' .. tostring(w.title) .. '\n' s = s.. 'Lugar: ' .. tostring(w.place) .. '\n' s = s.. 'Traductor: ' .. tostring(w.translator) .. '\n' s = s.. 'Prologuista: ' .. tostring(w.introducer) .. '\n' s = s.. 'commonsFile: ' .. tostring(w.commonsFile) .. '\n' s = s.. 'date: ' .. tostring(w.pubYear) .. '\n' return s end return p 8dw3vndqxp86f3gq8izwf5yzsn07gf3 Wikisource:Café/Archivo 2026 4 415681 1664199 1663491 2026-06-05T23:19:58Z MABot 44742 Bot: archivo de 2 hilos procedentes de [[Wikisource:Café]] 1664199 wikitext text/x-wiki == Nombre de páginas == [[:Categoría:Rimas de Gustavo Adolfo Bécquer|Estas páginas]] tienen nombres muy genéricos (Rima V, Rima LXIV, etc.). ¿Deben tener nombres "Rimas (Bécquer, 1885)/Rima V"? [[Usuario:Eievie|Eievie]] ([[Usuario discusión:Eievie|discusión]]) 22:55 28 dic 2025 (UTC) :En mi opinión sí, porque creo mejor usar un nombre que evite confusión cuando hay varias ediciones (algo parecido se recomienda en [[Wikisource:Convención de títulos]]). -[[Usuario Discusión:Aleator|Aleator]] 11:05 30 dic 2025 (UTC) {{ping|Eievie}} Las rimas eran parte de [[Obras de Gustavo A. Bécquer (Tomo III)]], no todo lo que habia ahi, eran rimas! Hay que tener más cuidado al hacer traslados masivos. En general, habria que pedirlos via bot y consultar bien antes de hacer estas cosas porque quedan mal los enlaces entre otros desbarajustes. Ya lo arregle. Un saludo [[Usuario:Shooke|Shooke]] ([[Usuario discusión:Shooke|discusión]]) 01:55 31 dic 2025 (UTC) Entonces, [[Autor:José María Heredia]] ya tiene algunas páginas de poemas. Cuando los convierta a transcluidos, ¿debería cambiarles el nombre? Por ejemplo, ([[A Elpino]] → [[Poesías lirícas/Á Elpino]]) [[Usuario:Eievie|Eievie]] ([[Usuario discusión:Eievie|discusión]]) 01:35 6 ene 2026 (UTC) :{{ping|Eievie}} No, ahi te repondí en tu página de discusión. En el caso de A Elpino, esta bien, no habia que trasladarlo, en el caso de cuentos y poesías, siempre se tiende a priorizar su nombre mas corto y con ortograía moderna, salvo algunas excepciones, que por ahi conviene usar subpáginas, hay que tratar de no usarlas (Por ejemplo los prólogos o introducciones, ahi si se usa la subpágina, porque son titulos muy comunes) [[Usuario:Shooke|Shooke]] ([[Usuario discusión:Shooke|discusión]]) 12:01 7 ene 2026 (UTC) ::{{ping|Shooke}} Empecé a trasladar las páginas antes de recibir esta respuesta. Necesito deshacer eso ahora. Pero también hay otro problema: Hay algunos poemas con el mismo título en el mismo libro. "La resolución" (p. 50 y p. 84) y "Misantropía" (p. 19 y 204). ¿Qué debo hacer con esos? [[Usuario:Eievie|Eievie]] ([[Usuario discusión:Eievie|discusión]]) 17:29 7 ene 2026 (UTC) == Enlace a Wikidata == ¿Existe alguna plantilla específica para enlazar el ítem de Wikidata que se corresponde con cada edición dentro de una lista de estas? Y en una línea similar, ¿podría incluirse un parámetro <code>|wikidata=</code> (al estilo de es.wikipedia) dentro de plantillas como {{ep|cita publicación}} o {{ep|cita libro}}? Strakhov ([[Usuario discusión:Strakhov|discusión]]) 10:58 5 ene 2026 (UTC) Viendo más arriba el hilo "Plantilla experimental: {{ep|lista de ediciones}}" pues la idea respecto a Wikidata sería similar, iconito incluido, aunque a mí me parece útil ver también el Q del ítem. Strakhov ([[Usuario discusión:Strakhov|discusión]]) 11:02 5 ene 2026 (UTC) :{{ping|Strakhov}} ¡Buenas! ¿quizás algo como {{tl|Enlace obra}}? -[[Usuario Discusión:Aleator|Aleator]] 11:20 5 ene 2026 (UTC) ::{{ping|Aleator}} Gracias, no la conocía. Uhmmm. Sí, pero no. Estaba buscando sobre todo una plantilla con la que colocar el Q en... artículos. Esta plantilla a través del Q te genera una cita (y enlaza Wikidata), pero para lo que yo busco no genera la suficiente información bibliográfica. O sea, estaría buscando bien una plantilla meramente tipo <code><nowiki>{{Wikidata|Q444555666}}</nowiki></code> para colocar al final de cada artículo el Q con enlace + el icono de Wikidata.... o bien lo de incluirlo como un parámetro dentro de esas otras plantillas de cita. P. ej.: [https://es.wikisource.org/wiki/Autor:Miguel_de_Unamuno#Art%C3%ADculos para indicar el Q de cada artículo en esa lista]. Strakhov ([[Usuario discusión:Strakhov|discusión]]) 11:36 5 ene 2026 (UTC) :::{{ping|Strakhov}} lo más similar en que puedo pensar es {{ep|QID}} pero no muestra el Q sino que la etiqueta y enlace. Para agregar un parámetro {{parámetro|wikidata}} a {{ep|cita publicación}} hay que adaptar el [[Módulo:Citas]]. Si no me equivoco está traído casi sin adaptaciones desde es.wikipedia, por lo que ''en teoría'' se debería poder volver a importar (hacer las pocas adaptaciones correspondientes) y no afectar nada. Ahora esa plantilla <code><nowiki>{{Wikidata|Q444555666}}</nowiki></code> no existe pero sería muy muy sencilla de crear. Otra pregunta: ¿es necesario que ''se muestre'' el Q, o bastaría con que se pueda copiar y pegar? [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:19 5 ene 2026 (UTC) ::::{{ping|Ignacio Rodríguez}} ''necesarias'' hay pocas cosas. A mí me suele gustar que la información se vea en lugar de que haya que intuirla, pero si por lo que fuera el mostrar explícitamente el Q no cuadrara demasiado con el estilo del proyecto (puede ser, los enlaces a Wikidata en las plantillas que he visto muestran el enlace a través del icono o bien con la palabra "metadatos") pues tampoco es cuestión de forzar. Entiendo que la idea es lograr cierta unidad de estilo entre esta plantilla y otras como {{ep|lista de ediciones}}. Así que me adapto. :) Strakhov ([[Usuario discusión:Strakhov|discusión]]) 14:28 5 ene 2026 (UTC) :::::{{ping|Strakhov}} entiendo lo de la ''necesidad''. Yo en lo personal hago cierta distinción entre la información que se lee/muestra y la que solo se disponibiliza. Un ID numérico pseudo-aleatorio como un QID me parece que entrega más ''ruido'' que ''información'' al lector. Mediante el acto de leer Q34234789 o Q342334879 no puedo inferir nada, no me entrega información. Además dos ID similares como esas son muy difíciles de diferenciar visualmente. Por eso pensé en que quizás sería mejor que ese dato siguiera disponible (como texto alternativo en el ícono, por ejemplo), sin sobrecargar visualmente la lista de artículos o donde sea que pensemos colocar esos enlaces. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:44 5 ene 2026 (UTC) ::::::{{ping|Ignacio Rodríguez}} como he dicho, como se vea. No termino de estar del todo de acuerdo en lo del ruido, pero que se muestre o no no es lo importante, lo esencial para mí es consignar que la obra/artículo/etc está en Wikidata y permitir acceso al ítem, además de no ir a contracorriente del resto de plantillas. Y si más adelante se decidiera que es mejor mostrar el numerito, sería fácil cambiar en origen la plantilla... Strakhov ([[Usuario discusión:Strakhov|discusión]]) 15:13 5 ene 2026 (UTC) :::::::{{ping|Strakhov}} excelente. Entonces podrías ocupar {{ep|Wikidata}}. Sobre modificar las plantillas de cita, me parece buena idea, pero no se me apetece hacerlo. Como dije antes, debería ser un procedimiento relativamente sencillo e indoloro re-importar el módulo desde es.wikipedia. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 15:22 5 ene 2026 (UTC) == Consulta de borrado: fábulas == Hola, quiero consultar por un borrado masivo que pretendo hacer. Lo explico brevemente: Hasta hace relativamente poco todas las fábulas de [[Autor:Esopo|Esopo]] que teníamos provenían de [http://www.edyd.com/Fabulas/Esopo/Eindice.htm este sitio], que ya no existe y no tenía información bibliográfica básica, por lo que no tenían fuente. He pasado un tiempo enlazando en lo posible cada fábula a su elemento en Wikidata y creo que tengo más o menos ordenado el asunto. Cada fábula "desconocida" la trasladé con un nombre apropiado y por eso ahora propongo borrarlas, al menos en el caso de las que tienen una versión alternativa respaldada por digitalización. La lista de las 78 páginas que cumplen con ese requisito son: {{plegable|Lista| * [[El abeto y el espino (ed. desconocida)]] * [[El anciano y la muerte (ed. desconocida)]] * [[El asno y la perrita faldera (ed. desconocida)]] * [[El camello y Zeus (ed. desconocida)]] * [[El canoso y sus dos pretendientes (ed. desconocida)]] * [[El castor (ed. desconocida)]] * [[El ciervo en el pesebre de los bueyes (ed. desconocida)]] * [[El ciervo, el manantial y el león (ed. desconocida)]] * [[El cuervo enfermo (ed. desconocida)]] * [[El estómago y los pies (ed. desconocida)]] * [[El gallo y la comadreja (ed. desconocida)]] * [[El gato y las ratas (ed. desconocida)]] * [[El hombre y el león viajeros (ed. desconocida)]] * [[El hombre y el sátiro (ed. desconocida)]] * [[El hombre y la estatua (ed. desconocida)]] * [[El labrador y la cigüeña (Esopo, ed. desconocida)]] * [[El labrador y la víbora (ed. desconocida)]] * [[El labrador y sus hijos (ed. desconocida)]] * [[El ladrón y su madre (ed. desconocida)]] * [[El león y el asno (ed. desconocida)]] * [[El león y el asno presuntuoso (ed. desconocida)]] * [[El león y el ratón (Esopo, ed. desconocida)]] * [[El león y los tres bueyes (ed. desconocida)]] * [[El lobo y el asno (ed. desconocida)]] * [[El lobo y el cordero en el arroyo (ed. desconocida)]] * [[El lobo y el cordero en el templo (ed. desconocida)]] * [[El lobo y el perro (Esopo, ed. desconocida)]] * [[El lobo y la cabra (ed. desconocida)]] * [[El lobo y la grulla (ed. desconocida)]] * [[El lobo, la nana y el niño (ed. desconocida)]] * [[Los sacerdotes de Cibeles (ed. desconocida)]] * [[El milano que quiso relinchar (ed. desconocida)]] * [[El perro con campanilla (ed. desconocida)]] * [[El perro en el pajar (ed. desconocida)]] * [[El perro y el carnicero (ed. desconocida)]] * [[El perro y el cocinero (ed. desconocida)]] * [[El perro y el reflejo en el río (ed. desconocida)]] * [[El perro, el gallo y la zorra (ed. desconocida)]] * [[El pescador flautista (ed. desconocida)]] * [[El pescador y el pececillo (ed. desconocida)]] * [[El ratón campestre y el cortesano (ed. desconocida)]] * [[El ratón y la rana (ed. desconocida)]] * [[El ruiseñor y el gavilán (ed. desconocida)]] * [[El sol y las ranas (ed. desconocida)]] * [[El viejo perro cazador (ed. desconocida)]] * [[El águila y el escarabajo (Esopo, ed. desconocida)]] * [[El águila y la zorra (ed. desconocida)]] * [[El águila, el cuervo y el pastor (ed. desconocida)]] * [[Hermes y el leñador (ed. desconocida)]] * [[La corneja y las aves (ed. desconocida)]] * [[La langosta y su madre (ed. desconocida)]] * [[La liebre y la tortuga (ed. desconocida)]] * [[La mosca (ed. desconocida)]] * [[La mujer intratable (ed. desconocida)]] * [[La mula (ed. desconocida)]] * [[La paloma y la hormiga (ed. desconocida)]] * [[La rana que decía ser médico y la zorra (ed. desconocida)]] * [[La tortuga y el águila (Esopo, ed. desconocida)]] * [[La viuda y las criadas (ed. desconocida)]] * [[La víbora y la lima (ed. desconocida)]] * [[La zorra y el anciano león (ed. desconocida)]] * [[La zorra y el chivo en el pozo (ed. desconocida)]] * [[La zorra y el cuervo gritón (ed. desconocida)]] * [[La zorra y el espino (ed. desconocida)]] * [[La zorra y el leñador (ed. desconocida)]] * [[La zorra y la careta vacía (ed. desconocida)]] * [[La zorra y las uvas (Esopo, ed. desconocida)]] * [[Las liebres y las ranas (Esopo, ed. desconocida)]] * [[Las palomas, el milano y el halcón (ed. desconocida)]] * [[Las ranas pidiendo rey (Esopo, ed. desconocida)]] * [[Los dos recipientes (ed. desconocida)]] * [[Los gallos y la perdiz (ed. desconocida)]] * [[Los leñadores y el pino (ed. desconocida)]] * [[Los lobos y los carneros (ed. desconocida)]] * [[Los viandantes y el oso (ed. desconocida)]] * [[Zeus y la mona madre (ed. desconocida)]] * [[Zeus y las abejas (ed. desconocida)]] * [[Zeus y los robles (ed. desconocida)]]|oculto=sí}} espero sus opiniones o el pase para borrarlas. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 16:40 6 mar 2026 (UTC) :{{ping|LadyInGrey|Ignacio Rodríguez}} (hago ping también a quien creó la mayoría o todas, hace tan solamente 21 añitos). No hay manera objetiva de revisar esas fábulas, ni de saber de qué edición o traductor provienen, así que, por mí, adelante. -[[Usuario Discusión:Aleator|Aleator]] 19:08 6 mar 2026 (UTC) :{{ping|Ignacio Rodríguez}} totalmente de acuerdo con borrarse, ya que pueden reincorporarse con versiones digitaliadas, esas versiones, como tantas traducciones desconocidas de otras obras, fueron incorporadas anteriormente a los nuevos sistemas de transcripción de pdf y en eas epocas no habia tantas digitalizaciones disponibles online. Un saludo [[Usuario:Shooke|Shooke]] ([[Usuario discusión:Shooke|discusión]]) 20:13 6 mar 2026 (UTC) :: {{hecho}} --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 00:29 16 mar 2026 (UTC) == Bot Flag Request for [[{{ns:User}}:SchlurcherBot]] == Appologies for posting in English. Also, I could not locate a dedicated page for bot request in {{#language:{{CONTENTLANGUAGE}}}} {{SITENAME}}, so I am posting here. Please direct me to the correct page if one exists. Thank you. * '''Bot name''': [[{{ns:User}}:SchlurcherBot]] * '''Bot operator''': [[commons:User:SchlurcherBot]] * '''Bot task''': Automatically convert links from <code>http://</code> to <code>https://</code> (secure protocol migration) * '''Technical details''': Please see [[metawiki:User:SchlurcherBot|meta:User:SchlurcherBot]] for full details, including the expected number of affected URLs on {{#language:{{CONTENTLANGUAGE}}}} {{SITENAME}}. * '''Bot flags on other projects:''': [[metawiki:Steward_requests/Bot_status/2025-12#Global_bot_status_for_User:SchlurcherBot|Global bot status granted]]. Also flagged on [[:w:en:Wikipedia:Bots/Requests for approval/SchlurcherBot|English Wikipedia]], [[:w:de:Wikipedia:Bots/Anträge_auf_Botflag/Archiv/2025#2025-02-14_–_SchlurcherBot|German Wikipedia]], [[:w:fr:Wikipédia:Bot/Statut/Archive_12#(Traité)_SchlurcherBot|French Wikipedia]], [[:w:it:Wikipedia:Bot/Autorizzazioni/Archivio/2025#SchlurcherBot|Italian Wikipedia]], [[:w:pl:Wikipedia:Boty/Zgłoszenia/2025#Wikipedysta:SchlurcherBot|Polish Wikipedia]], [[:w:pt:Wikipédia:Robôs/Pedidos_de_aprovação/Arquivo/2025#SchlurcherBot|Portuguese Wikipedia]], and [[commons:Commons:Bots/Requests/SchlurcherBot2|Commons]]. For a full list, see: [[metawiki:Special:CentralAuth/SchlurcherBot|sulutil:SchlurcherBot]] * '''Comment''': The bot is globally approved and active on the top 10 Wikipedia projects. As this wiki has opted out of the global bot policy, I am requesting permission to perform these link updates on {{#language:{{CONTENTLANGUAGE}}}} {{SITENAME}} as well. Please let me know if a local bot flag can be granted or if you have any questions. Thank you. [[Usuario:Schlurcher|Schlurcher]] ([[Usuario discusión:Schlurcher|discusión]]) 15:41 21 mar 2026 (UTC) :{{ping|Freddy eduardo|LadyInGrey}} ¡Hola! Si os parece bien (a mí me parece bien), habría que marcar como bot a SchlurcherBot. Saludos. -[[Usuario Discusión:Aleator|Aleator]] 17:43 22 mar 2026 (UTC) ::Me parece bien, lo he agregado al grupo de bots. Saludos--[[Usuario:Freddy eduardo|Freddy eduardo]] ([[Usuario discusión:Freddy eduardo|discusión]]) 18:49 23 mar 2026 (UTC) :::{{ping|Freddy eduardo}} Thank you for the confirmation. However, you have added me as the operator to the bot group, not my bot account. Could you please correct that? Thanks --[[Usuario:Schlurcher|Schlurcher]] ([[Usuario discusión:Schlurcher|discusión]]) 21:38 26 mar 2026 (UTC) ::::{{ping|Schlurcher}}, woops! Now its done.--[[Usuario:Freddy eduardo|Freddy eduardo]] ([[Usuario discusión:Freddy eduardo|discusión]]) 22:28 26 mar 2026 (UTC) == Dudas sobre transcripciones == Buenos días. Me llamo Pablo, y acabo de llegar a Wikisource. He intentado colaborar con una transcripción y me ha surgido alguna duda. Disculpad si las respuestas a las preguntas que voy a hacer están ya resueltas en alguno de los Manuales de Estilo, pero no he sido capaz de encontrarlo. * Cuando el archivo está digitalizado por alguna entidad que ha dejado su marca de agua, ¿debemos incluirlo en la transcripción? Por ejemplo, [[Página:Luces de bohemia - bdh0000200851.pdf/6|aquí]] la página no tiene texto salvo «''Biblioteca Nacional de España''». * En cuanto a la tipografía, antes era habitual tener una U mayúscula escrita como una V. ¿Debemos mantener estos cambios, o adaptarlo y poner una U? Por ejemplo, ¿[[Página:Luces de bohemia - bdh0000200851.pdf/5|aquí]] debería transcribir «LVCES DE BOHEMIA» o «LUCES DE BOHEMIA»? * Tengo la misma duda en cuanto a tildes que faltan o que ya no se usan, aunque supongo que deberán respetarse las posibles faltas de ortografía con respecto a la ortografía actual, y mantener el texto original. * Si hay añadidos posteriores en las imágenes (escritos a lápiz, o un sello, por ejemplo [[Página:Luces de bohemia - bdh0000200851.pdf/9|aquí]], ¿se debe incluir? * Cuando aparece en todas las páginas en la parte superior o inferior el nombre de la obra o del autor, ¿es preciso transcribirlo en cada página? [[Página:Luces de bohemia - bdh0000200851.pdf/22|Ejemplo]] * ¿Los números de página se deben transcribir? Por el momento, esas son las dudas que me han surgido. Si tengo otras, volveré a preguntarlas. Si esta no es la página adecuada para esto, perdonadme e indicadme dónde debería hacer este tipo de consultas. Y si todo esto ya está respondido en otro lugar, por favor redirigidme ahí. Muchas gracias. [[Usuario:Pablussky|Pablussky]] ([[Usuario discusión:Pablussky|discusión]]) 11:14 29 mar 2026 (UTC) :{{ping|Pablussky}} ¡Buenas y bienvenido! Intento responder: :*Las marcas de agua no se transcriben, ni exlibris, ni manuscritos anónimos... ni nada que no corresponda a la obra tal cual fue impresa. El ejemplo que enlazas sería una página «sin texto» (color gris). :*Sobre «U» o «V», yo me decantaría por «V» y luego quien quiera modernizar el texto puede hacerlo con herramientas como [[Wikisource:Modernización de textos]]. Es importante que el criterio se siga a lo largo de toda la transcripción (y no unas veces «V» y otras «U»). Más información sobre estos temas en [[Wikisource:Paleografía]]. :*Tildes y ortografía diferente a la actual, como lo anterior: es preferible ser fiel al original, y luego modernizarse si se quiere mediante herramientas. :*Los añadidos a posteriori no deberían transcribirse. Digamos que si no aparecen en otro ejemplar en papel de la misma edición, es que no son parte de esa edición. El ejemplo que enlazas sí se transcribiría, aunque esa forma de sello es más propia de [[:w:exlibris|exlibris]] que no se transcriben. :*Las cabeceras, en las que suele aparecer el nombre del autor o el nombre de la obra, es opcional, así como el número de las páginas. Actualmente no tiene ningún uso transcribirlo. :*Aprovecho para decir que también se copian, si hubiera, las imágenes (o en su defecto insertar la plantilla {{tl|Hay imagen}}) y las partituras musicales (o en su defecto insertar {{tl|Partitura desaparecida}}). :¡Saludos! -[[Usuario Discusión:Aleator|Aleator]] 16:40 29 mar 2026 (UTC) ::Ah, me olvidaba. Para cabeceras y número de página tenemos {{tl|CP}}, y para pies de página (si los hubiera), tenemos {{tl|pie}}. -[[Usuario Discusión:Aleator|Aleator]] 16:42 29 mar 2026 (UTC) :::{{ping|Aleator}} ¡Muchas gracias! He descubierto que hay una sección de encabezado y pie de página a la hora de transcribir y estaba usando eso para poner el título, el autor y el número de página. Lo he hecho [[Página:Napoleón en Chamartín (1907).djvu/18|aquí]], entre otras. Y en cuanto a las imágenes, he intentado seguir las recomendaciones de [[Ayuda:Imágenes]] [[Página:Napoleón en Chamartín (1907).djvu/7|aquí]]. Te agradecería si me confirmas que está bien hecho, para seguir haciendo esto o no en las próximas. [[Usuario:Pablussky|Pablussky]] ([[Usuario discusión:Pablussky|discusión]]) 17:00 29 mar 2026 (UTC) ::::{{ping|Sucdemagrana}} Te confirmo que no está "bien" hecho, está "muy bien" hecho ;) -[[Usuario Discusión:Aleator|Aleator]] 20:48 30 mar 2026 (UTC) == Ayuda con la lista de personajes == ¡Buenas! Vengo de nuevo con una pregunta. He transcrito [[Página:Rosario_de_Acu%C3%B1a_-_Amor_a_la_patria.djvu/8|esta página]], que contiene una lista de personajes de la obra y los actores, separados con puntos. He intentado hacerlo con la plantilla ICP, tratándolo como si fuera un índice, pero al ser la segunda columna varias palabras, las pone en líneas distintas en lugar de en la misma línea. Al final lo he dejado como puede verse, pero es un poco cutre. No sé si existe alguna otra plantilla como la de ICP, pero adecuada a este contexto. También me preguntaba si se puede hacer de alguna otra forma mejor la parte superior; la de «Personajes» y «Actores» con las dos líneas inferiores. ¡Gracias por la ayuda, y disculpad las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 23:37 1 abr 2026 (UTC) :Buenas! Mira cómo la dejé ahora, a ver si te parece mejor. Lo hice con una tabla. En estos casos, yo en lo personal prefiero sacrificar los "puntos" para simplificar la transcripción. Si quieres preservar los puntos, la plantilla {{ep|ICP}} tiene opciones para modificar los anchos de cada columna, aunque semánticamente una tabla de personajes no es un índice. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 11:32 2 abr 2026 (UTC) ::{{ping|Ignacio Rodríguez}} Vale, acabo de verlo. Estoy de acuerdo que así se entiende mejor, prescindiendo de los puntos. Y tengo otra pregunta, a raíz de [[Página:Rosario_de_Acuña_-_Amor_a_la_patria.djvu/35|esta otra página]]. Dices que se pueden modificar los parámetros de {{ep|ICP}}, supongo que también se podrán modificar los de {{ep|pt/verso}}, para que {{may|Una voz}} quede en una sola línea, y no en dos. ¿Me puedes indicar cómo? [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 13:47 2 abr 2026 (UTC) :::{{ping|Sucdemagrana}}: no manejo mucho las plantillas de teatro, pero en este caso es un problema del manejo del ''whitespace'' por parte del navegador. Puedes cambiar el espacio por un ''non-breaking-space'' (<nowiki>&amp;nbsp;</nowiki>) . Pero, en general, yo prefiero trabajar "lo menos" usando los estilos CSS que se pueden [[Índice:Rosario de Acuña - Amor a la patria.djvu/styles.css|configurar a nivel del índice]]. Suena a mandarín al comienzo, pero después facilita mucho las cosas. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:11 2 abr 2026 (UTC) ::::{{ping|Ignacio Rodríguez}} Vaya, gracias. Está bien saber que se puede configurar así, y a la próxima me evito tener que añadir las versalitas a cada una de forma manual. Y ya la última pregunta con respecto a esta obra, que he terminado de transcribir a excepción de [[Página:Rosario de Acuña - Amor a la patria.djvu/4|esta]] y [[Página:Rosario de Acuña - Amor a la patria.djvu/41|esta]] páginas. ¿Este tipo de páginas es necesario transcribirlas? Porque si es así, no tengo muy claro cómo hacerlo, viendo cómo son. Supongo que con una tabla, como me has enseñado antes, pero tendría primero que investigar cómo se hacen. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:29 2 abr 2026 (UTC) :::::Completamente opcional. En estricto rigor no son parte de ''la obra'', sino un inserto de la editorial para publicidad. Habrá alguno que le interese y después enlace las obras que ya tenemos disponibles. No te mentiré que se vería genial, pero he visto en otras ocasiones que se marca la obra como "Corregida" sin corregir las páginas de publicidad. Si ya terminaste, no te olvides de marcar el índice como corregido, y luego publicar la obra en la {{ep|galería}} de la portada para que todos puedan verla. Saludos y muchas gracias por interesarte por este proyecto!! [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:35 2 abr 2026 (UTC) :::::Publicada en [[Amor a la patria]] me di cuenta de un problema. Seguro que te das cuenta también. Tiene que ver con algo muy técnico y por esta vez lo voy a solucionar yo, que seguro me demoro muy poco. Si quieres revisa la solución después. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:40 2 abr 2026 (UTC) ::::::Sí, justo acabo de verlo. Venía a preguntar por ello. Si lo resuelves tú, te lo agradezco. Ahora miro cómo queda para las próximas. ¡Gracias por la ayuda, y perdón por las molestias! [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 14:46 2 abr 2026 (UTC) :::::::Para nada son molestias. Me encanta que existan otros seres humanos hispanohablantes dispuestos a meterse a un proyecto tan especial y al que le tengo tanto cariño. [[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 14:49 2 abr 2026 (UTC) == Sobre las imágenes centradas en el texto == Buenas, de nuevo. Vengo con otra pregunta; esta vez relacionada con las imágenes. Me ha surgido la duda con [[P%C3%A1gina:Manual_de_histolog%C3%ADa_normal_y_t%C3%A9cnica_microgr%C3%A1fica_-_bdh0000191874.pdf/36|esta página]], aunque creo recordar que no es la primera del estilo que he hecho. En el texto original, se corta el párrafo a mitad para introducir la imagen, y eso es lo que he hecho yo también. Mi duda viene porque en la [[Ayuda:Imágenes|página de ayuda sobre imágenes]] se incluye un apartado que reza: «Las imágenes que se incluyan centradas pueden dar la sensación de interrumpir el texto.», pero no indica realmente si se debe mantener como tal o si debemos adaptarlo a la hora de transcribir. Por otro lado, quería que me dijerais si la forma de hacer el pie de imagen está bien como la he hecho, o si se debería hacer de alguna otra manera. Gracias. [[Usuario:Sucdemagrana|Sucdemagrana]] ([[Usuario discusión:Sucdemagrana|discusión]]) 21:19 6 abr 2026 (UTC) :Como lo hiciste está bien. También podrías moverla a la derecha o izquierda, y así el texto fluiría bien. Si bien apuntamos a reproducir las ediciones lo más fielmente posible, no apuntamos a hacer facsímiles o fotocopias (para eso están las fotocopiadoras). Si quieres ser más fino, tenemos algunas plantillas que sirven para "respetar" el texto sin interrumpirlo, que no están muy bien documentadas, como {{ep|img float}}. Creo que ahora voy a agregar algún apartado en [[Ayuda:Imágenes]] para explicarlo. --[[User:Ignacio Rodríguez|'''Ignacio''']] - [[User talk:Ignacio Rodríguez|( '''話合''' )]] 21:48 6 abr 2026 (UTC) pof8cosay4lx5ohkfg0li6kw33ehq7t Módulo:Enlace obra/pruebas 828 415719 1664201 1664072 2026-06-05T23:47:52Z Ignacio Rodríguez 3603 pruebas sobre pruebas 1664201 Scribunto text/plain --[=[ Experimental, tomado desde https://en.wikisource.org/w/index.php?title=Template:Work_link&oldid=11502860 ]=] local p = {} local getArgs = require( 'Módulo:Arguments' ).getArgs local transdic = { title = 'wsPage', display = 'title', year = 'pubYear', authors = 'author', editors = 'editor', translators = 'translator', illustrators = 'illustrator', introducers = 'introducer', commonsFile = 'commonsFile', parentWork = 'parentWork', } -- bibliographic data from WD local Work = require( 'Módulo:Obra/pruebas' ) -- formatting of {{book links}} local BookLink = require( 'Módulo:Enlace libro/pruebas' ) local function valueIn( t, v ) for _, tv in pairs( t ) do if tv == v then return true end end return false end function p.objectToLink(workObject, suptable) suptable = suptable or {} if workObject == nil then local cat = "[" .. "[Categoría:Enlaces a obras sin elemento en Wikidata]]" return "<span class='error'>No se pudo cargar el elemento de Wikidata.</span>" .. cat end if workObject.type == Work.TYPES.EDITION then -- edition -> FRBR edition -- Translate "pure" Work data into the arguments to a BookLink local args = { classes = { 'wst-worklink-frbr-edition' }, QID = workObject.item.id, item = workObject.item } -- evitar cargar parámetros que después no se mostrarán para bajar la carga de memoria for k, v in pairs(transdic) do if not valueIn(suptable, k) then args[k] = workObject[v] end end local res = BookLink.renderLink(args) :attr( 'data-wikidata-id', workObject.item.id ) return tostring(res) elseif workObject.type == Work.TYPES.ARTICLE then return 'article' -- some kind of paper or article else -- we just assume this is some kind of generic work -- edition -> FRBR work -- Translate "pure" Work data into the arguments to a BookLink local args = { classes = { 'wst-worklink-frbr-work' }, QID = workObject.item.id, item = workObject.item } -- evitar cargar parámetros que después no se mostrarán para bajar la carga de memoria for k, v in pairs(transdic) do if not valueIn(suptable, k) then args[k] = workObject[v] end end local res = BookLink.renderLink(args) :attr( 'data-wikidata-id', workObject.item.id ) return tostring(res).. "<span style='color:red' title='Enlace a edición no FRBR'>*</span>[" .. "[Categoría:Enlaces a edición no FRBR]]" end end function p.link(frame) local args = getArgs(frame) local suptable = args.ignorar or '' suptable = mw.text.split( suptable, ',%s*') local qidOrTitle = args[1] local workObject = Work.newWork( qidOrTitle ) return p.objectToLink(workObject, suptable) end return p 829nnysa8u9htben2ukru09sa1jf3xh 1664239 1664201 2026-06-06T04:20:37Z Ignacio Rodríguez 3603 1664239 Scribunto text/plain --[=[ Experimental, tomado desde https://en.wikisource.org/w/index.php?title=Template:Work_link&oldid=11502860 ]=] local p = {} local getArgs = require( 'Módulo:Arguments' ).getArgs local transdic = { title = 'wsPage', display = 'title', year = 'pubYear', authors = 'author', editors = 'editor', translators = 'translator', illustrators = 'illustrator', introducers = 'introducer', commonsFile = 'commonsFile', parentWork = 'parentWork', QID = 'qid' } -- bibliographic data from WD local Work = require( 'Módulo:Obra/pruebas' ) -- formatting of {{book links}} local BookLink = require( 'Módulo:Enlace libro/pruebas' ) local function valueIn( t, v ) for _, tv in pairs( t ) do if tv == v then return true end end return false end function p.objectToLink(workObject, suptable) suptable = suptable or {} if workObject == nil then local cat = "[" .. "[Categoría:Enlaces a obras sin elemento en Wikidata]]" return "<span class='error'>No se pudo cargar el elemento de Wikidata.</span>" .. cat end if workObject.type == Work.TYPES.EDITION then -- edition -> FRBR edition -- Translate "pure" Work data into the arguments to a BookLink local args = { classes = { 'wst-worklink-frbr-edition' }, item = workObject.item } -- evitar cargar parámetros que después no se mostrarán para bajar la carga de memoria for k, v in pairs(transdic) do if valueIn(suptable, k) then args[k] = nil else args[k] = workObject[v] end end mw.log(workObject.title) mw.logObject(suptable) local res = BookLink.renderLink(args) :attr( 'data-wikidata-id', workObject.item.id ) return tostring(res) elseif workObject.type == Work.TYPES.ARTICLE then return 'article' -- some kind of paper or article else -- we just assume this is some kind of generic work -- edition -> FRBR work -- Translate "pure" Work data into the arguments to a BookLink local args = { classes = { 'wst-worklink-frbr-work' }, QID = workObject.item.id, item = workObject.item } -- evitar cargar parámetros que después no se mostrarán para bajar la carga de memoria for k, v in pairs(transdic) do if not valueIn(suptable, k) then args[k] = workObject[v] end end local res = BookLink.renderLink(args) :attr( 'data-wikidata-id', workObject.item.id ) return tostring(res).. "<span style='color:red' title='Enlace a edición no FRBR'>*</span>[" .. "[Categoría:Enlaces a edición no FRBR]]" end end function p.link(frame) local args = getArgs(frame) local suptable = args.ignorar or '' suptable = mw.text.split( suptable, ',%s*') local qidOrTitle = args[1] local workObject = Work.newWork( qidOrTitle ) return p.objectToLink(workObject, suptable) end return p awtdbqmq0d5qmvvrtc84d456fr56fi1 Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/1025 102 418247 1664116 1654470 2026-06-05T14:38:06Z Flor Talía Andrade Casilla 95836 1664116 proofread-page text/x-wiki <noinclude><pagequality level="1" user="Flor Talía Andrade Casilla" />{{crv|957|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>'''18. [20]''' JULIANO; ''Digesto, libro XV''.-en cu- ya acción se comprenderá también el lucro que pudo obtener por la conducción del fundo. '''19. [21]''' ULPIANO; ''Comentarios al Edicto, li''- ''bro XXXII''-Pero añadirás esto á la decisión de Juliano, que, si hice colusión con el tutor, ine obli- gare por la acción de conducción a lo que le impor- tó al pupilo. § 1.-Si ignorándolo hubiere alguno dado en arrendamiento tinajas defectuosas, y después se sa- liere el vino, se obligara á lo que importa, y no se excusará su ignorancia; y así lo escribió Cassio. De otra suerte será, si diste en arrendamiento pa- ra pasto un bosque en el que nacia mala verba; porque en este caso, ya si murieron los ganados, ya también si se deterioraron, se responderá de lo que importa, si lo supiste, y si lo ignoraste, no pedirás la pensión; y asi les pareció bien á Servio, Labeon, y Sabino. § 2.-Si alguno hubiere dado en arrendamiento un fundo, hemos de ver esto, qué sea costumbre entregar al arrendatario en concepto de apero, y á qué quede obligado por la acción de locación, si no lo entregara. Y hay una epistola de Neracio á Aris- tón, según la que se han de entregar ciertamente al colono las tinajas, la prensa y el molino para las aceitunas, provistos de sus cuerdas, y si no las hu- biera, debe el dueño proveerle de estas cosas; pero también debe el dueño componer la prensa vicia- da; mas si por culpa del colono se hubiera estro- peado alguna de estas cosas, se obliga él por la ac- ción de locación. Pero las seras de que usamos pa- ra prensar la aceituna, escribió Neracio que debe procurárselas el colono; mas si la aceituna se pren- sara entre tablones, debe proporcionar el dueño la prensa, el cabrestante, los tablones, el torno, y las poleas, con que se alza la prensa; asimismo debe dar el dueño la caldera de cobre en que con agua caliente se lava la aceituna, y las demás vasijas para el accite, así como las tinajas para el vino, las que deberá empegar el colono para usarlas enton- ces. Todo esto se la de entender asi, si no se hubie- ra tratado especialmente alguna otra cosa. § 3.-Si el dueño se hubiere reservado en la lo- cación, que habia de recibir por cierto precio cierta medida de trigo, y el dueño no quisiera recibir el trigo, ni deducir su precio de la pensión, puede ciertamente pedir toda la suma por la acción de lo- cación, pero verdaderamente es consiguiente pen- sar, que conviene al ministerio del juez, que se ten- ga cuenta de cuanto le importaba al arrentario pagar más bien en trigo, que en dinero, la porción reservada de la pensión. Del mismo modo, también si se ejercitara la acción de conducción, se habrá de decir lo mismo. § 4.-Si el inquilino hubiere añadido una puer- ta, ú otra cualquier cosa, al edificio, ¿qué acción tendrá lugar? Yes más verdadero, lo que escribió Labeon, que compete la acción de conducción, para que le sea licito llevársela; pero de modo que dé caución de daño inminente, para que, quitándola, no empeore en algo la condición de la casa, sino que devuelva á la casa su primitivo aspecto. § 5.-Si el inquilino hubiere llevado á la casa un arca de bronce, y el dueño hubiere estrechado la entrada de la casa, es más verdadero que se obli- <hr style="width: 35%; margin-left: 0; border: 0; border-top: 1px solid #666;" /><noinclude>{{PieBilingüe|d}}</noinclude> 305712higsmfx3873br68eip2fnuhhp 1664117 1664116 2026-06-05T14:39:01Z Flor Talía Andrade Casilla 95836 /* Problemático */ 1664117 proofread-page text/x-wiki <noinclude><pagequality level="2" user="Flor Talía Andrade Casilla" />{{crv|957|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>'''18. [20]''' JULIANO; ''Digesto, libro XV''.-en cu- ya acción se comprenderá también el lucro que pudo obtener por la conducción del fundo. '''19. [21]''' ULPIANO; ''Comentarios al Edicto, li''- ''bro XXXII''-Pero añadirás esto á la decisión de Juliano, que, si hice colusión con el tutor, ine obli- gare por la acción de conducción a lo que le impor- tó al pupilo. § 1.-Si ignorándolo hubiere alguno dado en arrendamiento tinajas defectuosas, y después se sa- liere el vino, se obligara á lo que importa, y no se excusará su ignorancia; y así lo escribió Cassio. De otra suerte será, si diste en arrendamiento pa- ra pasto un bosque en el que nacia mala verba; porque en este caso, ya si murieron los ganados, ya también si se deterioraron, se responderá de lo que importa, si lo supiste, y si lo ignoraste, no pedirás la pensión; y asi les pareció bien á Servio, Labeon, y Sabino. § 2.-Si alguno hubiere dado en arrendamiento un fundo, hemos de ver esto, qué sea costumbre entregar al arrendatario en concepto de apero, y á qué quede obligado por la acción de locación, si no lo entregara. Y hay una epistola de Neracio á Aris- tón, según la que se han de entregar ciertamente al colono las tinajas, la prensa y el molino para las aceitunas, provistos de sus cuerdas, y si no las hu- biera, debe el dueño proveerle de estas cosas; pero también debe el dueño componer la prensa vicia- da; mas si por culpa del colono se hubiera estro- peado alguna de estas cosas, se obliga él por la ac- ción de locación. Pero las seras de que usamos pa- ra prensar la aceituna, escribió Neracio que debe procurárselas el colono; mas si la aceituna se pren- sara entre tablones, debe proporcionar el dueño la prensa, el cabrestante, los tablones, el torno, y las poleas, con que se alza la prensa; asimismo debe dar el dueño la caldera de cobre en que con agua caliente se lava la aceituna, y las demás vasijas para el accite, así como las tinajas para el vino, las que deberá empegar el colono para usarlas enton- ces. Todo esto se la de entender asi, si no se hubie- ra tratado especialmente alguna otra cosa. § 3.-Si el dueño se hubiere reservado en la lo- cación, que habia de recibir por cierto precio cierta medida de trigo, y el dueño no quisiera recibir el trigo, ni deducir su precio de la pensión, puede ciertamente pedir toda la suma por la acción de lo- cación, pero verdaderamente es consiguiente pen- sar, que conviene al ministerio del juez, que se ten- ga cuenta de cuanto le importaba al arrentario pagar más bien en trigo, que en dinero, la porción reservada de la pensión. Del mismo modo, también si se ejercitara la acción de conducción, se habrá de decir lo mismo. § 4.-Si el inquilino hubiere añadido una puer- ta, ú otra cualquier cosa, al edificio, ¿qué acción tendrá lugar? Yes más verdadero, lo que escribió Labeon, que compete la acción de conducción, para que le sea licito llevársela; pero de modo que dé caución de daño inminente, para que, quitándola, no empeore en algo la condición de la casa, sino que devuelva á la casa su primitivo aspecto. § 5.-Si el inquilino hubiere llevado á la casa un arca de bronce, y el dueño hubiere estrechado la entrada de la casa, es más verdadero que se obli- <hr style="width: 35%; margin-left: 0; border: 0; border-top: 1px solid #666;" /><noinclude>{{PieBilingüe|d}}</noinclude> 76d6yp1b7sov1jd2nwvtc2gevoxn54h Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/923 102 418352 1664115 1664111 2026-06-05T13:35:45Z Joseftg123 95856 1664115 proofread-page text/x-wiki <noinclude><pagequality level="1" user="Joseftg123" />{{crv|855|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>que el vendedor me los entregue, y el vendedor los entregará a Ticio los esclavos que no hubiere debido, creyendo que él se los debía. {{sec}} 10.— Si el curador hubiere hecho verdadera- mente la venta de los bienes, pero no hubiere pa- gado el dinero a los acreedores, respondieron Tre- bacio, Ofilio y Labeón, que a los que estuvieron presentes les compete contra él la acción de man- dato, pero que los que estuvieron ausentes tienen la acción de gestión de negocios. Pero si hizo esto habiendo ejecutado mandato de los presentes, no tienen los ausentes la acción de gestión de nego- cios, sino acaso contra los que mandaron al cura- dor, como si hubieren sido gestores de los negocios de los ausentes; pero si hubieren mandado esto, creyendo que ellos solos eran acreedores, se ha de dar a los ausentes la acción por el hecho contra los que lo hubieren mandado. {{sec}} 11.— Pero así como es libre no acep- tar un mandato, así debe ejecutarse el aceptado, si no se ha renunciado. Y puede renunciarse de modo que se reserve íntegro al mandante su de- recho para ejecutar cómodamente la misma cosa o por sí o por otro, o si recae perjuicio sobre el que aceptó el mandato. Y a la verdad, si aquel a quien se mandó que comprara alguna cosa no la hubiera comprado, ni hubiere manifes- tado que no la compraría, y esto lo hiciera por culpa suya y no de otro, conviene que el que- de obligado por la acción de mandato; y tauto más quedará obligado, como escribió Mela, si por fraude lo hubiera comunicado a tiempo en que ya no podía comprarla convenientemente. '''23'''. HERMOGENIANO ; ''Epitome del derecho, libro II''.-. Pero si por causa de mala salud, o de ca- pitales enemistades, '''24'''. PAULO; ''Sentencias, libro II''.-.o de ser inutil las acciones para la cosa, '''25'''. HERMOGENIANO ; ''Epitome del derecho, libro II''.-. o por otra justa causa alegare excusas, ha de ser oido. '''23'''. PAULO; ''comentarios al Edicto, libro XXXII''.-. Entre las causas de no cumplir el mandato también está la muerte del mandante, pues el mandato se extingue por la muerte; pero si se ejecuta por ignorancia, se dice que procede acción por causa de utilidad. También escribió Juliano que el mandato se extingue por la muerte del mandante, pero que a veces la obligación permanece. {{sec}} 1.— Si alguien hubiere mandado a su deudor que pagase a Ticio, y habiendo muerto aquel, el deudor, ignorándolo, pagare, debe quedar liberado. {{sec}} 2.— Se entiende que el dinero está disponible para el fiador, aunque el deudor haya sido delegado al acreedor por él, aunque no sea solvente, porque hace buena la deuda el acreedor que admite al deudor delegado. {{sec}} 3.— Si aquel que quiere hacer donación al fiador tuviera como deudor suyo al acreedor de éste, y lo liberara, inmediatamente podrá ejercitar el fiador la acción de mandato, porque nada importa que haya pagado el dinero al acreedor o que lo haya liberado.<noinclude>{{PieBilingüe|d}}</noinclude> jgteeyenqldxfp05ek8eeam9oy7kcya Plantilla:Enlace obra/pruebas/doc 10 418717 1664196 1664074 2026-06-05T22:14:04Z Ignacio Rodríguez 3603 1664196 wikitext text/x-wiki {{Subpágina de documentación}} {{plantilla con Lua|Enlace obra/pruebas}} == Uso == {{enlace obra/pruebas|Q133506696}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly> em9olk9066w7x9eiuf5d0gyri842m2s 1664234 1664196 2026-06-06T04:10:47Z Ignacio Rodríguez 3603 1664234 wikitext text/x-wiki {{Subpágina de documentación}} {{plantilla con Lua|Enlace obra/pruebas}} == Uso == {{enlace obra/pruebas|Q133506696}} {{enlace obra/pruebas|Q106777108}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly> hk9k8vjcros9qfrfd1yd78yuprlmcd2 Plantilla:Autogalería/pruebas/doc 10 418721 1664203 1664101 2026-06-05T23:55:45Z Ignacio Rodríguez 3603 1664203 wikitext text/x-wiki {{Subpágina de documentación}} {{plantilla con Lua|Galería/pruebas}} == Uso == {{autogalería/pruebas|El Lazarillo de Tormes (1921).pdf Orgullo y prejuicio - Tomo I (1924).pdf Notas etimológicas a El ingenioso hidalgo Don Quijote de la Mancha - bdh0000197449.pdf Constitución de las Provincias Unidas en Sudamérica (1819).djvu}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly> n5t14g3ak3s6hdma5akvp2l8x6tavdn Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/1026 102 418728 1664118 2026-06-05T15:12:55Z Flor Talía Andrade Casilla 95836 /* Problemático */ 1664118 proofread-page text/x-wiki <noinclude><pagequality level="2" user="Flor Talía Andrade Casilla" />{{crv|958|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>ga éste por la acción de conducción, y por la de exhibición, ya si lo sabe, ya si lo hubiere ignorado; porque compréndese en el ministerio del juez, que le obligue á dar al inquilino entrada y facultad pa- ra llevarse el arca, por supuesto, á costa del arren- dador. § 6.-Si habiendo tomado arrendada por un año una habitación, hubiere dado alguno la pensión de todo el año, y después de los seis meses se hubiere arruinado la casa, o hubiera sido consumida por un incendio, con muchisima razón escribió Mela, que repetirá por la acción de conducción la pen- sión del tiempo restante, y que no intentará la con- dicción como por pago no debido; por que no dio más por error, sino para que le aprovechara á él en el contrato del arrendamiento; y de otro modo será, si alguno hubiere pagado quince, habiendo toma- do en arrendamiento por diez; porque éste, si pagó por error, creyendo que había tomado en arrenda- miento por quince, no tendrá la acción de conduc- ción, sino solamente la condicción; porque hay muncha diferencia entre el que pagó por error, y el que pagó anticipada la pensión integra. § 7.-Si alguno hubiese tomado en arrendamien- to el transportar á una mujer en una nave, y des- pués hubiese nacido en la nave un niño, se ha de admitir que nada se debe por el niño, como quiera que ni sea grande el transporte de éste, ni use él de todas las cosas que se preparan para uso de los navegantes. § 8.-Es evidente, que la acción de conducción pasa también al heredero. § 9.-Habiendo un copista dado en arriendo sus servicios, y habiendo fallecido después el que los habia tomado arrendados, el Emperador Antonino respondió por rescripto, junto con el Divino Seve- ro, á la instancia del copista en estos términos: Puesto que alegas que no consistió en ti que no prestases á Antonio Aquila los servicios arrenda- dos, si de otro no recibiste en el mismo año salarios. es justo que se cumpla lo prometido en el contrato. § 10.-'''[22.]''' Escribió también Papiniano en el libro cuarto de sus Respuestas, que fallecido un Legado del César, se ha de pagar á sus subordina- dos el sueldo del tiempo restante, si después los su- bordinados no estuvieron al mismo tiempo con otros. '''20. [23.]''' PAULO; ''Comentarios al Edicto, libro XXXIV''. Asi como la compra, así también la lo- cación puede hacerse bajo condición. 1. Pero no puede celebrarse por causa de do- nación. § 2.-A veces no se obliga el arrendador, se obliga el arrendatario, como cuando el comprador toma en arrendamiento el fundo hasta que le pa- gue el precio. '''21. [24.]''' JAVOLENO; ''Epistolas, libro XI''.-Al vender yo un fundo se convino, que hasta que se pagase todo el precio, el comprador tendría en arrendamiento el fundo por cierta pensión; pagado el precio ¿deberá darse por recibida la pensión? Respondió, que la buena fé exige, que se haga lo que se convino; pero éste no paga al vendedor más que en proporción del tiempo que no se hubiese pa- gado el precio. <hr style="width: 35%; margin-left: 0; border: 0; border-top: 1px solid #666;" /><noinclude>{{PieBilingüe|d}}</noinclude> ifebtd04bw8nxx2at4v6qtecx4snh7d Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/1027 102 418729 1664119 2026-06-05T15:45:24Z Flor Talía Andrade Casilla 95836 /* Problemático */ 1664119 proofread-page text/x-wiki <noinclude><pagequality level="2" user="Flor Talía Andrade Casilla" />{{crv|959|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>'''22. [25.]''' PAULO; ''Comentarios al Edicto, libro ''XXXIV''.-Asimismo, si no habiéndose pagado el precio hubiera quedado sia comprar la cosa, habrá entonces la acción de locación. § 1.-Mas siempre que se dá á hacer alguna co- sa hay locación. § 2.-Cuando se dá a edificar una casa en un si- tio, de suerte que el arrendatario lo haga todo á su costa, me transfiere ciertamente la propiedad de ello, y sin embargo hay locación; porque el cons- tructor dá en arrendamiento su trabajo, esto es, la necesidad de hacerla. § 3.-Así como en el comprar y vender está na- turalmente permitido comprar por menos lo que valga más, y vender por más lo que valga menos, y de este modo engañarse mutuamente, así tam- bién es de derecho en las locaciones y conducciones; '''23. [26]''' HERMOGENIANO; ''Epitome del Dere''- ''cho, libro II''.-y por esto, no puede rescindirse la locación so pretexto de haberse hecho la locación por menos pensión, si no pudiera probarse dolo al- guno del adversario. '''24. [27]''' PAULO; ''Comentarios al Edicto, libro ''XXXIV''.-Si en un pacto de la locación se hubiera expresado, que se apruebe la obra á arbitrio del dueño, se considera lo mismo que si se hubiese ex- presado el arbitrio de buen varón. Y lo mismo se observa, si se hubiera consignado el arbitrio de otro cualquiera; porque exige la buena fé, que se dé tal arbitraje, cual conviene á un buen varón, y este arbitraje se refiere á la calidad de la obra, no á la prórroga del tiempo, que se haya limitado en un pacto, si esto mismo no se hubiera comprendido en el contrato. A lo cual es consiguiente, quesca nu- la la aprobación hecha con dolo del arrendatario, para que pueda ejercitarse la acción de locación. § 1.-Si un colono hubiere dado en arrendamien- to un fundo, los bienes del segundo arrendatario no quedan obligados al dueño; pero los frutos per- manecen en la condición de prenda, así como esta- rian, si el primer colono los hubiese percibido. § 2.-Si se hubiera dado en arrendamiento una casa ó un fundo con pensiones por un quinquenio, puede el dueño, si el inquilino ó el colono hubiere abandonado la habitación o el cultivo del fundo, reclamar inmediatamente contra ellos. § 3.-Pero también puede reclamar igualmente por las cosas que debieron hacer inmediatamente, por ejemplo, porque terminasen alguna obra, ó hi- ciesen plantaciones. § 4.-El colono, si á él no le fuera lícito disfru- tar, reclamará desde luego con razón respecto de todo el quinquenio, aunque el dueño del fundo le permita disfrutar en los demás años; pues no siem- pre se librará el señor porque permita disfrutar del fundo en el segundo ó el tercer año; porque el que expulsado de un arrendamiento se trasladó á otro fundo como colono, no ha de atender á los dos, ni estará obligado por razón de las pensiones, y con- seguirá cuanta ganancia había de obtener en ca- da año; porque es tardía la permisión de disfrutar, que se ofrece en tiempo en que el colono no puede disfrutar, ligado ya á otras cosas. Pero si se lo im- pidió por pocos días, y después mostró arrepenti- miento, y todo está integro para el colono, la mo- rosidad de pocos dias no disminuirá nada de la <hr style="width: 35%; margin-left: 0; border: 0; border-top: 1px solid #666;" /><noinclude>{{PieBilingüe|d}}</noinclude> raoidefrjbfdabr0f865hczd8m3rlg4 Página:Cuerpo del derecho civil romano a doble texto (IA cuerpodelderechocivilromanoP1T1).pdf/1028 102 418730 1664120 2026-06-05T16:02:37Z Flor Talía Andrade Casilla 95836 /* No corregido */ Página creada con «obligación. Asimismo ejercita útilmente la acción de conducción aquel A quien no se entregas con- forme al convenio las cosas que se habian coase- nido, ya si se le prohibiera disfrutar por el dazio. ó por un extraño, al enal el dueño se lo puede impedir. § 5.-Cao que había dado en arrendamiento un fundo por muchos años, obligó en su testament su heredero à que considerade pagado al anal tario; si el heredero no permitiera que el disfrut ra por el tiempo…» 1664120 proofread-page text/x-wiki <noinclude><pagequality level="1" user="Flor Talía Andrade Casilla" />{{crv|960|Digesto.— Libro : Título}} {{EncabezadoBilingüe|d}}</noinclude>obligación. Asimismo ejercita útilmente la acción de conducción aquel A quien no se entregas con- forme al convenio las cosas que se habian coase- nido, ya si se le prohibiera disfrutar por el dazio. ó por un extraño, al enal el dueño se lo puede impedir. § 5.-Cao que había dado en arrendamiento un fundo por muchos años, obligó en su testament su heredero à que considerade pagado al anal tario; si el heredero no permitiera que el disfrut ra por el tiempo restante, hay la acción de conda- ción; pero si lo permitiera, y no condonas las pe siones, se obliga en virtud del testamento. 25. [28] GAYO: Comentarios al Edicto pro vincial, libro X.-Si se hubiera prometido pensa à arbitrio de otro en general, no se considera que se verifican locación y conducción; pero si en ze to Ticio linbiere estimado, se verifica locación esta condición, que si verdaderamente el que fe nombrado hubiere fijado la pensión, debe pagane de todos modos la pensión conforine & su esti ción, y llevarse à efecto la conducción: pero si el no hubiere querido, ó no hubiere podido fjar la peusión, en este caso es nula la conducción, c si no se hubiese fijado pensión alguns. § 1.-El que dió en arrendamiento & algas un fundo para disfrutarlo, ó la habitación, si pe algua causa vendiera el fando, ò la casa, de enidar de que también con el comprader les era l elto al colono disfrutar, y al inquilino ha el mismo parto: de otra suerte, aquel & quien se le hubiere prohibido ejercitará contra él la acrise de conducción. § 2. Si edificaudo el vecino se oscarieren la luces de un ceniculo, el arrendador se obliga alie quilino: y ciertamente no hay duda alguna de sea licito al colono ó al inquilino dejar el armada miento. Y también respecto a las pensiones, si tra él se ejercitara acción, se ha de tener esenta la rehaja. Lo mismo entenderemos, si el arrendade no reparase las puertas y ventanas demasiado es tropeadas. 3.-El arrendatario debe hacerlo todo confe me al contrato del arrendamiento, y ante todo de be cuidar el colono de hacer à su tiempo las labo res del campo, para que el cultivo fuera de tiemp no deteriore el fundo; además debe tener enido de las ensas de campo, de suerte que las tenga deterioro, 4. Pero también se imputa à culpa del mo, si por enemistades hubiere su vecino conta los árboles. $ 3. También si las hubiere cortado el mim. se obliga no solamente per la acción de loca sino también por la de la ley Aquilia, y por la de la ley de las Doce Tablas sobre árboles cortadas furtivamente, y por el interdicto de lo que se ha por fuerza 6 clandestinamente; pero continer ciertamente en el ministerio del juez, que juga de la acción de locación, que el arrendador osaits las demas acciones. $ 6.-La fuerza mayor, que los griegos Ham fuerza de Dios, no debe ser perjudicial al arreads tario, si hubieren sido lesionados los frutos másde lo que es tolerable; de otra suerte, el daño de rado debe soportarlo con Animo sereno el colon. al cual no se lo quita la inmoderada gausais. Pero es claro que hablamos del colono que tomé es <hr style="width: 35%; margin-left: 0; border: 0; border-top: 1px solid #666;" /><noinclude>{{PieBilingüe|d}}</noinclude> srcsm3l6r915cxfenkq6n34wn7ygedk Índice:Tratado del cultivo de la vid en Espaõna y modo de majorarlo - IA tratadodelcultiv00unse.djvu 104 418731 1664151 2026-06-05T18:07:56Z Ignacio Rodríguez 3603 Ignacio Rodríguez trasladó la página [[Índice:Tratado del cultivo de la vid en Espaõna y modo de majorarlo - IA tratadodelcultiv00unse.djvu]] a [[Índice:Tratado del cultivo de la vid en España y modo de mejorarlo - IA tratadodelcultiv00unse.djvu]]: título con error 1664151 proofread-index text/x-wiki #REDIRECT [[Índice:Tratado del cultivo de la vid en España y modo de mejorarlo - IA tratadodelcultiv00unse.djvu]] a2mthsnuc950fgd2dnn9g537rc27lla Página:Limites argentino-chilenos - IA limitesargentin00ocagoog.djvu/6 102 418732 1664159 2026-06-05T18:14:55Z Ignacio Rodríguez 3603 /* Sin texto */ 1664159 proofread-page text/x-wiki <noinclude><pagequality level="0" user="Ignacio Rodríguez" /></noinclude><noinclude></noinclude> 28h4vl42g9yu8ylwfdva38viwjxhcrr Página:Impresiones - IA impresioneslite01balagoog.djvu/8 102 418733 1664167 2026-06-05T18:19:20Z Ignacio Rodríguez 3603 /* Sin texto */ 1664167 proofread-page text/x-wiki <noinclude><pagequality level="0" user="Ignacio Rodríguez" /></noinclude><noinclude></noinclude> 28h4vl42g9yu8ylwfdva38viwjxhcrr Las alegres excursiones 0 418734 1664171 2026-06-05T20:14:34Z Strakhov 39011 https://prensahistorica.mcu.es/es/catalogo_imagenes/grupo.do?path=4053743&posicion=33&presentacion=pagina&registrardownload=0 1664171 wikitext text/x-wiki {{Encabezado|título=Las alegres excursiones|autor=Javier Bueno|notas=<small>[[Autor:Agustín R. Bonnat|A. R. Bonnat]] «Las alegres excursiones» (15 de agosto de 1925) ''[[La Esfera]]'', n.º 606</small>}} <div class="prose" style="width: 450px"> {{grande|{{Bloque centro|'''LAS ALEGRES EXCURSIONES'''}}}} {{Bloque centro| [[Archivo:1925-08-15, La Esfera, Las alegres excursiones (cropped) Dibujo de Sancha.jpg|center|450px]] {{Brecha}}No hay pueblecillo más ó menos pintoresco, y conste que hay muchos que lo son menos, que no posean su correspondiente y aplaudida peña, denominada la Peña de los Enamorados, á la que encaminan sus pasos todos aquellos que habiendo entregado su corazón, al par que aman, se dedican á las excursiones.<br> {{Brecha}}Por regla general esta peña que no tiene maldito lo que admirar, figura de una manera absoluta é inconmovible en el programa de todo forastero, siendo su visita uno de los primeros números que se ofrece á todo el que llega al pueblo dispuesto á expansionar el ánimo y romper unas cuantas alpargatas.<br> {{Brecha}}Ahora que la gente se entrega al veraneo, estas peñas están más concurridas que si en ellas se repartieran títulos de nobleza ó alimentos gratis.<br> {{Brecha}}—Es una excursión preciosa—dicen los iniciados—. Nosotros hemos ido varias veces y no nos cansamos.<br> {{Brecha}}—¡Pues si dicen que está lejos!<br> {{Brecha}}—No nos cansamos de verla. Bien es verdad que yo hago la excursión bajo un aspecto romántico. A mí me recuerda á mi difunto.<br> {{Brecha}}—¿Era así?<br> {{Brecha}}—No; pero sí más testarudo que una piedra. De ese mal murió.<br> {{Brecha}}—¿De mal de piedra?<br> {{Brecha}}—De testarudez. Se empeñó en llevarle, la contraria al médico, respecto á la enfermedad que padecía, y aunque el doctor quiso curarle, él dijo que no y reventó.<br> {{Brecha}}Aparte este recuerdo, que en medio de todo no deja de ser grato, pues la señora está con su viudez tan contenta como con unas zapatillas anchas, la excursión ofrece múltiples encantos, aun para aquellos á quienes las peñas no les recuerdan á nadie de la familia. Organizar una expedición á esos sitios viene á ser algo así como preparar un plan de batalla en el que entren todas las armas combatientes y servicios auxiliares. Afortunadamente, para estos casos hay entre los veraneantes técnicos, y la excursión sale que ni bordada.<br> {{Brecha}}Quince días antes de realizarla se comienza á hablar de ella entre la colonia y se acuerda, por unanimidad, que la organizadora y directora sea doña Ramona, una señora á la que le han salido los dientes en jiras como la que se proyecta. El último que la salió fué de la boca, acompañado de un colmillo, por haberse caído del burro que montaba, burro que, por lo visto, no lo era tanto como su nombre indica, ya que debió decirse: «¿Y para qué voy á ir cargado con este estafermo?» Hizo una especie de quiebro saleroso y allá te va doña Ramona al suelo.<br> {{Brecha}}Esto, sin embargo, no le ha quitado el buen humor ni su deseo de reincidir en las visitas á la peña, estando dispuesta á perder los pocos dientes que la quedan en expediciones sucesivas.<br> {{Brecha}}—Iremos á la Peña de los Enamorados, pero han de ser ustedes formalitos. Esto es al elemento joven de la colonia veraniega, pues por su experiencia de «testiga» sabe que estas excursiones traen consigo el que los elementos revoltosos se suelten el pelo y comiencen á hacer gansadas á todo foro. Se contratan burros, se avisa á los novios, se confeccionan meriendas y, al caer de la tarde, los expedicionarios se ponen en marcha bajo la suprema dirección de la organizadora, partiendo todos alegres y satisfechos, porque, como dice uno de los señores graves de la caravana, que por leer los anuncios de específicos es un higienista tremendo:<br> {{Brecha}}—Estos paseos tranquilizan el espíritu, ensanchan los pulmones, avivan el apetito y estropean el calzado. Por todo ello son recomendables.<br> {{Brecha}}—¿Incluso por lo del calzado?<br> {{Brecha}}—Incluso; sólo que esta recomendación la hacen los zapateros.<br> {{Brecha}}En animados grupos caminan todos, hombres y caballerías, no faltando de vez en cuando la nota de la respetable madre que se cansa y obliga á hacer un alto á todos, con la correspondiente protesta de los que ansían llegar para ponerse en relaciones con la merienda ó para dar fin á la pesadilla de la caminata.<br> {{Brecha}}—Vamos, un pequeño esfuerzo más, y llegamos.<br> {{Brecha}}—No puedo; en cuanto ando un poco se me ponen los pies como panderos y tengo que sentarme; es que no me puedo ni tocar.<br> {{Brecha}}—¡Qué raro!—dice uno de los pollos—; pero si los panderos son para tocarlos.<br> {{Brecha}}Carcajada general, menos la interesada, que apenas dibuja una sonrisa, pero que en su interior dice: «Ya te daría yo chistes, ¡so ladrón!, pero tengo tres hijas, y tú eres de los idiotas que se casan.<br> {{Brecha}}Siguen los excursionistas, y cuando tras caminar casi tanto como los israelitas por el desierto llegan frente á la peña, todos se dejan caer al suelo, como si hubieran estado segando todo el día.<br> {{Brecha}}—¿Qué tal? ¿Es bonita, verdad?<br> {{Brecha}}—Preciosa, en su calidad de peñasco sobre peñasco. Sólo le falta una cosa.<br> {{Brecha}}—¿El qué?<br> {{Brecha}}—No estar en la plaza del pueblo.<br> {{Brecha}}Aquella noche la mayoría de los excursionistas no puede dormir del hormigueo que tiene en los pies. Ahora, que ha cumplido el programa del perfecto veraneante en la Sierra.<br><br> {{Bloque derecha|A. R. BONNAT}} {{Brecha}}DIBUJO DE SANCHA }} </div> [[Categoría:Artículos]] 1nzcvslvw2e7cub4sqwi2yqyjsm6mrx Autor:Agustín R. Bonnat 106 418735 1664173 2026-06-05T20:19:19Z Strakhov 39011 Página creada con «{{Biocitas |Ordenar = Bonnat, Agustín R. |Texto='''Agustín Rodríguez Bonnat'''<br /> (1873-1925) <br /> Escritor español. }} == Artículos == * {{cita publicación|autor=A. R. Bonnat|título=[[Las alegres excursiones]]|fecha=15 de agosto de 1925|publicación=[[La Esfera]]|ubicación=Madrid|número=606}} {{Wikidata|Q140073536}} [[Categoría:Autores-B]] [[Categoría:F1925]] [[Categoría:Autores españoles]]» 1664173 wikitext text/x-wiki {{Biocitas |Ordenar = Bonnat, Agustín R. |Texto='''Agustín Rodríguez Bonnat'''<br /> (1873-1925) <br /> Escritor español. }} == Artículos == * {{cita publicación|autor=A. R. Bonnat|título=[[Las alegres excursiones]]|fecha=15 de agosto de 1925|publicación=[[La Esfera]]|ubicación=Madrid|número=606}} {{Wikidata|Q140073536}} [[Categoría:Autores-B]] [[Categoría:F1925]] [[Categoría:Autores españoles]] fxpbszoy9wurhc210sl69zt08syr8zu Discusión:Las alegres excursiones 1 418736 1664174 2026-06-05T20:21:15Z Strakhov 39011 Página creada con «{{Infotexto |fuente=A. R. Bonnat «[https://prensahistorica.mcu.es/es/catalogo_imagenes/grupo.do?path=4053743&posicion=33&presentacion=pagina&registrardownload=0 Las alegres excursiones]» (15 de agosto de 1925) ''La Esfera'', número 606. |colaborador= |progreso=[[Image:50%.png]] |notas= |revisor= |año=1891 }} {{DP-80}}» 1664174 wikitext text/x-wiki {{Infotexto |fuente=A. R. Bonnat «[https://prensahistorica.mcu.es/es/catalogo_imagenes/grupo.do?path=4053743&posicion=33&presentacion=pagina&registrardownload=0 Las alegres excursiones]» (15 de agosto de 1925) ''La Esfera'', número 606. |colaborador= |progreso=[[Image:50%.png]] |notas= |revisor= |año=1891 }} {{DP-80}} pwvr83y5xfjh29lhtl23x5erbv8wuyz 1664175 1664174 2026-06-05T20:21:31Z Strakhov 39011 100 1664175 wikitext text/x-wiki {{Infotexto |fuente=A. R. Bonnat «[https://prensahistorica.mcu.es/es/catalogo_imagenes/grupo.do?path=4053743&posicion=33&presentacion=pagina&registrardownload=0 Las alegres excursiones]» (15 de agosto de 1925) ''La Esfera'', número 606. |colaborador= |progreso=[[Image:50%.png]] |notas= |revisor= |año=1891 }} {{DP-100}} ttc9m9ewwa8fjjk24zrin2taph62yxr Usuario:SpikeShroom/common.js 2 418737 1664177 2026-06-05T20:27:42Z SpikeShroom 83647 creé la página 1664177 javascript text/javascript //index_preview - By Inductiveload mw.loader.load('//en.wikisource.org/w/index.php?title=User:Inductiveload/index_preview.js&action=raw&ctype=text/javascript'); //jump_to_file - By Inductiveload mw.loader.load('//en.wikisource.org/w/index.php?title=User:Inductiveload/jump to file/load.js&action=raw&ctype=text/javascript'); //TemplateScript mw.loader.load('//en.wikisource.org/w/index.php?title=MediaWiki:TemplateScript/proofreading.js&action=raw&ctype=text/javascript'); ajlsq9rg8a5jtosuq37950nbcsh7b2i Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/2 102 418738 1664179 2026-06-05T20:31:38Z SpikeShroom 83647 /* Sin texto */ 1664179 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/3 102 418739 1664180 2026-06-05T20:31:44Z SpikeShroom 83647 /* Sin texto */ 1664180 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/4 102 418740 1664181 2026-06-05T20:31:56Z SpikeShroom 83647 /* Sin texto */ 1664181 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/5 102 418741 1664182 2026-06-05T20:36:01Z SpikeShroom 83647 /* Corregido */ 1664182 proofread-page text/x-wiki <noinclude><pagequality level="3" user="SpikeShroom" /></noinclude>{{c|{{xxxx-grande|ENCICLOPEDIA MODERNA.}} {{línea|3em|color=black}} {{altura|2em}} TOMO PRIMERO.}}<noinclude></noinclude> 83j5cl8k07mtjub6j8fx3rannhnuah9 Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/6 102 418742 1664183 2026-06-05T20:36:09Z SpikeShroom 83647 /* Sin texto */ 1664183 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/8 102 418743 1664184 2026-06-05T20:36:28Z SpikeShroom 83647 /* Sin texto */ 1664184 proofread-page text/x-wiki <noinclude><pagequality level="0" user="SpikeShroom" /></noinclude><noinclude></noinclude> ek8vzr01johrgxtditskjz91e4dgf6u Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/9 102 418744 1664185 2026-06-05T20:53:09Z SpikeShroom 83647 /* Corregido */ 1664185 proofread-page text/x-wiki <noinclude><pagequality level="3" user="SpikeShroom" /></noinclude>{{c|{{xx-grande|'''PROLOGO.'''}}}} {{altura|5em}} La publicacion de la {{may|Enciclopedia moderna}} no es mas que el complemento de un plan general al que están subordinadas todas mis empresas literarias: en ellas he querido siempre hermanar mis intereses con los del pais, porque juzgo un deber imprescindible el que cada uno contribuya en su esfera á levantar el gran edificio de la civilizacion; obra de suyo difícil y penosa de que por desgracia apenas se han echado todavía en España los cimientos. No es en verdad la generacion presente la que está llamada á ver la nueva era que sin duda lucirá algun dia para nuestra patria; pero veremos sin embargo, cual los israelitas del desierto, la tierra de promision, y prepararemos el camino á nuestos hijos, si cada uno pone de su parte lo que pueda. Se dirá acaso que la cooperacion de un solo individuo es una gota de agua echada en la inmensidad del Océano; pero ¿son los Océanos por ventura otra cosa que la reunion de gotas de agua? Considerada bajo este punto de vista la obra que nos ocupa, sus beneficios no han de limitarse solo á los contemporáneos, para quienes ahora se escribe, sino que se estenderán tambien, y acaso en mayor grado, á la posteridad. Una Enciclopedia no es otra cosa que una escuela preparatoria para la ''instruccion general''; y cuando por su precio es accesible á la gran masa del pueblo y está bien calculada para satisfacer sus necesidades, al paso que destruye el monopolio del saber, vinculado hasta una época no lejana en determinadas clases, proporciona con la propagacion de los conocimientos útiles, mil medios para ensanchar la esfera de accion, mejorar la suerte del individuo y cimentar el bien público sobre bases mas ámplias, sólidas y duraderas. Solo por su utilidad puede esplicarse el prodigioso número de obras<noinclude></noinclude> owv7e73cxl0bz8x7y24y1xzu3viszsd Módulo:Enlace obra/pruebas/doc 828 418745 1664186 2026-06-05T22:01:59Z Ignacio Rodríguez 3603 Página creada con «{{Subpágina de documentación}} == Uso == {{ep|enlace obra/pruebas}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly>» 1664186 wikitext text/x-wiki {{Subpágina de documentación}} == Uso == {{ep|enlace obra/pruebas}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly> 58h8eupoxaqpxdbkamr3guu1xxi55nw Módulo:Galería/pruebas/doc 828 418746 1664204 2026-06-05T23:55:58Z Ignacio Rodríguez 3603 Página creada con «{{Subpágina de documentación}} == Uso == {{ep|autogalería/pruebas}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly>» 1664204 wikitext text/x-wiki {{Subpágina de documentación}} == Uso == {{ep|autogalería/pruebas}} <includeonly> <!-- Coloca las categorías de la plantilla a continuación y los interwikis en Wikidata --> </includeonly> 8zzozczmzeai5lnhylubibao66u2x15 Página:Enciclopedia moderna - 1851 - Tomo primero.djvu/10 102 418747 1664249 2026-06-06T07:06:43Z SpikeShroom 83647 /* Corregido */ 1664249 proofread-page text/x-wiki <noinclude><pagequality level="3" user="SpikeShroom" />{{cp|VI|PROLOGO|}}</noinclude><section begin="PROLOGO" />de este género que con variedad de títulos han salido á luz en otros paises, principalmente de treinta años á esta parte. Y es que en este siglo las obras enciclopédicas son de absoluta necesidad, por los progresos de la culture, por la tendencia de las ideas y hasta por la organizacion política de la mayoría de las naciones. Era por demas vergonzoso que en España, que con tan tenaz empeño imitamos todo lo estrangero, no siempre con buen criterio, careciésemos de una obra de esta especie. Al emprenderla debo confesar que la empresa es tan difícil, requiere tales esfuerzos y exige tantos sacrificios, que no es estraño que fracasasen en su orígen sin llegar a su término, los tres ó cuatro ensayos practicados antes de ahora. Yo mismo, a pesar de los muchos recursos y de los poderosos medios de ejecucion de que puedo disponer en mi establecimiento, me veo precisado á reclamar del público una proteccion mas decidida para esta obra que la que de comun me concede, porque solo de este modo pueden quedar á salvo mis intereses. Y aqui conviene hacer una declaracion importante: la {{may|Enciclopedia}} cuenta en el dia un número de suscritores mas que suficiente para cubrir sus inmensos gastos; pero ya sea que la suscricion aumente, como parece probable, ó ya que disminuya, la obra se concluirá en el plazo de dos años señalado, sin que se note la menor diferencia del primero al último volúmen. El sistema general que he seguido en todas mis publicaciones, y la religiosidad con que he cumplido por espacio de muchos años los compromisos contraidos, harian inútil esta advertencia, si la magnitud de la obra por una parte y los malos precedentes de que acabo de hacer mérito por otra, no hubiesen vulgarizado la idea absurda de que en España es irrealizable una empresa tan colosal. Es cierto que en nuestro pais la instruccion está atrasada, y que acaso habrá muchos que no comprendan toda la importancia y utilidad de una Enciclopedia; pero el tiempo y la obra misma se encargarán de demonstrar sus ventajas, y por de pronto la lista de suscritores con que ya cuento, y que acaso publicaré algun dia, prueba que no es tan escaso el número de personas amantes de instruirse. Este número se aumentará, estoy seguro, y será un argumento mas que oponer á los pesimistas. Pero no es ni del éxito probable que alcanzará la {{may|Enciclopedia Monderna}}, ni de los beneficios que su publicacion producirá al pais, de lo que me propongo hablar en este prólogo, sino de la manera como está desempañada, para que conociéndose la clave de los trabajos se puedan juzgar con mas acierto. {{np}}<section end="PROLOGO" /><noinclude></noinclude> 5a0bvpdsro69fh6x6ppzzchktfo3vlw