diff options
author | Norbert Preining <norbert@preining.info> | 2024-01-13 03:01:12 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-01-13 03:01:12 +0000 |
commit | 65fecaf48c4ed6505cb45447a2d7cf1b9d933e3a (patch) | |
tree | c56b603d6058668578165093bb5ff98e735e0fe8 /biblio | |
parent | 1748d1e662c9618cc16f80d5e67669e9e9d6d4be (diff) |
CTAN sync 202401130301
Diffstat (limited to 'biblio')
-rw-r--r-- | biblio/bibtex/utils/bibcop/bibcop.1 | 2 | ||||
-rw-r--r-- | biblio/bibtex/utils/bibcop/bibcop.dtx | 2 | ||||
-rw-r--r-- | biblio/bibtex/utils/bibcop/bibcop.pdf | bin | 348056 -> 348056 bytes | |||
-rwxr-xr-x | biblio/bibtex/utils/bibcop/bibcop.pl | 98 | ||||
-rw-r--r-- | biblio/ctan-bibdata/ctan.bib | 92 |
5 files changed, 121 insertions, 73 deletions
diff --git a/biblio/bibtex/utils/bibcop/bibcop.1 b/biblio/bibtex/utils/bibcop/bibcop.1 index 64b5bd3b69..744ca010c2 100644 --- a/biblio/bibtex/utils/bibcop/bibcop.1 +++ b/biblio/bibtex/utils/bibcop/bibcop.1 @@ -1,4 +1,4 @@ -.TH bibcop 1 "2024-01-11" +.TH bibcop 1 "2024-01-12" .SH NAME bibcop \- Style Checker and Fixer of BibTeX Files (.bib) .SH SYNOPSIS diff --git a/biblio/bibtex/utils/bibcop/bibcop.dtx b/biblio/bibtex/utils/bibcop/bibcop.dtx index 0e078c298a..191279353d 100644 --- a/biblio/bibtex/utils/bibcop/bibcop.dtx +++ b/biblio/bibtex/utils/bibcop/bibcop.dtx @@ -50,7 +50,7 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{bibcop} %<*package> -[2024-01-11 0.0.16 Style Checker of Bibliography Files] +[2024-01-12 0.0.17 Style Checker of Bibliography Files] %</package> %<*driver> \documentclass{ltxdoc} diff --git a/biblio/bibtex/utils/bibcop/bibcop.pdf b/biblio/bibtex/utils/bibcop/bibcop.pdf Binary files differindex c81908a5b0..1ea78dc701 100644 --- a/biblio/bibtex/utils/bibcop/bibcop.pdf +++ b/biblio/bibtex/utils/bibcop/bibcop.pdf diff --git a/biblio/bibtex/utils/bibcop/bibcop.pl b/biblio/bibtex/utils/bibcop/bibcop.pl index 081ac6bbdf..2b44f2d571 100755 --- a/biblio/bibtex/utils/bibcop/bibcop.pl +++ b/biblio/bibtex/utils/bibcop/bibcop.pl @@ -21,11 +21,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# 2024-01-11 0.0.16 +# 2024-01-12 0.0.17 package bibcop; use warnings; use strict; +use File::Basename; # Hash of incoming command line arguments. my %args = map { $_ => 1 } @ARGV; @@ -301,7 +302,7 @@ sub check_typography { } } foreach my $s (@space_before) { - if ($value =~ /^.*[^\{\s]\Q$s\E.*$/) { + if ($value =~ /^.*[^\{\s\\]\Q$s\E.*$/) { return "In the '$tag', put a space before the $symbols{$s}" } } @@ -513,6 +514,52 @@ sub process_entry { return @errors; } +# Fix one entry. +sub entry_fix { + my (%entry) = @_; + if (not exists $entry{':type'}) { + error("I don't know what to do with an entry without a type"); + } + my $type = $entry{':type'}; + if (not exists $blessed{$type}) { + error("I don't know what to do with \@$type type of BibTeX entry"); + } + if (not exists $entry{':name'}) { + error("I don't know what to do with an entry without a name"); + } + my $tags = $blessed{$type}; + my %allowed = map { $_ => 1 } @$tags; + my @lines; + foreach my $tag (keys %entry) { + if ($tag =~ /^:/) { + next; + } + if (not exists $allowed{$tag} and not exists $allowed{$tag . '?'}) { + next; + } + my $value = clean_tex($entry{$tag}); + my $fixer = "fix_$tag"; + my $fixed = $value; + if (defined &{$fixer}) { + no strict 'refs'; + $value = $fixer->($value); + } + if ($tag =~ /title|booktitle|journal/) { + $value = '{' . $value . '}'; + } + if (not $value eq '') { + push(@lines, " $tag = {$value},"); + } + } + my $fixed = "\@$type\{$entry{':name'},\n"; + my @sorted = sort @lines; + foreach my $line (@sorted) { + $fixed = $fixed . $line . "\n"; + } + $fixed = $fixed . "}\n\n"; + return $fixed; +} + sub fix_author { my ($value) = @_; my @authors = split(/\s+and\s+/, $value); @@ -566,10 +613,15 @@ sub fix_pages { if ($value =~ /^[1-9][0-9]*$/) { return $value; } + if ($value eq '') { + return $value; + } my ($left, $right) = split(/---|--|-|–|—|\s/, $value); + $left //= $right; if ($left eq '') { $left = $right; } + $right //= $left; if ($right eq '') { $right = $left; } @@ -841,6 +893,10 @@ sub fail { } } +if (not basename($0) eq 'bibcop.pl') { + return 1; +} + if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) { info("Bibcop is a Style Checker of BibTeX Files\n\n" . "Usage:\n" . @@ -861,7 +917,7 @@ if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) { " --latex Report errors in LaTeX format using \\PackageWarningNoLine command\n\n" . "If any issues, report to GitHub: https://github.com/yegor256/bibcop"); } elsif (exists $args{'--version'} or exists $args{'-v'}) { - info('0.0.16 2024-01-11'); + info('0.0.17 2024-01-12'); } else { my ($file) = grep { not($_ =~ /^-.*$/) } @ARGV; if (not $file) { @@ -874,41 +930,7 @@ if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) { my $fixed = ''; for my $i (0..(@entries+0 - 1)) { my %entry = %{ $entries[$i] }; - my $type = $entry{':type'}; - if (not exists $blessed{$type}) { - error("I don't know what to do with \@$type type of BibTeX entry"); - } - if (not exists $entry{':name'}) { - error("I don't know what to do with an entry without a name"); - } - my $tags = $blessed{$entry{':type'}}; - my %allowed = map { $_ => 1 } @$tags; - my @lines; - foreach my $tag (keys %entry) { - if ($tag =~ /^:/) { - next; - } - if (not exists $allowed{$tag} and not exists $allowed{$tag . '?'}) { - next; - } - my $value = clean_tex($entry{$tag}); - my $fixer = "fix_$tag"; - my $fixed = $value; - if (defined &{$fixer}) { - no strict 'refs'; - $value = $fixer->($value); - } - if ($tag =~ /title|booktitle|journal/) { - $value = '{' . $value . '}'; - } - push(@lines, " $tag = {$value},"); - } - $fixed = $fixed . "\@$type\{$entry{':name'},\n"; - my @sorted = sort @lines; - foreach my $line (@sorted) { - $fixed = $fixed . $line . "\n"; - } - $fixed = $fixed . "}\n\n"; + $fixed = $fixed . entry_fix(%entry); } if (exists $args{'-i'} or exists $args{'--in-place'}) { open(my $out, '>', $file) or error('Cannot open file for writing: ' . $file); diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index a26b8cfc86..ef848012c7 100644 --- a/biblio/ctan-bibdata/ctan.bib +++ b/biblio/ctan-bibdata/ctan.bib @@ -1,7 +1,7 @@ %% bib file of all CTAN packages %% (C) Herbert Voß %% -%% created at 11-01-2024, 02:00:04 +%% created at 12-01-2024, 02:00:03 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -6877,8 +6877,8 @@ title = {The \texttt{bibcop} package}, subtitle = {Style checker for .bib files}, author = {Yegor Bugayenko}, - date = {2023-09-03}, - version = {0.0.15}, + date = {2024-01-11}, + version = {0.0.16}, license = {mit}, mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibcop}, url = {https://ctan.org/pkg/bibcop}, @@ -20466,8 +20466,8 @@ title = {The \texttt{dvisvgm} package}, subtitle = {Convert DVI, EPS, and PDF files to Scalable Vector Graphics format (SVG)}, author = {Martin Gieseking}, - date = {2023-11-15}, - version = {3.1.2}, + date = {2024-01-11}, + version = {3.2}, license = {gpl3+}, mirror = {https://mirror.ctan.org/dviware/dvisvgm}, url = {https://ctan.org/pkg/dvisvgm}, @@ -22409,8 +22409,8 @@ title = {The \texttt{eolang} package}, subtitle = {Formulas and graphs for the EO programming language}, author = {Yegor Bugayenko}, - date = {2024-01-02}, - version = {0.17.1}, + date = {2024-01-11}, + version = {0.18.0}, license = {mit}, mirror = {https://mirror.ctan.org/macros/latex/contrib/eolang}, url = {https://ctan.org/pkg/eolang}, @@ -25202,13 +25202,13 @@ title = {The \texttt{ffcode} package}, subtitle = {Fixed-font code blocks formatted nicely}, author = {Yegor Bugayenko}, - date = {2024-01-10}, - version = {0.9.0}, + date = {2024-01-11}, + version = {0.9.1}, license = {mit}, mirror = {https://mirror.ctan.org/macros/latex/contrib/ffcode}, url = {https://ctan.org/pkg/ffcode}, annotation = {This \LaTeX{} package helps you write source code in your - academic papers and make it looks neat. + academic papers and make it looks neat. It uses and , @@ -27016,8 +27016,8 @@ title = {The \texttt{fontsetup} package}, subtitle = {A front-end to fontspec, for selected fonts with math support}, author = {Antonis Tsolomitis}, - date = {2023-12-26}, - version = {2.02}, + date = {2024-01-11}, + version = {2.1.0}, license = {gpl3}, mirror = {https://mirror.ctan.org/macros/unicodetex/latex/fontsetup}, url = {https://ctan.org/pkg/fontsetup}, @@ -42565,8 +42565,8 @@ title = {The \texttt{lwarp} package}, subtitle = {Converts \LaTeX{} to HTML}, author = {Brian Dunn}, - date = {2024-01-05}, - version = {0.913}, + date = {2024-01-11}, + version = {0.914}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/lwarp}, url = {https://ctan.org/pkg/lwarp}, @@ -44547,6 +44547,21 @@ url = {https://ctan.org/pkg/media9}, } +@manual{ctan-medmath, + title = {The \texttt{medmath} package}, + subtitle = {Fix mediummath option in nccmath package}, + author = {Jianrui Lyu}, + date = {2024-01-11}, + version = {2024B}, + license = {lppl1.3c}, + mirror = {https://mirror.ctan.org/macros/latex/contrib/medmath}, + url = {https://ctan.org/pkg/medmath}, + annotation = {This package fixes and improves the mediummath option + in the package. + This concerns sizes of operators and infinite loops + caused by definite integrals.}, +} + @manual{ctan-medstarbeamer, title = {The \texttt{medstarbeamer} package}, subtitle = {Beamer document class for MedStar Health Research Institute}, @@ -48275,7 +48290,7 @@ title = {The \texttt{nccmath} package}, subtitle = {Extended mathematics capabilities}, author = {Alexander I. Rozhenko}, - date = {2018-07-03}, + date = {2024-01-11}, version = {1.2}, license = {lppl}, mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools}, @@ -48360,7 +48375,7 @@ title = {The \texttt{ncctools} package}, subtitle = {A collection of general packages for \LaTeX{}}, author = {Alexander I. Rozhenko}, - date = {2019-08-03}, + date = {2024-01-11}, version = {3.5.3}, license = {lppl}, mirror = {https://mirror.ctan.org/macros/latex/contrib/ncctools}, @@ -48586,8 +48601,8 @@ title = {The \texttt{NewComputerModern} package}, subtitle = {Computer Modern fonts including matching non-latin alphabets}, author = {Antonis Tsolomitis}, - date = {2024-01-09}, - version = {5.02}, + date = {2024-01-11}, + version = {5.1}, license = {gfl}, mirror = {https://mirror.ctan.org/fonts/newcomputermodern}, url = {https://ctan.org/pkg/newcomputermodern}, @@ -48685,8 +48700,8 @@ title = {The \texttt{newpx} package}, subtitle = {Alternative uses of the PX fonts, with improved metrics}, author = {Michael Sharpe}, - date = {2023-11-14}, - version = {1.534}, + date = {2024-01-11}, + version = {1.535}, license = {lppl,gfl}, mirror = {https://mirror.ctan.org/fonts/newpx}, url = {https://ctan.org/pkg/newpx}, @@ -48731,8 +48746,8 @@ title = {The \texttt{newtx} package}, subtitle = {Alternative uses of the TX fonts, with improved metrics}, author = {Michael Sharpe}, - date = {2023-12-20}, - version = {1.736}, + date = {2024-01-11}, + version = {1.737}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/fonts/newtx}, url = {https://ctan.org/pkg/newtx}, @@ -53052,8 +53067,8 @@ title = {The \texttt{pgfkeysearch} package}, subtitle = {This package offers a way to find keys in a given path 'recursively', unlike pgfkeysvalueof}, author = {Alceu Frigeri}, - date = {2024-01-08}, - version = {1.1}, + date = {2024-01-11}, + version = {1.2}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/pgfkeysearch}, url = {https://ctan.org/pkg/pgfkeysearch}, @@ -55368,8 +55383,8 @@ title = {The \texttt{ProfLycee} package}, subtitle = {A \LaTeX{} package for French maths teachers in high school}, author = {Cédric Pierquet}, - date = {2024-01-06}, - version = {3.01c}, + date = {2024-01-11}, + version = {3.01e}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee}, url = {https://ctan.org/pkg/proflycee}, @@ -65947,10 +65962,10 @@ title = {The \texttt{superiors} package}, subtitle = {Attach superior figures to a font family}, author = {Michael Sharpe}, - date = {2019-08-19}, - version = {1.06}, + date = {2024-01-11}, + version = {2.0}, license = {lppl}, - mirror = {https://mirror.ctan.org/fonts/superiors}, + mirror = {https://mirror.ctan.org/macros/latex/contrib/superiors}, url = {https://ctan.org/pkg/superiors}, } @@ -70629,8 +70644,8 @@ title = {The \texttt{tikzdotncross} package}, subtitle = {Small set of macros for defining/marking coordinates and crossing (jumps) paths}, author = {Alceu Frigeri}, - date = {2024-01-08}, - version = {1.0}, + date = {2024-01-11}, + version = {1.1}, license = {lppl1.3c,gpl3+}, mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikzdotncross}, url = {https://ctan.org/pkg/tikzdotncross}, @@ -70808,8 +70823,8 @@ title = {The \texttt{tikzquests} package}, subtitle = {A parametric questions’ repositories framework}, author = {Alceu Frigeri}, - date = {2024-01-08}, - version = {1.0}, + date = {2024-01-11}, + version = {1.1}, license = {lppl1.3c,gpl3+}, mirror = {https://mirror.ctan.org/macros/latex/contrib/tikzquests}, url = {https://ctan.org/pkg/tikzquests}, @@ -75649,6 +75664,17 @@ url = {https://ctan.org/pkg/verifiche}, } +@manual{ctan-verifycommand, + title = {The \texttt{verifycommand} package}, + subtitle = {Verifies definitions are unchanged, such as before patching}, + author = {Brian Dunn}, + date = {2024-01-11}, + version = {1.00}, + license = {lppl1.3c}, + mirror = {https://mirror.ctan.org/macros/latex/contrib/verifycommand}, + url = {https://ctan.org/pkg/verifycommand}, +} + @manual{ctan-verse, title = {The \texttt{verse} package}, subtitle = {Aids for typesetting simple verse}, |