1. 22 8月, 2016 1 次提交
    • M
      [media] docs-rst: add tabularcolumns to all tables · 5bd4bb78
      Mauro Carvalho Chehab 提交于
      LaTeX doesn't handle too well auto-width on tables, and ReST
      markup requires an special tag to give it the needed hints.
      
      As we're using A4 paper, we have 17cm of useful spaces. As
      most media tables have widths, let's use it to generate the
      needed via the following perl script:
      
      my ($line_size, $table_header, $has_cols) = (17.5, 0, 0);
      my $out;
      my $header = "";
      my @widths = ();
      sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) }
      while (<>) {
      	if (!$table_header) {
      		$has_cols = 1 if (m/..\s+tabularcolumns::/);
      		if (m/..\s+flat-table::/) {
      			$table_header = 1;
      			$header = $_;
      			next;
      		}
      		$out .= $_;
      		next;
      	}
      	$header .= $_;
      	@widths = split(/ /, $1) if (m/:widths:\s+(.*)/);
      	if (m/^\n$/) {
      		if (!$has_cols && @widths) {
      			my ($tot, $t, $i) = (0, 0, 0);
      			foreach my $v(@widths) { $tot += $v; };
      			$out .= ".. tabularcolumns:: |";
      			for ($i = 0; $i < scalar @widths - 1; $i++) {
      				my $v = $widths[$i];
      				my $w = round(10 * ($v * $line_size) / $tot) / 10;
      				$out .= sprintf "p{%.1fcm}|", $w;
      				$t += $w;
      			}
      			my $w = $line_size - $t;
      			$out .= sprintf "p{%.1fcm}|\n\n", $w;
      		}
      		$out .= $header;
      		$table_header = 0;
      		$has_cols = 0;
      		$header = "";
      		@widths = ();
      	}
      }
      print $out;
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      5bd4bb78
  2. 13 7月, 2016 1 次提交
  3. 08 7月, 2016 1 次提交
  4. 06 7月, 2016 1 次提交
  5. 05 7月, 2016 2 次提交
  6. 04 7月, 2016 2 次提交
  7. 03 7月, 2016 2 次提交
  8. 02 7月, 2016 3 次提交
  9. 01 7月, 2016 1 次提交